From 44498f102ded9a1beefa535ccee95c24d693afa6 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Thu, 24 Feb 2022 19:55:41 -0800 Subject: [PATCH 01/11] .net6ify --- FSharpTests.Directory.Build.props | 6 +- eng/Build.ps1 | 8 +- eng/DumpPackageRoot/DumpPackageRoot.csproj | 2 +- eng/Versions.props | 4 +- eng/build-utils.ps1 | 6 +- eng/build.sh | 8 +- eng/test-determinism.ps1 | 2 +- .../EditorService/EditorService.fsproj | 2 +- proto.proj | 4 +- .../AssemblyCheck/AssemblyCheck.fsproj | 2 +- src/buildtools/fslex/fslex.fsproj | 2 +- src/buildtools/fsyacc/fsyacc.fsproj | 2 +- src/fsharp/FxResolver.fs | 4 +- .../Microsoft.FSharp.Compiler.csproj | 2 +- .../Microsoft.FSharp.Compiler.nuspec | 28 +- src/fsharp/fsc/fsc.fsproj | 4 +- src/fsharp/fsi/fsi.fsproj | 6 +- .../BasicProvider.DesignTime.fsproj | 2 +- .../BasicProvider.Tests.fsproj | 2 +- .../BasicProvider/BasicProvider.fsproj | 2 +- .../BasicProvider/TestBasicProvider.cmd | 8 +- .../ComboProvider.Tests.fsproj | 2 +- .../ComboProvider/ComboProvider.fsproj | 4 +- .../ComboProvider/TestComboProvider.cmd | 8 +- .../FSharp.Build.UnitTests.fsproj | 4 +- .../FSharp.Compiler.ComponentTests.fsproj | 4 +- .../DependencyManagerInteractiveTests.fs | 32 +- ...ompiler.Private.Scripting.UnitTests.fsproj | 4 +- .../FSharp.Compiler.Service.Tests.fsproj | 4 +- .../FSharp.Compiler.UnitTests.fsproj | 14 +- .../FSharp.Core.UnitTests.fsproj | 4 +- tests/FSharp.Test.Utilities/CompilerAssert.fs | 2 +- .../FSharp.Test.Utilities.fsproj | 68 +- tests/FSharp.Test.Utilities/TestFramework.fs | 8 +- tests/FSharp.Test.Utilities/Utilities.fs | 2 +- .../FSharp.Compiler.Benchmarks.fsproj | 2 +- .../benchmarks.ipynb | 4 +- .../MicroPerf/CS/MicroPerfCSharp.csproj | 2 +- tests/benchmarks/MicroPerf/MicroPerf.fsproj | 2 +- tests/benchmarks/TaskPerf/TaskPerf.fsproj | 2 +- .../TaskPerfPreviousCompiler.fsproj | 2 +- tests/fsharp/FSharpSuite.Tests.fsproj | 4 +- .../core/printing/output.1000.stderr.txt | 348 + .../core/printing/output.1000.stdout.txt | 2749 +++++++ .../core/printing/output.200.stderr.txt | 348 + .../core/printing/output.200.stdout.txt | 1994 ++++++ .../fsharp/core/printing/output.47.stderr.txt | 336 + .../fsharp/core/printing/output.47.stdout.txt | 6294 ++++++++++++++++ .../printing/output.legacyemitoff.stderr.txt | 366 + .../printing/output.legacyemitoff.stdout.txt | 6296 +++++++++++++++++ .../core/printing/output.off.stderr.txt | 348 + .../core/printing/output.off.stdout.txt | 1764 +++++ .../core/printing/output.quiet.stderr.txt | 348 + .../core/printing/output.quiet.stdout.txt | 13 + tests/fsharp/core/printing/output.stderr.txt | 348 + tests/fsharp/core/printing/output.stdout.txt | 6296 +++++++++++++++++ tests/fsharp/single-test.fs | 6 +- .../tools/fsharp41/net45/providerDesigner.dll | Bin 70144 -> 71168 bytes .../fsharp41/net461/providerDesigner.dll | Bin 70144 -> 71168 bytes .../fsharp41/net472/providerDesigner.dll | Bin 0 -> 71168 bytes .../tools/fsharp41/net48/providerDesigner.dll | Bin 0 -> 71168 bytes .../netstandard2.0/providerDesigner.dll | Bin 70144 -> 71168 bytes .../fsharp41/net45/providerDesigner.dll | Bin 70144 -> 71168 bytes .../fsharp41/net461/providerDesigner.dll | Bin 70144 -> 71168 bytes .../fsharp41/net472/providerDesigner.dll | Bin 0 -> 71168 bytes .../fsharp41/net48/providerDesigner.dll | Bin 0 -> 71168 bytes .../netstandard2.0/providerDesigner.dll | Bin 70144 -> 71168 bytes .../negTests/MostBasicProvider.pdb | Bin 0 -> 26112 bytes .../negTests/helloWorldProvider.pdb | Bin 0 -> 189952 bytes .../typeProviders/negTests/provider.pdb | Bin 0 -> 245248 bytes .../testenv/src/PEVerify/PEVerify.csproj | 4 +- .../FSharp.ProjectSystem.Base/ProjectNode.cs | 2 +- vsintegration/tests/Directory.Build.props | 10 + vsintegration/tests/Salsa/VsMocks.fs | 4 +- .../tests/UnitTests/AssemblyResolver.fs | 4 +- 75 files changed, 28010 insertions(+), 152 deletions(-) create mode 100644 tests/fsharp/core/printing/output.1000.stderr.txt create mode 100644 tests/fsharp/core/printing/output.1000.stdout.txt create mode 100644 tests/fsharp/core/printing/output.200.stderr.txt create mode 100644 tests/fsharp/core/printing/output.200.stdout.txt create mode 100644 tests/fsharp/core/printing/output.47.stderr.txt create mode 100644 tests/fsharp/core/printing/output.47.stdout.txt create mode 100644 tests/fsharp/core/printing/output.legacyemitoff.stderr.txt create mode 100644 tests/fsharp/core/printing/output.legacyemitoff.stdout.txt create mode 100644 tests/fsharp/core/printing/output.off.stderr.txt create mode 100644 tests/fsharp/core/printing/output.off.stdout.txt create mode 100644 tests/fsharp/core/printing/output.quiet.stderr.txt create mode 100644 tests/fsharp/core/printing/output.quiet.stdout.txt create mode 100644 tests/fsharp/core/printing/output.stderr.txt create mode 100644 tests/fsharp/core/printing/output.stdout.txt create mode 100644 tests/fsharp/tools/fsharp41/net472/providerDesigner.dll create mode 100644 tests/fsharp/tools/fsharp41/net48/providerDesigner.dll create mode 100644 tests/fsharp/typeProviders/fsharp41/net472/providerDesigner.dll create mode 100644 tests/fsharp/typeProviders/fsharp41/net48/providerDesigner.dll create mode 100644 tests/fsharp/typeProviders/negTests/MostBasicProvider.pdb create mode 100644 tests/fsharp/typeProviders/negTests/helloWorldProvider.pdb create mode 100644 tests/fsharp/typeProviders/negTests/provider.pdb create mode 100644 vsintegration/tests/Directory.Build.props diff --git a/FSharpTests.Directory.Build.props b/FSharpTests.Directory.Build.props index 9d9983693af..d191970e303 100644 --- a/FSharpTests.Directory.Build.props +++ b/FSharpTests.Directory.Build.props @@ -22,18 +22,18 @@ $([System.IO.Path]::GetDirectoryName('$(DOTNET_HOST_PATH)')) dotnet.exe dotnet - $(MSBuildThisFileDirectory)artifacts\bin\fsc\$(Configuration)\net5.0\fsc.dll + $(MSBuildThisFileDirectory)artifacts\bin\fsc\$(Configuration)\net6.0\fsc.dll $([System.IO.Path]::GetDirectoryName('$(DOTNET_HOST_PATH)')) dotnet.exe dotnet - $(MSBuildThisFileDirectory)artifacts\bin\fsi\$(Configuration)\net5.0\fsi.dll + $(MSBuildThisFileDirectory)artifacts\bin\fsi\$(Configuration)\net6.0\fsi.dll <_FSharpBuildTargetFramework Condition="'$(MSBuildRuntimeType)'!='Core'">net472 - <_FSharpBuildTargetFramework Condition="'$(MSBuildRuntimeType)'=='Core'">net5.0 + <_FSharpBuildTargetFramework Condition="'$(MSBuildRuntimeType)'=='Core'">net6.0 <_FSharpBuildBinPath>$(MSBuildThisFileDirectory)artifacts\bin\fsc\$(Configuration)\$(_FSharpBuildTargetFramework) $(_FSharpBuildBinPath)\FSharp.Build.dll diff --git a/eng/Build.ps1 b/eng/Build.ps1 index f88e3ea1155..09f20466c31 100644 --- a/eng/Build.ps1 +++ b/eng/Build.ps1 @@ -179,11 +179,11 @@ function Process-Arguments() { function Update-Arguments() { if ($script:noVisualStudio) { - $script:bootstrapTfm = "net5.0" + $script:bootstrapTfm = "net6.0" $script:msbuildEngine = "dotnet" } - if ($bootstrapTfm -eq "net5.0") { + if ($bootstrapTfm -eq "net6.0") { if (-Not (Test-Path "$ArtifactsDir\Bootstrap\fsc\fsc.runtimeconfig.json")) { $script:bootstrap = $True } @@ -204,7 +204,7 @@ function BuildSolution([string] $solutionName) { $officialBuildId = if ($official) { $env:BUILD_BUILDNUMBER } else { "" } $toolsetBuildProj = InitializeToolset $quietRestore = !$ci - $testTargetFrameworks = if ($testCoreClr) { "net5.0" } else { "" } + $testTargetFrameworks = if ($testCoreClr) { "net6.0" } else { "" } # Do not set the property to true explicitly, since that would override value projects might set. $suppressExtensionDeployment = if (!$deployExtensions) { "/p:DeployExtension=false" } else { "" } @@ -477,7 +477,7 @@ try { $script:BuildCategory = "Test" $script:BuildMessage = "Failure running tests" $desktopTargetFramework = "net472" - $coreclrTargetFramework = "net5.0" + $coreclrTargetFramework = "net6.0" if ($testDesktop) { TestUsingXUnit -testProject "$RepoRoot\tests\FSharp.Compiler.ComponentTests\FSharp.Compiler.ComponentTests.fsproj" -targetFramework $desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.ComponentTests\" -noTestFilter $true diff --git a/eng/DumpPackageRoot/DumpPackageRoot.csproj b/eng/DumpPackageRoot/DumpPackageRoot.csproj index 0c94f0a999c..fb030a52306 100644 --- a/eng/DumpPackageRoot/DumpPackageRoot.csproj +++ b/eng/DumpPackageRoot/DumpPackageRoot.csproj @@ -3,7 +3,7 @@ - net5.0 + net6.0 diff --git a/eng/Versions.props b/eng/Versions.props index 5eb2504da56..c777510ee44 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -144,12 +144,12 @@ 2.0.28 $(RoslynVersion) - 16.11 + 17.0.0 $(MicrosoftBuildOverallPackagesVersion) $(MicrosoftBuildOverallPackagesVersion) $(MicrosoftBuildOverallPackagesVersion) $(MicrosoftBuildOverallPackagesVersion) - 17.0.2136-preview2 + 17.1.4054 $(VisualStudioImplementationPackagesVersion) $(VisualStudioImplementationPackagesVersion) diff --git a/eng/build-utils.ps1 b/eng/build-utils.ps1 index 055ddb7a5b6..cc9a68c98db 100644 --- a/eng/build-utils.ps1 +++ b/eng/build-utils.ps1 @@ -251,9 +251,9 @@ function Make-BootstrapBuild() { } Exec-Console $dotnetExe $args - Copy-Item "$ArtifactsDir\bin\fslex\$bootstrapConfiguration\net5.0" -Destination "$dir\fslex" -Force -Recurse - Copy-Item "$ArtifactsDir\bin\fsyacc\$bootstrapConfiguration\net5.0" -Destination "$dir\fsyacc" -Force -Recurse - Copy-Item "$ArtifactsDir\bin\AssemblyCheck\$bootstrapConfiguration\net5.0" -Destination "$dir\AssemblyCheck" -Force -Recurse + Copy-Item "$ArtifactsDir\bin\fslex\$bootstrapConfiguration\net6.0" -Destination "$dir\fslex" -Force -Recurse + Copy-Item "$ArtifactsDir\bin\fsyacc\$bootstrapConfiguration\net6.0" -Destination "$dir\fsyacc" -Force -Recurse + Copy-Item "$ArtifactsDir\bin\AssemblyCheck\$bootstrapConfiguration\net6.0" -Destination "$dir\AssemblyCheck" -Force -Recurse # prepare compiler $protoProject = "`"$RepoRoot\proto.proj`"" diff --git a/eng/build.sh b/eng/build.sh index 6af4222371d..dcf77ccf66b 100755 --- a/eng/build.sh +++ b/eng/build.sh @@ -257,8 +257,8 @@ function BuildSolution { /p:Configuration=$bootstrap_config mkdir -p "$bootstrap_dir" - cp -pr $artifacts_dir/bin/fslex/$bootstrap_config/net5.0 $bootstrap_dir/fslex - cp -pr $artifacts_dir/bin/fsyacc/$bootstrap_config/net5.0 $bootstrap_dir/fsyacc + cp -pr $artifacts_dir/bin/fslex/$bootstrap_config/net6.0 $bootstrap_dir/fslex + cp -pr $artifacts_dir/bin/fsyacc/$bootstrap_config/net6.0 $bootstrap_dir/fsyacc fi if [ ! -f "$bootstrap_dir/fsc.exe" ]; then BuildMessage="Error building bootstrap" @@ -266,7 +266,7 @@ function BuildSolution { /restore \ /p:Configuration=$bootstrap_config - cp -pr $artifacts_dir/bin/fsc/$bootstrap_config/net5.0 $bootstrap_dir/fsc + cp -pr $artifacts_dir/bin/fsc/$bootstrap_config/net6.0 $bootstrap_dir/fsc fi fi @@ -309,7 +309,7 @@ InitializeDotNetCli $restore BuildSolution if [[ "$test_core_clr" == true ]]; then - coreclrtestframework=net5.0 + coreclrtestframework=net6.0 TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj" --targetframework $coreclrtestframework --notestfilter TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj" --targetframework $coreclrtestframework --notestfilter TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.UnitTests/FSharp.Compiler.UnitTests.fsproj" --targetframework $coreclrtestframework diff --git a/eng/test-determinism.ps1 b/eng/test-determinism.ps1 index 0356303cd01..024fe3a605a 100644 --- a/eng/test-determinism.ps1 +++ b/eng/test-determinism.ps1 @@ -379,7 +379,7 @@ try { $script:bootstrapTfm = "net472" if ($script:msbuildEngine -eq "dotnet") { - $script.bootstrapTfm = "net5.0" + $script.bootstrapTfm = "net6.0" } $bootstrapDir = Make-BootstrapBuild diff --git a/fcs-samples/EditorService/EditorService.fsproj b/fcs-samples/EditorService/EditorService.fsproj index 27bdbef249c..70459553b3f 100644 --- a/fcs-samples/EditorService/EditorService.fsproj +++ b/fcs-samples/EditorService/EditorService.fsproj @@ -1,7 +1,7 @@  - $(FcsTargetNetFxFramework);net5.0 + $(FcsTargetNetFxFramework);net6.0 true Exe false diff --git a/proto.proj b/proto.proj index bb077834555..7f24e53a1ab 100644 --- a/proto.proj +++ b/proto.proj @@ -10,10 +10,10 @@ TargetFramework=netstandard2.0 - TargetFramework=net5.0 + TargetFramework=net6.0 - TargetFramework=net5.0 + TargetFramework=net6.0 diff --git a/src/buildtools/AssemblyCheck/AssemblyCheck.fsproj b/src/buildtools/AssemblyCheck/AssemblyCheck.fsproj index 881d4e4fbc0..a7fceb6f70c 100644 --- a/src/buildtools/AssemblyCheck/AssemblyCheck.fsproj +++ b/src/buildtools/AssemblyCheck/AssemblyCheck.fsproj @@ -2,7 +2,7 @@ Exe - net5.0 + net6.0 true false diff --git a/src/buildtools/fslex/fslex.fsproj b/src/buildtools/fslex/fslex.fsproj index 3d63bf6bf25..e3ef463ad59 100644 --- a/src/buildtools/fslex/fslex.fsproj +++ b/src/buildtools/fslex/fslex.fsproj @@ -2,7 +2,7 @@ Exe - net5.0 + net6.0 INTERNALIZED_FSLEXYACC_RUNTIME;$(DefineConstants) true false diff --git a/src/buildtools/fsyacc/fsyacc.fsproj b/src/buildtools/fsyacc/fsyacc.fsproj index 63b63c5dee0..554fea25d47 100644 --- a/src/buildtools/fsyacc/fsyacc.fsproj +++ b/src/buildtools/fsyacc/fsyacc.fsproj @@ -2,7 +2,7 @@ Exe - net5.0 + net6.0 INTERNALIZED_FSLEXYACC_RUNTIME;$(DefineConstants) true false diff --git a/src/fsharp/FxResolver.fs b/src/fsharp/FxResolver.fs index adc3b59417d..a24b3149c5c 100644 --- a/src/fsharp/FxResolver.fs +++ b/src/fsharp/FxResolver.fs @@ -356,8 +356,8 @@ type internal FxResolver(assumeDotNetFramework: bool, projectDir: string, useSdk | -1, _ | _, -1 -> if isRunningOnCoreClr then - // Running on coreclr but no deps.json was deployed with the host so default to 5.0 - Some "net5.0" + // Running on coreclr but no deps.json was deployed with the host so default to 6.0 + Some "net6.0" else // Running on desktop None diff --git a/src/fsharp/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.csproj b/src/fsharp/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.csproj index 845851b0fd4..eaeac80f362 100644 --- a/src/fsharp/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.csproj +++ b/src/fsharp/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.csproj @@ -3,7 +3,7 @@ true Exe - net5.0 + net6.0 Microsoft.FSharp.Compiler.nuspec true .NET Core compatible version of the F# compiler fsc.exe. diff --git a/src/fsharp/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.nuspec b/src/fsharp/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.nuspec index 04642f47ab8..df8fff6e019 100644 --- a/src/fsharp/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.nuspec +++ b/src/fsharp/Microsoft.FSharp.Compiler/Microsoft.FSharp.Compiler.nuspec @@ -4,7 +4,7 @@ $CommonMetadataElements$ en-US - + @@ -26,16 +26,16 @@ this approach gives a very small deployment. Which is kind of necessary. --> - - - - - - + + + + + + + target="lib\net6.0" /> + target="lib\net6.0" /> @@ -46,14 +46,14 @@ - + + target="lib\net6.0" /> - + target="lib\net6.0" /> + + target="lib\net6.0" /> Exe $(ProtoTargetFramework) - net472;net5.0 - net5.0 + net472;net6.0 + net6.0 $(NoWarn);44 $(NoWarn);75 true diff --git a/src/fsharp/fsi/fsi.fsproj b/src/fsharp/fsi/fsi.fsproj index f8928b40b57..39cacc086b5 100644 --- a/src/fsharp/fsi/fsi.fsproj +++ b/src/fsharp/fsi/fsi.fsproj @@ -5,8 +5,8 @@ Exe $(ProtoTargetFramework) - net472;net5.0 - net5.0 + net472;net6.0 + net6.0 $(NoWarn);44 true $(OtherFlags) --warnon:1182 @@ -47,7 +47,7 @@ - + diff --git a/tests/EndToEndBuildTests/BasicProvider/BasicProvider.DesignTime/BasicProvider.DesignTime.fsproj b/tests/EndToEndBuildTests/BasicProvider/BasicProvider.DesignTime/BasicProvider.DesignTime.fsproj index 688fef5eda6..40a1d338863 100644 --- a/tests/EndToEndBuildTests/BasicProvider/BasicProvider.DesignTime/BasicProvider.DesignTime.fsproj +++ b/tests/EndToEndBuildTests/BasicProvider/BasicProvider.DesignTime/BasicProvider.DesignTime.fsproj @@ -2,7 +2,7 @@ Library - net5.0;net472 + net6.0;net472 typeproviders NO_GENERATIVE IS_DESIGNTIME diff --git a/tests/EndToEndBuildTests/BasicProvider/BasicProvider.Tests/BasicProvider.Tests.fsproj b/tests/EndToEndBuildTests/BasicProvider/BasicProvider.Tests/BasicProvider.Tests.fsproj index 5740511daa6..0c0b7bf1599 100644 --- a/tests/EndToEndBuildTests/BasicProvider/BasicProvider.Tests/BasicProvider.Tests.fsproj +++ b/tests/EndToEndBuildTests/BasicProvider/BasicProvider.Tests/BasicProvider.Tests.fsproj @@ -2,7 +2,7 @@ Library - net5.0 + net6.0 $(TestTargetFramework) false NO_GENERATIVE diff --git a/tests/EndToEndBuildTests/BasicProvider/BasicProvider/BasicProvider.fsproj b/tests/EndToEndBuildTests/BasicProvider/BasicProvider/BasicProvider.fsproj index 6d5aac4656a..1de65f297f7 100644 --- a/tests/EndToEndBuildTests/BasicProvider/BasicProvider/BasicProvider.fsproj +++ b/tests/EndToEndBuildTests/BasicProvider/BasicProvider/BasicProvider.fsproj @@ -2,7 +2,7 @@ Library - net5.0;net472 + net6.0;net472 typeproviders $(FSharpCoreShippedPackageVersionValue) typeproviders diff --git a/tests/EndToEndBuildTests/BasicProvider/TestBasicProvider.cmd b/tests/EndToEndBuildTests/BasicProvider/TestBasicProvider.cmd index 2abd059cc48..f7323c64e3c 100644 --- a/tests/EndToEndBuildTests/BasicProvider/TestBasicProvider.cmd +++ b/tests/EndToEndBuildTests/BasicProvider/TestBasicProvider.cmd @@ -42,8 +42,8 @@ echo dotnet test BasicProvider.Tests\BasicProvider.Tests.fsproj -c %configuratio dotnet test BasicProvider.Tests\BasicProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net472 -p:FSharpTestCompilerVersion=net40 if ERRORLEVEL 1 echo Error: TestBasicProvider failed && goto :failure -echo dotnet test BasicProvider.Tests\BasicProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net5.0 -p:FSharpTestCompilerVersion=coreclr - dotnet test BasicProvider.Tests\BasicProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net5.0 -p:FSharpTestCompilerVersion=coreclr +echo dotnet test BasicProvider.Tests\BasicProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net6.0 -p:FSharpTestCompilerVersion=coreclr + dotnet test BasicProvider.Tests\BasicProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net6.0 -p:FSharpTestCompilerVersion=coreclr if ERRORLEVEL 1 echo Error: TestBasicProvider failed && goto :failure rem @@ -60,8 +60,8 @@ echo dotnet test BasicProvider.Tests\BasicProvider.Tests.fsproj -c %configuratio dotnet test BasicProvider.Tests\BasicProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net472 -p:FSharpTestCompilerVersion=net40 if ERRORLEVEL 1 echo Error: TestBasicProvider failed && goto :failure -echo dotnet test BasicProvider.Tests\BasicProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net5.0 -p:FSharpTestCompilerVersion=coreclr - dotnet test BasicProvider.Tests\BasicProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net5.0 -p:FSharpTestCompilerVersion=coreclr +echo dotnet test BasicProvider.Tests\BasicProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net6.0 -p:FSharpTestCompilerVersion=coreclr + dotnet test BasicProvider.Tests\BasicProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net6.0 -p:FSharpTestCompilerVersion=coreclr if ERRORLEVEL 1 echo Error: TestBasicProvider failed && goto :failure :success diff --git a/tests/EndToEndBuildTests/ComboProvider/ComboProvider.Tests/ComboProvider.Tests.fsproj b/tests/EndToEndBuildTests/ComboProvider/ComboProvider.Tests/ComboProvider.Tests.fsproj index 87180cdecf8..ca6383066e8 100644 --- a/tests/EndToEndBuildTests/ComboProvider/ComboProvider.Tests/ComboProvider.Tests.fsproj +++ b/tests/EndToEndBuildTests/ComboProvider/ComboProvider.Tests/ComboProvider.Tests.fsproj @@ -2,7 +2,7 @@ Library - net5.0 + net6.0 $(TestTargetFramework) false $(FSharpCoreShippedPackageVersionValue) diff --git a/tests/EndToEndBuildTests/ComboProvider/ComboProvider/ComboProvider.fsproj b/tests/EndToEndBuildTests/ComboProvider/ComboProvider/ComboProvider.fsproj index ab9487ca0eb..9fd278953c4 100644 --- a/tests/EndToEndBuildTests/ComboProvider/ComboProvider/ComboProvider.fsproj +++ b/tests/EndToEndBuildTests/ComboProvider/ComboProvider/ComboProvider.fsproj @@ -2,9 +2,9 @@ Library - net5.0;net472 + net6.0;net472 $(FSharpCoreShippedPackageVersionValue) - net5.0;net472 + net6.0;net472 diff --git a/tests/EndToEndBuildTests/ComboProvider/TestComboProvider.cmd b/tests/EndToEndBuildTests/ComboProvider/TestComboProvider.cmd index f14f2685652..fc72e514487 100644 --- a/tests/EndToEndBuildTests/ComboProvider/TestComboProvider.cmd +++ b/tests/EndToEndBuildTests/ComboProvider/TestComboProvider.cmd @@ -42,8 +42,8 @@ echo dotnet test ComboProvider.Tests\ComboProvider.Tests.fsproj -c %configuratio dotnet test ComboProvider.Tests\ComboProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net472 -p:FSharpTestCompilerVersion=net40 if ERRORLEVEL 1 echo Error: TestComboProvider failed && goto :failure -echo dotnet test ComboProvider.Tests\ComboProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net5.0 -p:FSharpTestCompilerVersion=coreclr - dotnet test ComboProvider.Tests\ComboProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net5.0 -p:FSharpTestCompilerVersion=coreclr +echo dotnet test ComboProvider.Tests\ComboProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net6.0 -p:FSharpTestCompilerVersion=coreclr + dotnet test ComboProvider.Tests\ComboProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net6.0 -p:FSharpTestCompilerVersion=coreclr if ERRORLEVEL 1 echo Error: TestComboProvider failed && goto :failure rem @@ -60,8 +60,8 @@ echo dotnet test ComboProvider.Tests\ComboProvider.Tests.fsproj -c %configuratio dotnet test ComboProvider.Tests\ComboProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net472 -p:FSharpTestCompilerVersion=net40 if ERRORLEVEL 1 echo Error: TestComboProvider failed && goto :failure -echo dotnet test ComboProvider.Tests\ComboProvider.Tests.fsproj -v %configuration% -p:TestTargetFramework=net5.0 -p:FSharpTestCompilerVersion=coreclr - dotnet test ComboProvider.Tests\ComboProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net5.0 -p:FSharpTestCompilerVersion=coreclr +echo dotnet test ComboProvider.Tests\ComboProvider.Tests.fsproj -v %configuration% -p:TestTargetFramework=net6.0 -p:FSharpTestCompilerVersion=coreclr + dotnet test ComboProvider.Tests\ComboProvider.Tests.fsproj -c %configuration% -v minimal -p:TestTargetFramework=net6.0 -p:FSharpTestCompilerVersion=coreclr if ERRORLEVEL 1 echo Error: TestComboProvider failed && goto :failure :success diff --git a/tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj b/tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj index 2572d28cc62..b9be2d943e5 100644 --- a/tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj +++ b/tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj @@ -3,8 +3,8 @@ - net472;net5.0 - net5.0 + net472;net6.0 + net6.0 Library true nunit diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index b4fd920536c..f8f0e748491 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -2,8 +2,8 @@ - net472;net5.0 - net5.0 + net472;net6.0 + net6.0 Library true false diff --git a/tests/FSharp.Compiler.Private.Scripting.UnitTests/DependencyManagerInteractiveTests.fs b/tests/FSharp.Compiler.Private.Scripting.UnitTests/DependencyManagerInteractiveTests.fs index ade8a343b41..56685626162 100644 --- a/tests/FSharp.Compiler.Private.Scripting.UnitTests/DependencyManagerInteractiveTests.fs +++ b/tests/FSharp.Compiler.Private.Scripting.UnitTests/DependencyManagerInteractiveTests.fs @@ -88,7 +88,7 @@ type DependencyManagerInteractiveTests() = Assert.Equal(1, result.SourceFiles |> Seq.length) Assert.Equal(2, result.Roots |> Seq.length) - let result = dp.Resolve(idm, ".fsx", [|"r", "FSharp.Data,3.3.3"|], reportError, "net5.0") + let result = dp.Resolve(idm, ".fsx", [|"r", "FSharp.Data,3.3.3"|], reportError, "net6.0") Assert.Equal(true, result.Success) Assert.Equal(1, result.Resolutions |> Seq.length) Assert.Equal(1, result.SourceFiles |> Seq.length) @@ -110,7 +110,7 @@ type DependencyManagerInteractiveTests() = let idm = dp.TryFindDependencyManagerByKey(Seq.empty, "", reportError, "nuget") - let result = dp.Resolve(idm, ".fsx", [|"r", "Microsoft.Data.Sqlite, 3.1.8"|], reportError, "net5.0") + let result = dp.Resolve(idm, ".fsx", [|"r", "Microsoft.Data.Sqlite, 3.1.8"|], reportError, "net6.0") Assert.Equal(true, result.Success) Assert.True((result.Resolutions |> Seq.length) > 1) Assert.Equal(1, result.SourceFiles |> Seq.length) @@ -140,7 +140,7 @@ type DependencyManagerInteractiveTests() = Assert.Equal(0, result.SourceFiles |> Seq.length) Assert.Equal(0, result.Roots |> Seq.length) - let result = dp.Resolve(idm, ".fsx", [|"r", "System.Collections.Immutable.DoesNotExist"|], reportError, "net5.0") + let result = dp.Resolve(idm, ".fsx", [|"r", "System.Collections.Immutable.DoesNotExist"|], reportError, "net6.0") Assert.Equal(false, result.Success) Assert.Equal(0, result.Resolutions |> Seq.length) Assert.Equal(0, result.SourceFiles |> Seq.length) @@ -173,7 +173,7 @@ type DependencyManagerInteractiveTests() = Assert.True((result1.Roots |> Seq.head).EndsWith("/fsharp.data/3.3.3/")) Assert.True((result1.Roots |> Seq.last).EndsWith("/microsoft.netframework.referenceassemblies/1.0.0/")) - let result2 = dp1.Resolve(idm1, ".fsx", [|"r", "FSharp.Data,3.3.3"|], reportError, "net5.0") + let result2 = dp1.Resolve(idm1, ".fsx", [|"r", "FSharp.Data,3.3.3"|], reportError, "net6.0") Assert.Equal(true, result2.Success) Assert.Equal(1, result2.Resolutions |> Seq.length) let expected2 = "/netstandard2.0/" @@ -194,7 +194,7 @@ type DependencyManagerInteractiveTests() = Assert.Equal(1, result3.SourceFiles |> Seq.length) Assert.True((result3.Roots |> Seq.head).EndsWith("/system.json/4.6.0/")) - let result4 = dp2.Resolve(idm2, ".fsx", [|"r", "System.Json, Version=4.6.0"|], reportError, "net5.0") + let result4 = dp2.Resolve(idm2, ".fsx", [|"r", "System.Json, Version=4.6.0"|], reportError, "net6.0") Assert.Equal(true, result4.Success) Assert.Equal(1, result4.Resolutions |> Seq.length) let expected4 = "/netstandard2.0/" @@ -230,7 +230,7 @@ type DependencyManagerInteractiveTests() = // Netstandard gets fewer dependencies than desktop, because desktop framework doesn't contain assemblies like System.Memory // Those assemblies must be delivered by nuget for desktop apps - let result2 = dp1.Resolve(idm1, ".fsx", [|"r", "Microsoft.Extensions.Configuration.Abstractions, 3.1.1"|], reportError, "net5.0") + let result2 = dp1.Resolve(idm1, ".fsx", [|"r", "Microsoft.Extensions.Configuration.Abstractions, 3.1.1"|], reportError, "net6.0") Assert.Equal(true, result2.Success) Assert.Equal(2, result2.Resolutions |> Seq.length) let expected = "/netcoreapp3.1/" @@ -287,7 +287,7 @@ TorchSharp.Tensor.LongTensor.From([| 0L .. 100L |]).Device let result = use dp = new DependencyProvider(AssemblyResolutionProbe(assemblyProbingPaths), NativeResolutionProbe(nativeProbingRoots)) let idm = dp.TryFindDependencyManagerByKey(Seq.empty, "", reportError, "nuget") - dp.Resolve(idm, ".fsx", packagemanagerlines, reportError, "net5.0") + dp.Resolve(idm, ".fsx", packagemanagerlines, reportError, "net6.0") Assert.True(result.Success, "resolve failed") @@ -383,7 +383,7 @@ printfn ""%A"" result let result = use dp = new DependencyProvider(NativeResolutionProbe(nativeProbingRoots)) let idm = dp.TryFindDependencyManagerByKey(Seq.empty, "", reportError, "nuget") - dp.Resolve(idm, ".fsx", packagemanagerlines, reportError, "net5.0") + dp.Resolve(idm, ".fsx", packagemanagerlines, reportError, "net6.0") Assert.True(result.Success, "resolve failed") @@ -464,7 +464,7 @@ printfn ""%A"" result let result = use dp = new DependencyProvider(NativeResolutionProbe(nativeProbingRoots)) let idm = dp.TryFindDependencyManagerByKey(Seq.empty, "", reportError, "nuget") - dp.Resolve(idm, ".fsx", packagemanagerlines, reportError, "net5.0") + dp.Resolve(idm, ".fsx", packagemanagerlines, reportError, "net6.0") Assert.True(result.Success, "resolve failed") @@ -521,7 +521,7 @@ x |> Seq.iter(fun r -> let result = use dp = new DependencyProvider(NativeResolutionProbe(nativeProbingRoots)) let idm = dp.TryFindDependencyManagerByKey(Seq.empty, "", reportError, "nuget") - dp.Resolve(idm, ".fsx", packagemanagerlines, reportError, "net5.0") + dp.Resolve(idm, ".fsx", packagemanagerlines, reportError, "net6.0") // Expected: error FS3217: PackageManager can not reference the System Package 'FSharp.Core' Assert.False(result.Success, "resolve succeeded but should have failed") @@ -547,7 +547,7 @@ x |> Seq.iter(fun r -> let result = use dp = new DependencyProvider(NativeResolutionProbe(nativeProbingRoots)) let idm = dp.TryFindDependencyManagerByKey(Seq.empty, "", reportError, "nuget") - dp.Resolve(idm, ".csx", packagemanagerlines, reportError, "net5.0") + dp.Resolve(idm, ".csx", packagemanagerlines, reportError, "net6.0") Assert.True(result.Success, "resolve failed but should have succeeded") @@ -590,7 +590,7 @@ x |> Seq.iter(fun r -> Assert.Equal(1, result.SourceFiles |> Seq.length) Assert.Equal(2, result.Roots |> Seq.length) - let result = dp.Resolve(idm, ".fsx", [|"r", "FSharp.Data,3.3.3"|], reportError, "net5.0") + let result = dp.Resolve(idm, ".fsx", [|"r", "FSharp.Data,3.3.3"|], reportError, "net6.0") Assert.Equal(true, result.Success) Assert.Equal(1, result.Resolutions |> Seq.length) Assert.Equal(1, result.SourceFiles |> Seq.length) @@ -697,7 +697,7 @@ x |> Seq.iter(fun r -> let mutable currentPath:string = null use dp = new DependencyProvider(NativeResolutionProbe(nativeProbingRoots)) let idm = dp.TryFindDependencyManagerByKey(Seq.empty, "", reportError, "nuget") - let result = dp.Resolve(idm, ".fsx", [|"r", "Microsoft.Data.Sqlite,3.1.7"|], reportError, "net5.0") + let result = dp.Resolve(idm, ".fsx", [|"r", "Microsoft.Data.Sqlite,3.1.7"|], reportError, "net6.0") Assert.Equal(true, result.Success) currentPath <- appendSemiColon (Environment.GetEnvironmentVariable("PATH")) finalPath <- appendSemiColon (Environment.GetEnvironmentVariable("PATH")) @@ -819,7 +819,7 @@ x |> Seq.iter(fun r -> ResolvingErrorReport (report) let idm = dp.TryFindDependencyManagerByKey(Seq.empty, "", reportError, "nuget") - let result = dp.Resolve(idm, ".fsx", [|"r", "FSharp.Data,3.3.3"|], reportError, "net5.0", timeout=0) // Fail in 0 milliseconds + let result = dp.Resolve(idm, ".fsx", [|"r", "FSharp.Data,3.3.3"|], reportError, "net6.0", timeout=0) // Fail in 0 milliseconds Assert.Equal(false, result.Success) Assert.Equal(foundCorrectError, true) Assert.Equal(foundWrongError, false) @@ -842,7 +842,7 @@ x |> Seq.iter(fun r -> ResolvingErrorReport (report) let idm = dp.TryFindDependencyManagerByKey(Seq.empty, "", reportError, "nuget") - let result = dp.Resolve(idm, ".fsx", [|"r", "FSharp.Data,3.3.3"; "r", "timeout=0"|], reportError, "net5.0", null, "", "", "", -1) // Wait forever + let result = dp.Resolve(idm, ".fsx", [|"r", "FSharp.Data,3.3.3"; "r", "timeout=0"|], reportError, "net6.0", null, "", "", "", -1) // Wait forever Assert.Equal(false, result.Success) Assert.Equal(foundCorrectError, true) Assert.Equal(foundWrongError, false) @@ -865,7 +865,7 @@ x |> Seq.iter(fun r -> ResolvingErrorReport (report) let idm = dp.TryFindDependencyManagerByKey(Seq.empty, "", reportError, "nuget") - let result = dp.Resolve(idm, ".fsx", [|"r", "FSharp.Data,3.3.3"; "r", "timeout=none"|], reportError, "net5.0", null, "", "", "", -1) // Wait forever + let result = dp.Resolve(idm, ".fsx", [|"r", "FSharp.Data,3.3.3"; "r", "timeout=none"|], reportError, "net6.0", null, "", "", "", -1) // Wait forever Assert.Equal(true, result.Success) Assert.Equal(foundCorrectError, false) Assert.Equal(foundWrongError, false) diff --git a/tests/FSharp.Compiler.Private.Scripting.UnitTests/FSharp.Compiler.Private.Scripting.UnitTests.fsproj b/tests/FSharp.Compiler.Private.Scripting.UnitTests/FSharp.Compiler.Private.Scripting.UnitTests.fsproj index d30dd32729c..ed96b50dd07 100644 --- a/tests/FSharp.Compiler.Private.Scripting.UnitTests/FSharp.Compiler.Private.Scripting.UnitTests.fsproj +++ b/tests/FSharp.Compiler.Private.Scripting.UnitTests/FSharp.Compiler.Private.Scripting.UnitTests.fsproj @@ -2,8 +2,8 @@ - net472;net5.0 - net5.0 + net472;net6.0 + net6.0 Library true xunit diff --git a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj index 4730939bd38..8dc714648c3 100644 --- a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj +++ b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj @@ -2,8 +2,8 @@ Exe - net472;net5.0 - net5.0 + net472;net6.0 + net6.0 $(NoWarn);44;75; true false diff --git a/tests/FSharp.Compiler.UnitTests/FSharp.Compiler.UnitTests.fsproj b/tests/FSharp.Compiler.UnitTests/FSharp.Compiler.UnitTests.fsproj index ee836d5942f..a194e679b4e 100644 --- a/tests/FSharp.Compiler.UnitTests/FSharp.Compiler.UnitTests.fsproj +++ b/tests/FSharp.Compiler.UnitTests/FSharp.Compiler.UnitTests.fsproj @@ -3,19 +3,19 @@ - net472;net5.0 - net5.0 + net472;net6.0 + net6.0 Library true $(DefineConstants);ASSUME_PREVIEW_FSHARP_CORE xunit - - - + + + - + @@ -48,7 +48,7 @@ CompilerService\TokenizerTests.fs - diff --git a/tests/benchmarks/TaskPerf/TaskPerf.fsproj b/tests/benchmarks/TaskPerf/TaskPerf.fsproj index 88e9af5c263..7323269bc9c 100644 --- a/tests/benchmarks/TaskPerf/TaskPerf.fsproj +++ b/tests/benchmarks/TaskPerf/TaskPerf.fsproj @@ -1,7 +1,7 @@  - net5.0 + net6.0 Exe true diff --git a/tests/benchmarks/TaskPerfPreviousCompiler/TaskPerfPreviousCompiler.fsproj b/tests/benchmarks/TaskPerfPreviousCompiler/TaskPerfPreviousCompiler.fsproj index d9446577406..0e0afb083c7 100644 --- a/tests/benchmarks/TaskPerfPreviousCompiler/TaskPerfPreviousCompiler.fsproj +++ b/tests/benchmarks/TaskPerfPreviousCompiler/TaskPerfPreviousCompiler.fsproj @@ -1,7 +1,7 @@  - net5.0 + net6.0 Exe true $(OtherFlags) --define:ASYNC_PERF diff --git a/tests/fsharp/FSharpSuite.Tests.fsproj b/tests/fsharp/FSharpSuite.Tests.fsproj index c2c25724faa..274a88f9cd1 100644 --- a/tests/fsharp/FSharpSuite.Tests.fsproj +++ b/tests/fsharp/FSharpSuite.Tests.fsproj @@ -2,8 +2,8 @@ - net472;net5.0 - net5.0 + net472;net6.0 + net6.0 win-x86;win-x64 $(AssetTargetFallback);portable-net45+win8+wp8+wpa81 true diff --git a/tests/fsharp/core/printing/output.1000.stderr.txt b/tests/fsharp/core/printing/output.1000.stderr.txt new file mode 100644 index 00000000000..6926dcc9f34 --- /dev/null +++ b/tests/fsharp/core/printing/output.1000.stderr.txt @@ -0,0 +1,348 @@ + + #blaaaaaa // blaaaaaa is not a known command;; + ^^^^^^^^^ + +stdin(219,1): warning FS3353: Invalid directive '#blaaaaaa ' + + + type Regression4319_T0 = static member (+-+-+) = "0 arguments";; + -----------------------------------------^^^^^ + +stdin(571,42): warning FS1172: Infix operator member '+-+-+' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1 = static member (+-+-+) x = "1 argument";; + -----------------------------------------^^^^^ + +stdin(572,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1b = static member (+-+-+) (x) = "1 (argument) [brackets make no diff]";; + -----------------------------------------^^^^^ + +stdin(573,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1c = static member (+-+-+) x = let a,b = x in "1 argument, tuple typed from RHS. Still not OK";; + -----------------------------------------^^^^^ + +stdin(574,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1d = static member (+-+-+) (x:int*int) = "1 argument, tuple typed from LHS. Still not OK";; + -----------------------------------------^^^^^ + +stdin(575,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T3 = static member (+-+-+) (x,y,z) = "3 arguments";; + -----------------------------------------^^^^^ + +stdin(577,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(578,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(578,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; + -----------------------------------------^^^^^ + +stdin(579,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; + -----------------------------------------^^^^^ + +stdin(579,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U2 = static member (+-+-+) (x,y) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(580,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(581,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(581,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (:=) = "COLON_EQUALS" + -------------------^^ + +stdin(584,20): warning FS1172: Infix operator member ':=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (:=) = "COLON_EQUALS" + -------------------^^ + +stdin(584,20): warning FS0086: The name '(:=)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (&) = "AMP" + -------------------^ + +stdin(588,20): warning FS1172: Infix operator member '&' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (&) = "AMP" + -------------------^ + +stdin(588,20): warning FS0086: The name '(&)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name 'op_Amp' instead. + + + static member (&^) = "AMP_AMP" + -------------------^^ + +stdin(589,20): warning FS1172: Infix operator member '&^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (=) = "EQUALS" + -------------------^ + +stdin(590,20): warning FS1172: Infix operator member '=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (=) = "EQUALS" + -------------------^ + +stdin(590,20): warning FS0086: The name '(=)' should not be used as a member name. To define equality semantics for a type, override the 'Object.Equals' member. If defining a static member for use from other CLI languages then use the name 'op_Equality' instead. + + + static member (!=) = "INFIX_COMPARE_OP" + -------------------^^ + +stdin(592,20): warning FS1172: Infix operator member '!=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...=) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(596,20): warning FS1172: Infix operator member '...=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...!=) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^^ + +stdin(597,20): warning FS1172: Infix operator member '...!=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...<) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(598,20): warning FS1172: Infix operator member '...<' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...>) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(599,20): warning FS1172: Infix operator member '...>' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ($) = "DOLLAR" + -------------------^ + +stdin(601,20): warning FS1172: Infix operator member '$' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (<) = "LESS" + -------------------^ + +stdin(602,20): warning FS1172: Infix operator member '<' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (<) = "LESS" + -------------------^ + +stdin(602,20): warning FS0086: The name '(<)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name 'op_LessThan' instead. + + + static member (>) = "GREATER" + -------------------^ + +stdin(603,20): warning FS1172: Infix operator member '>' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (>) = "GREATER" + -------------------^ + +stdin(603,20): warning FS0086: The name '(>)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name 'op_GreaterThan' instead. + + + static member (@) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(604,20): warning FS1172: Infix operator member '@' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (@) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(604,20): warning FS0086: The name '(@)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (^) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(605,20): warning FS1172: Infix operator member '^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (^) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(605,20): warning FS0086: The name '(^)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (...@) = "INFIX_AT_HAT_OP" // with $. prefix + -------------------^^^^ + +stdin(606,20): warning FS1172: Infix operator member '...@' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...^) = "INFIX_AT_HAT_OP" // with $. prefix + -------------------^^^^ + +stdin(607,20): warning FS1172: Infix operator member '...^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (%) = "PERCENT_OP" + -------------------^ + +stdin(608,20): warning FS1172: Infix operator member '%' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (-) = "MINUS" + -------------------^ + +stdin(610,20): warning FS1172: Infix operator member '-' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( * ) = "STAR" + --------------------^ + +stdin(611,21): warning FS1172: Infix operator member '*' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (/) = "INFIX_STAR_DIV_MOD_OP" + -------------------^ + +stdin(613,20): warning FS1172: Infix operator member '/' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ...* ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(615,21): warning FS1172: Infix operator member '...*' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( .../ ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(616,21): warning FS1172: Infix operator member '.../' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ...% ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(617,21): warning FS1172: Infix operator member '...%' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ** ) = "INFIX_STAR_STAR_OP" + --------------------^^ + +stdin(618,21): warning FS1172: Infix operator member '**' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + member this.ToString() = "ABC" + ----------------^^^^^^^^ + +stdin(623,17): warning FS0864: This new member hides the abstract member 'System.Object.ToString() : string'. Rename the member or use 'override' instead. + + + let x,f = it, (fun () -> !it);; // this will read from the static storage for 'it' + -------------------------^ + +stdin(643,26): info FS3370: The use of '!' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change '!cell' to 'cell.Value'. + + + x := 3;; + --^^ + +stdin(645,3): info FS3370: The use of ':=' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change 'cell := expr' to 'cell.Value <- expr'. + + + member this.M() = "string" + ----------------^ + +stdin(764,17): error FS0438: Duplicate method. The method 'M' has the same name and signature as another method in type 'ExpectDupMethod'. + + + member this.P = "string" + ----------------^ + +stdin(771,17): error FS0438: Duplicate method. The method 'get_P' has the same name and signature as another method in type 'ExpectDupProperty'. + + + type public IBPublic = interface inherit IAPrivate abstract Q : int end + ------------------^^^^^^^^ + +stdin(778,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBPublic' it is used in. + + + type internal IBInternal = interface inherit IAPrivate abstract Q : int end + ------------------^^^^^^^^^^ + +stdin(783,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBInternal' it is used in. + + + type public IBPublic = interface inherit IAInternal abstract Q : int end + ------------------^^^^^^^^ + +stdin(792,19): error FS0410: The type 'IAInternal' is less accessible than the value, member or type 'IBPublic' it is used in. + + + override x.M(a:string) = 1 + -------------------^ + +stdin(824,20): error FS0361: The override 'M: string -> int' implements more than one abstract slot, e.g. 'abstract Regression4232.D.M: 'U -> int' and 'abstract Regression4232.D.M: 'T -> int' + + + let (|A|B|) (x:int) = A x;; + -----^^^^^ + +stdin(832,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) (x:'a) = A x;; + -----^^^^^ + +stdin(835,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) (p:'a) (x:int) = A p;; + -----^^^^^ + +stdin(838,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) = failwith "" : Choice;; + -----^^^^^ + +stdin(844,6): error FS1209: Active pattern '|A|B|' is not a function + diff --git a/tests/fsharp/core/printing/output.1000.stdout.txt b/tests/fsharp/core/printing/output.1000.stdout.txt new file mode 100644 index 00000000000..6cebad0208a --- /dev/null +++ b/tests/fsharp/core/printing/output.1000.stdout.txt @@ -0,0 +1,2749 @@ + +> val it: unit = () + +> val repeatId: string = "A" + +> val repeatId: string = "B" + +namespace FSI_0005 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile1 = + new: unit -> ClassInFile1 + +namespace FSI_0006 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile1 = + new: unit -> ClassInFile1 + +namespace FSI_0006 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile2 = + new: unit -> ClassInFile2 + +> val x1: seq +val x2: seq +val x3: seq +val f1: System.Windows.Forms.Form = System.Windows.Forms.Form, Text: f1 form +val fs: System.Windows.Forms.Form[] = + [|System.Windows.Forms.Form, Text: fs #0; + System.Windows.Forms.Form, Text: fs #1; + System.Windows.Forms.Form, Text: fs #2; + System.Windows.Forms.Form, Text: fs #3; + System.Windows.Forms.Form, Text: fs #4; + System.Windows.Forms.Form, Text: fs #5; + System.Windows.Forms.Form, Text: fs #6; + System.Windows.Forms.Form, Text: fs #7; + System.Windows.Forms.Form, Text: fs #8; + System.Windows.Forms.Form, Text: fs #9; + System.Windows.Forms.Form, Text: fs #10; + System.Windows.Forms.Form, Text: fs #11; + System.Windows.Forms.Form, Text: fs #12; + System.Windows.Forms.Form, Text: fs #13; + System.Windows.Forms.Form, Text: fs #14; + System.Windows.Forms.Form, Text: fs #15; + System.Windows.Forms.Form, Text: fs #16; + System.Windows.Forms.Form, Text: fs #17; + System.Windows.Forms.Form, Text: fs #18; + System.Windows.Forms.Form, Text: fs #19; + System.Windows.Forms.Form, Text: fs #20; + System.Windows.Forms.Form, Text: fs #21; + System.Windows.Forms.Form, Text: fs #22; + System.Windows.Forms.Form, Text: fs #23; + System.Windows.Forms.Form, Text: fs #24; + System.Windows.Forms.Form, Text: fs #25; + System.Windows.Forms.Form, Text: fs #26; + System.Windows.Forms.Form, Text: fs #27; + System.Windows.Forms.Form, Text: fs #28; + System.Windows.Forms.Form, Text: fs #29; + System.Windows.Forms.Form, Text: fs #30; + System.Windows.Forms.Form, Text: fs #31; + System.Windows.Forms.Form, Text: fs #32; + System.Windows.Forms.Form, Text: fs #33; + System.Windows.Forms.Form, Text: fs #34; + System.Windows.Forms.Form, Text: fs #35; + System.Windows.Forms.Form, Text: fs #36; + System.Windows.Forms.Form, Text: fs #37; + System.Windows.Forms.Form, Text: fs #38; + System.Windows.Forms.Form, Text: fs #39; + System.Windows.Forms.Form, Text: fs #40; + System.Windows.Forms.Form, Text: fs #41; + System.Windows.Forms.Form, Text: fs #42; + System.Windows.Forms.Form, Text: fs #43; + System.Windows.Forms.Form, Text: fs #44; + System.Windows.Forms.Form, Text: fs #45; + System.Windows.Forms.Form, Text: fs #46; + System.Windows.Forms.Form, Text: fs #47; + System.Windows.Forms.Form, Text: fs #48; + System.Windows.Forms.Form, Text: fs #49; + System.Windows.Forms.Form, Text: fs #50; + System.Windows.Forms.Form, Text: fs #51; + System.Windows.Forms.Form, Text: fs #52; + System.Windows.Forms.Form, Text: fs #53; + System.Windows.Forms.Form, Text: fs #54; + System.Windows.Forms.Form, Text: fs #55; + System.Windows.Forms.Form, Text: fs #56; + System.Windows.Forms.Form, Text: fs #57; + System.Windows.Forms.Form, Text: fs #58; + System.Windows.Forms.Form, Text: fs #59; + System.Windows.Forms.Form, Text: fs #60; + System.Windows.Forms.Form, Text: fs #61; + System.Windows.Forms.Form, Text: fs #62; + System.Windows.Forms.Form, Text: fs #63; + System.Windows.Forms.Form, Text: fs #64; + System.Windows.Forms.Form, Text: fs #65; + System.Windows.Forms.Form, Text: fs #66; + System.Windows.Forms.Form, Text: fs #67; + System.Windows.Forms.Form, Text: fs #68; + System.Windows.Forms.Form, Text: fs #69; + System.Windows.Forms.Form, Text: fs #70; + System.Windows.Forms.Form, Text: fs #71; + System.Windows.Forms.Form, Text: fs #72; + System.Windows.Forms.Form, Text: fs #73; + System.Windows.Forms.Form, Text: fs #74; + System.Windows.Forms.Form, Text: fs #75; + System.Windows.Forms.Form, Text: fs #76; + System.Windows.Forms.Form, Text: fs #77; + System.Windows.Forms.Form, Text: fs #78; + System.Windows.Forms.Form, Text: fs #79; + System.Windows.Forms.Form, Text: fs #80; + System.Windows.Forms.Form, Text: fs #81; + System.Windows.Forms.Form, Text: fs #82; + System.Windows.Forms.Form, Text: fs #83; + System.Windows.Forms.Form, Text: fs #84; + System.Windows.Forms.Form, Text: fs #85; + System.Windows.Forms.Form, Text: fs #86; + System.Windows.Forms.Form, Text: fs #87; + System.Windows.Forms.Form, Text: fs #88; + System.Windows.Forms.Form, Text: fs #89; + System.Windows.Forms.Form, Text: fs #90; + System.Windows.Forms.Form, Text: fs #91; + System.Windows.Forms.Form, Text: fs #92; + System.Windows.Forms.Form, Text: fs #93; + System.Windows.Forms.Form, Text: fs #94; + System.Windows.Forms.Form, Text: fs #95; + System.Windows.Forms.Form, Text: fs #96; + System.Windows.Forms.Form, Text: fs #97; + System.Windows.Forms.Form, Text: fs #98; + System.Windows.Forms.Form, Text: fs #99; ...|] +val xs: string list = + ["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; "13"; + "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; "22"; "23"; "24"; "25"; + "26"; "27"; "28"; "29"; "30"; "31"; "32"; "33"; "34"; "35"; "36"; "37"; + "38"; "39"; "40"; "41"; "42"; "43"; "44"; "45"; "46"; "47"; "48"; "49"; + "50"; "51"; "52"; "53"; "54"; "55"; "56"; "57"; "58"; "59"; "60"; "61"; + "62"; "63"; "64"; "65"; "66"; "67"; "68"; "69"; "70"; "71"; "72"; "73"; + "74"; "75"; "76"; "77"; "78"; "79"; "80"; "81"; "82"; "83"; "84"; "85"; + "86"; "87"; "88"; "89"; "90"; "91"; "92"; "93"; "94"; "95"; "96"; "97"; + "98"; "99"; ...] +val xa: string[] = + [|"0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; "13"; + "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; "22"; "23"; "24"; "25"; + "26"; "27"; "28"; "29"; "30"; "31"; "32"; "33"; "34"; "35"; "36"; "37"; + "38"; "39"; "40"; "41"; "42"; "43"; "44"; "45"; "46"; "47"; "48"; "49"; + "50"; "51"; "52"; "53"; "54"; "55"; "56"; "57"; "58"; "59"; "60"; "61"; + "62"; "63"; "64"; "65"; "66"; "67"; "68"; "69"; "70"; "71"; "72"; "73"; + "74"; "75"; "76"; "77"; "78"; "79"; "80"; "81"; "82"; "83"; "84"; "85"; + "86"; "87"; "88"; "89"; "90"; "91"; "92"; "93"; "94"; "95"; "96"; "97"; + "98"; "99"; ...|] +val xa2: string[,] = [["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"] + ["10"; "11"; "12"; "13"; "14"; "15"; "16"; "17"] + ["20"; "21"; "22"; "23"; "24"; "25"; "26"; "27"] + ["30"; "31"; "32"; "33"; "34"; "35"; "36"; "37"] + ["40"; "41"; "42"; "43"; "44"; "45"; "46"; "47"] + ["50"; "51"; "52"; "53"; "54"; "55"; "56"; "57"] + ["60"; "61"; "62"; "63"; "64"; "65"; "66"; "67"] + ["70"; "71"; "72"; "73"; "74"; "75"; "76"; "77"]] +val sxs0: Set = set [] + +> val sxs1: Set = set ["0"] + +> val sxs2: Set = set ["0"; "1"] + +> val sxs3: Set = set ["0"; "1"; "2"] + +> val sxs4: Set = set ["0"; "1"; "2"; "3"] + +> val sxs200: Set = + set ["0"; "1"; "10"; "100"; "101"; "102"; "103"; "104"; "105"; ...] + +> val msxs0: Map = map [] + +> val msxs1: Map = map [(0, "0")] + +> val msxs2: Map = map [(0, "0"); (1, "1")] + +> val msxs3: Map = map [(0, "0"); (1, "1"); (2, "2")] + +> val msxs4: Map = map [(0, "0"); (1, "1"); (2, "2"); (3, "3")] + +> val msxs200: Map = + map + [(0, "0"); (1, "1"); (2, "2"); (3, "3"); (4, "4"); (5, "5"); (6, "6"); + (7, "7"); (8, "8"); ...] + +> module M = + val a: string = "sub-binding" + val b: + (seq * seq * seq * System.Windows.Forms.Form) option * + (string list * string list * string[,]) option = + (Some (, , , System.Windows.Forms.Form, Text: f1 form), + Some + (["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; + "13"; "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; "22"; "23"; + "24"; "25"; "26"; "27"; "28"; "29"; "30"; "31"; "32"; "33"; "34"; + "35"; "36"; "37"; "38"; "39"; "40"; "41"; "42"; "43"; "44"; "45"; + "46"; "47"; "48"; "49"; "50"; "51"; "52"; "53"; "54"; "55"; "56"; + "57"; "58"; "59"; "60"; "61"; "62"; "63"; "64"; "65"; "66"; "67"; + "68"; "69"; "70"; "71"; "72"; "73"; "74"; "75"; "76"; "77"; "78"; + "79"; "80"; "81"; "82"; "83"; "84"; "85"; "86"; "87"; "88"; "89"; + "90"; "91"; "92"; "93"; "94"; "95"; "96"; ...], ..., ...)) +type T = + new: a: int * b: int -> T + member AMethod: x: int -> int + static member StaticMethod: x: int -> int + member AProperty: int + static member StaticProperty: int +val f_as_method: x: int -> int +val f_as_thunk: (int -> int) +val refCell: string ref = { contents = "value" } +module D1 = + val words: System.Collections.Generic.IDictionary + val words2000: System.Collections.Generic.IDictionary + +> > module D2 = + val words: IDictionary + val words2000: IDictionary +val opt1: 'a option +val opt1b: int option = None +val opt4: 'a option option option option +val opt4b: int option option option option = Some (Some (Some None)) +val opt5: int list option option option option option list = + [Some (Some (Some (Some None))); + Some (Some (Some (Some (Some [1; 2; 3; 4; 5; 6])))); + Some + (Some + (Some + (Some + (Some + [1; 2; 3; 4; 5; 6; 7; 8; 9; 0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 1; + 2; 3; 4; 5; 6; 7; 8; 9; 1; 2; 3; 4; 5; 6; 7; 8; 9; 1; 2; 3; + 4; 5; 6; 7; 8; 9; 1; 2; 3; 4; 5; 6; 7; 8; 9; 0]))))] +val mkStr: n: int -> string +val strs: string[] = + [|""; "-"; "--"; "---"; "----"; "-----"; "------"; "-------"; "--------"; + "---------"; "----------"; "-----------"; "------------"; "-------------"; + "--------------"; "---------------"; "----------------"; + "-----------------"; "------------------"; "-------------------"; + "--------------------"; "---------------------"; "----------------------"; + "-----------------------"; "------------------------"; + "-------------------------"; "--------------------------"; + "---------------------------"; "----------------------------"; + "-----------------------------"; "------------------------------"; + "-------------------------------"; "--------------------------------"; + "---------------------------------"; "----------------------------------"; + "-----------------------------------"; + "------------------------------------"; + "-------------------------------------"; + "--------------------------------------"; + "---------------------------------------"; + "----------------------------------------"; + "-----------------------------------------"; + "------------------------------------------"; + "-------------------------------------------"; + "--------------------------------------------"; + "---------------------------------------------"; + "----------------------------------------------"; + "-----------------------------------------------"; + "------------------------------------------------"; + "-------------------------------------------------"; + "--------------------------------------------------"; + "---------------------------------------------------"; + "----------------------------------------------------"; + "-----------------------------------------------------"; + "------------------------------------------------------"; + "-------------------------------------------------------"; + "--------------------------------------------------------"; + "---------------------------------------------------------"; + "----------------------------------------------------------"; + "-----------------------------------------------------------"; + "------------------------------------------------------------"; + "-------------------------------------------------------------"; + "--------------------------------------------------------------"; + "---------------------------------------------------------------"; + "----------------------------------------------------------------"; + "-----------------------------------------------------------------"; + "------------------------------------------------------------------"; + "-------------------------------------------------------------------"; + "--------------------------------------------------------------------"; + "---------------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-----------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[12 chars]; + "-------------------------------------------------------------"+[13 chars]; + "-------------------------------------------------------------"+[14 chars]; + "-------------------------------------------------------------"+[15 chars]; + "-------------------------------------------------------------"+[16 chars]; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[18 chars]; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[20 chars]; + "-------------------------------------------------------------"+[21 chars]; + "-------------------------------------------------------------"+[22 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[24 chars]; + "-------------------------------------------------------------"+[25 chars]; + "-------------------------------------------------------------"+[26 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[28 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[30 chars]; + "-------------------------------------------------------------"+[31 chars]; + "-------------------------------------------------------------"+[32 chars]; + "-------------------------------------------------------------"+[33 chars]; + "-------------------------------------------------------------"+[34 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[36 chars]; + "-------------------------------------------------------------"+[37 chars]; + "-------------------------------------------------------------"+[38 chars]; + ...|] +val str7s: string[] = + [|""; "-------"; "--------------"; "---------------------"; + "----------------------------"; "-----------------------------------"; + "------------------------------------------"; + "-------------------------------------------------"; + "--------------------------------------------------------"; + "---------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[16 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[30 chars]; + "-------------------------------------------------------------"+[37 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[58 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[72 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[86 chars]; + "-------------------------------------------------------------"+[93 chars]; + "-------------------------------------------------------------"+[100 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[114 chars]; + "-------------------------------------------------------------"+[121 chars]; + "-------------------------------------------------------------"+[128 chars]; + "-------------------------------------------------------------"+[135 chars]; + "-------------------------------------------------------------"+[142 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[156 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[170 chars]; + "-------------------------------------------------------------"+[177 chars]; + "-------------------------------------------------------------"+[184 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[198 chars]; + "-------------------------------------------------------------"+[205 chars]; + "-------------------------------------------------------------"+[212 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[226 chars]; + "-------------------------------------------------------------"+[233 chars]; + "-------------------------------------------------------------"+[240 chars]; + "-------------------------------------------------------------"+[247 chars]; + "-------------------------------------------------------------"+[254 chars]; + "-------------------------------------------------------------"+[261 chars]; + "-------------------------------------------------------------"+[268 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[282 chars]; + "-------------------------------------------------------------"+[289 chars]; + "-------------------------------------------------------------"+[296 chars]; + "-------------------------------------------------------------"+[303 chars]; + "-------------------------------------------------------------"+[310 chars]; + "-------------------------------------------------------------"+[317 chars]; + "-------------------------------------------------------------"+[324 chars]; + "-------------------------------------------------------------"+[331 chars]; + "-------------------------------------------------------------"+[338 chars]; + "-------------------------------------------------------------"+[345 chars]; + "-------------------------------------------------------------"+[352 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[366 chars]; + "-------------------------------------------------------------"+[373 chars]; + "-------------------------------------------------------------"+[380 chars]; + "-------------------------------------------------------------"+[387 chars]; + "-------------------------------------------------------------"+[394 chars]; + "-------------------------------------------------------------"+[401 chars]; + "-------------------------------------------------------------"+[408 chars]; + "-------------------------------------------------------------"+[415 chars]; + "-------------------------------------------------------------"+[422 chars]; + "-------------------------------------------------------------"+[429 chars]; + "-------------------------------------------------------------"+[436 chars]; + "-------------------------------------------------------------"+[443 chars]; + "-------------------------------------------------------------"+[450 chars]; + "-------------------------------------------------------------"+[457 chars]; + "-------------------------------------------------------------"+[464 chars]; + "-------------------------------------------------------------"+[471 chars]; + "-------------------------------------------------------------"+[478 chars]; + "-------------------------------------------------------------"+[485 chars]; + "-------------------------------------------------------------"+[492 chars]; + "-------------------------------------------------------------"+[499 chars]; + "-------------------------------------------------------------"+[506 chars]; + "-------------------------------------------------------------"+[513 chars]; + "-------------------------------------------------------------"+[520 chars]; + "-------------------------------------------------------------"+[527 chars]; + "-------------------------------------------------------------"+[534 chars]; + "-------------------------------------------------------------"+[541 chars]; + "-------------------------------------------------------------"+[548 chars]; + "-------------------------------------------------------------"+[555 chars]; + "-------------------------------------------------------------"+[562 chars]; + "-------------------------------------------------------------"+[569 chars]; + "-------------------------------------------------------------"+[576 chars]; + "-------------------------------------------------------------"+[583 chars]; + "-------------------------------------------------------------"+[590 chars]; + "-------------------------------------------------------------"+[597 chars]; + "-------------------------------------------------------------"+[604 chars]; + "-------------------------------------------------------------"+[611 chars]; + "-------------------------------------------------------------"+[618 chars]; + "-------------------------------------------------------------"+[625 chars]; + "-------------------------------------------------------------"+[632 chars]; + ...|] +val grids: string[,] = + [[""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; + ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; + ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""] + [""; "-"; "--"; "---"; "----"; "-----"; "------"; "-------"; "--------"; + "---------"; "----------"; "-----------"; "------------"; "-------------"; + "--------------"; "---------------"; "----------------"; + "-----------------"; "------------------"; "-------------------"; + "--------------------"; "---------------------"; "----------------------"; + "-----------------------"; "------------------------"; + "-------------------------"; "--------------------------"; + "---------------------------"; "----------------------------"; + "-----------------------------"; "------------------------------"; + "-------------------------------"; "--------------------------------"; + "---------------------------------"; "----------------------------------"; + "-----------------------------------"; + "------------------------------------"; + "-------------------------------------"; + "--------------------------------------"; + "---------------------------------------"; + "----------------------------------------"; + "-----------------------------------------"; + "------------------------------------------"; + "-------------------------------------------"; + "--------------------------------------------"; + "---------------------------------------------"; + "----------------------------------------------"; + "-----------------------------------------------"; + "------------------------------------------------"; + "-------------------------------------------------"; ...] + ...] + +> type tree = + | L + | N of tree list +val mkT: w: int -> d: int -> tree +val tree: w: int -> d: int -> tree + +> [Building 2 4...done] +val tree_2_4: tree = + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]] + +> [Building 2 6...done] +val tree_2_6: tree = + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N ...; ...]; ...]; ...]; ...]; ...] + +> [Building 2 8...done] +val tree_2_8: tree = + N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N ...; ...]; ...]; ...]; ...]; ...] + +> [Building 2 10...done] +val tree_2_10: tree = + N [N [N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L; ...]; ...]; ...]; ...]; ...]; + ...]; ...]; ...]; ...]; ...] + +> [Building 2 12...done] +val tree_2_12: tree = + N [N [N [N [N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N ...; ...]; ...]; ...]; ...]; + ...]; ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 2 14...done] +val tree_2_14: tree = + N [N [N [N [N [N [N [N [N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; ...]; ...]; ...]; ...]; ...]; + ...]; ...]; ...]; ...]; ...]; ...]; ...]; ...]; + ...] + +> [Building 3 8...done] +val tree_3_8: tree = + N [N [N [N [N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; N ...; ...]; + ...]; ...]; ...]; ...]; ...] + +> [Building 4 8...done] +val tree_4_8: tree = + N [N [N [N [N [N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; ...]; ...]; ...]; ...]; ...]; + ...]; ...]; ...] + +> [Building 5 8...done] +val tree_5_8: tree = + N [N [N [N [N [N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; N ...; ...]; ...]; + ...]; ...]; ...]; ...] + +> [Building 6 8...done] +val tree_6_8: tree = + N [N [N [N [N [N [N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L; ...]; ...]; ...]; ...]; ...]; ...]; + ...]; ...] + +> [Building 5 3...done] +val tree_5_3: tree = + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; N [N [L; L; L; L; ...]; ...]; + ...] + +> > type X = + | Var of int + | Bop of int * X * X +val generate: x: int -> X + +> val exps: X list = + [Bop (1, Var 0, Var 0); Var 2; + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)); Var 4; + Bop (5, Var 2, Bop (1, Var 0, Var 0)); Var 6; + Bop (7, Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)), Var 2); + Var 8; + Bop (9, Var 4, Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0))); + Var 10; + Bop + (213, Var 106, + Bop + (71, + Bop + (35, Bop (17, Var 8, Bop (5, Var 2, Bop (1, Var 0, Var 0))), + Bop (11, ..., ...)), ...)); ...] + +> module Exprs = + val x1: X = + Bop + (213, Var 106, + Bop + (71, + Bop + (35, Bop (17, Var 8, Bop (5, Var 2, Bop (1, Var 0, Var 0))), + Bop + (11, Bop (5, Var 2, Bop (1, Var 0, Var 0)), + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)))), + Bop + (23, + Bop + (11, Bop (5, Var 2, Bop (1, Var 0, Var 0)), + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0))), + Bop + (7, Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)), + Var 2)))) + val x2: X = Var 21342314 + val x3: X = Var 3214 + val x4: X = Bop (1231357, Var 615678, Var 410452) + val x5: X = + Bop + (5234547, Bop (2617273, Var 1308636, Var 872424), + Bop (1744849, Var 872424, Var 581616)) + val x6: X = + Bop + (923759825, Var 461879912, Bop (307919941, Var 153959970, Var 102639980)) + val x7: X = Var 2435234 + val x8: X = + Bop + (12396777, Var 6198388, + Bop + (4132259, + Bop + (2066129, Var 1033064, + Bop + (688709, Var 344354, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502))))), + Bop + (1377419, + Bop + (688709, Var 344354, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop (25507, ..., ...)))), ...))) + val x9: X = + Bop + (3333333, Var 1666666, + Bop + (1111111, + Bop + (555555, Bop (277777, Var 138888, Var 92592), + Bop (185185, Var 92592, Var 61728)), Var 370370)) + val x10: X = + Bop + (1312311237, Var 656155618, + Bop + (437437079, + Bop + (218718539, + Bop + (109359269, Var 54679634, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop + (781, Var 390, Var 260)), + Var 1562), ...), ...), ...)), + ...))), ...)))), ...), ...)) + val x11: X = + Bop + (2147483647, + Bop + (1073741823, + Bop + (536870911, + Bop + (268435455, + Bop + (134217727, + Bop + (67108863, + Bop + (33554431, + Bop + (16777215, + Bop + (8388607, + Bop + (4194303, + Bop + (2097151, + Bop + (1048575, + Bop + (524287, + Bop + (262143, + Bop + (131071, + Bop + (65535, + Bop + (32767, + Bop + (16383, + Bop + (8191, + Bop + (4095, + Bop + (2047, + Bop + (1023, + Bop + (511, + Bop + (255, + Bop + (127, + Bop + (63, + Bop + (31, + Bop + (15, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var + 2), + Bop + (5, + Var + 2, + Bop + (1, + Var + 0, + Var + 0))), + Var + 10), + Bop + (21, + Var + 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + ...), + ...))), + ...), + ...), + ...), + ...), + ...), ...), + ...), ...), ...), + ...), ...), ...), ...), + ...), ...), ...), ...), ...), ...), + ...), ...), ...), ...), ...), ...) + +> type C = + new: x: string -> C + override ToString: unit -> string +val c1: C = +val csA: C[] = + [|; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; ...|] +val csB: C[] = + [|; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; ...|] +val csC: C[] = + [|; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; ...|] + +> exception Abc + +> exception AbcInt of int + +> exception AbcString of string + +> exception AbcExn of exn list + +> exception AbcException of System.Exception list + +> val exA1: exn = Abc +val exA2: exn = AbcInt 2 +val exA3: exn = AbcString "3" +val exA4: exn = AbcExn [Abc; AbcInt 2; AbcString "3"] +val exA5: exn = AbcException [AbcExn [Abc; AbcInt 2; AbcString "3"]] +exception Ex0 +exception ExUnit of unit +exception ExUnits of unit * unit +exception ExUnitOption of unit option +val ex0: exn = Ex0 +val exU: exn = ExUnit () +val exUs: exn = ExUnits ((), ()) +val exUSome: exn = ExUnitOption (Some ()) +val exUNone: exn = ExUnitOption None +type 'a T4063 = | AT4063 of 'a + +> val valAT3063_12: int T4063 = AT4063 12 + +> val valAT3063_True: bool T4063 = AT4063 true + +> val valAT3063_text: string T4063 = AT4063 "text" + +> val valAT3063_null: System.Object T4063 = AT4063 null + +> type M4063<'a> = + new: x: 'a -> M4063<'a> + +> val v4063: M4063 + +> type Taaaaa<'a> = + new: unit -> Taaaaa<'a> + +> type Taaaaa2<'a> = + inherit Taaaaa<'a> + new: unit -> Taaaaa2<'a> + member M: unit -> Taaaaa2<'a> + +> type Tbbbbb<'a> = + new: x: 'a -> Tbbbbb<'a> + member M: unit -> 'a + +> type Tbbbbb2 = + inherit Tbbbbb + new: x: string -> Tbbbbb2 + +> val it: (unit -> string) = + +> module RepeatedModule = + val repeatedByteLiteral: byte[] = [|12uy; 13uy; 14uy|] + +> module RepeatedModule = + val repeatedByteLiteral: byte[] = [|12uy; 13uy; 14uy|] + +> val it: string = "Check #help" + +> + F# Interactive directives: + + #r "file.dll";; // Reference (dynamically load) the given DLL + #i "package source uri";; // Include package source uri when searching for packages + #I "path";; // Add the given search path for referenced DLLs + #load "file.fs" ...;; // Load the given file(s) as if compiled and referenced + #time ["on"|"off"];; // Toggle timing on/off + #help;; // Display help + #r "nuget:FSharp.Data, 3.1.2";; // Load Nuget Package 'FSharp.Data' version '3.1.2' + #r "nuget:FSharp.Data";; // Load Nuget Package 'FSharp.Data' with the highest version + #quit;; // Exit + + F# Interactive command line options: + + + +> val it: string = "Check #time on and then off" + +> +--> Timing now on + +> +--> Timing now off + +> val it: string = "Check #unknown command" + +> val it: string = + "Check #I with a known directory (to avoid a warning, which includes the location of this file, which is fragile...)" + +> +--> Added '/' to library include path + +> type internal T1 = + | A + | B + +> type internal T2 = + { x: int } + +> type internal T3 + +> type internal T4 = + new: unit -> T4 + +> type T1 = + internal | A + | B + +> type T2 = + internal { x: int } + +> type private T1 = + | A + | B + +> type private T2 = + { x: int } + +> type T1 = + private | A + | B + +> type T2 = + private { x: int } + +> type internal T1 = + private | A + | B + +> type internal T2 = + private { x: int } + +> type private T3 + +> type private T4 = + new: unit -> T4 + +> exception X1 of int + +> exception private X2 of int + +> exception internal X3 of int + +> type T0 = + new: unit -> T0 +type T1Post<'a> = + new: unit -> T1Post<'a> +type 'a T1Pre = + new: unit -> 'a T1Pre + +> type T0 with + member M: unit -> T0 list +type T0 with + member P: T0 * T0 +type T0 with + member E: IEvent + +> type T1Post<'a> with + member M: unit -> T1Post<'a> list +type T1Post<'a> with + member P: T1Post<'a> * T1Post<'a> +type T1Post<'a> with + member E: IEvent + +> type 'a T1Pre with + member M: unit -> 'a T1Pre list +type 'a T1Pre with + member P: 'a T1Pre * 'a T1Pre +type 'a T1Pre with + member E: IEvent + +> type T1Post<'a> with + member M: unit -> T1Post<'a> list +type T1Post<'a> with + member P: T1Post<'a> * T1Post<'a> +type T1Post<'a> with + member E: IEvent + +> type 'a T1Pre with + member M: unit -> 'a T1Pre list +type 'a T1Pre with + member P: 'a T1Pre * 'a T1Pre +type 'a T1Pre with + member E: IEvent + +> type r = + { + f0: int + f1: int + f2: int + f3: int + f4: int + f5: int + f6: int + f7: int + f8: int + f9: int + } +val r10: r = { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 } +val r10s: r[] = + [|{ f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; ...|] +val r10s': string * r[] = + ("one extra node", + [|{ f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = ... }; ...|]) + +> val x1564_A1: int = 1 + + +--> Added '\' to library include path + +val x1564_A2: int = 2 + + +--> Added '\' to library include path + +val x1564_A3: int = 3 + +> type internal Foo2 = + private new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member private Prop3: int + +> module internal InternalM = + val x: int = 1 + type Foo2 = + private new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member private Prop3: int + type private Foo3 = + new: x: int * y: int * z: int -> Foo3 + 3 overloads + member Prop1: int + member Prop2: int + member Prop3: int + type T1 = + | A + | B + type T2 = + { x: int } + type T3 + type T4 = + new: unit -> T4 + type T5 = + | A + | B + type T6 = + { x: int } + type private T7 = + | A + | B + type private T8 = + { x: int } + type T9 = + private | A + | B + type T10 = + private { x: int } + type T11 = + private | A + | B + type T12 = + private { x: int } + type private T13 + type private T14 = + new: unit -> T14 +module internal PrivateM = + val private x: int = 1 + type private Foo2 = + new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member Prop3: int + type T1 = + | A + | B + type T2 = + { x: int } + type T3 + type T4 = + new: unit -> T4 + type T5 = + | A + | B + type T6 = + { x: int } + type private T7 = + | A + | B + type private T8 = + { x: int } + type T9 = + private | A + | B + type T10 = + private { x: int } + type T11 = + private | A + | B + type T12 = + private { x: int } + type private T13 + type private T14 = + new: unit -> T14 + +> val it: seq = + seq + [(43, "10/28/2008", 1); (46, "11/18/2008", 1); (56, "1/27/2009", 2); + (58, "2/10/2009", 1)] + +> module Test4343a = + val mk: i: int -> string + val x100: string = + "0123456789012345678901234567890123456789012345678901234567890"+[39 chars] + val x90: string = + "0123456789012345678901234567890123456789012345678901234567890"+[29 chars] + val x80: string = + "0123456789012345678901234567890123456789012345678901234567890"+[19 chars] + val x75: string = + "0123456789012345678901234567890123456789012345678901234567890"+[14 chars] + val x74: string = + "0123456789012345678901234567890123456789012345678901234567890"+[13 chars] + val x73: string = + "0123456789012345678901234567890123456789012345678901234567890"+[12 chars] + val x72: string = + "012345678901234567890123456789012345678901234567890123456789012345678901" + val x71: string = + "01234567890123456789012345678901234567890123456789012345678901234567890" + val x70: string = + "0123456789012345678901234567890123456789012345678901234567890123456789" +module Test4343b = + val fA: x: int -> int + val fB: x: 'a -> y: 'a -> 'a list + val gA: (int -> int) + val gB: ('a -> 'a -> 'a list) + val gAB: (int -> int) * ('a -> 'a -> 'a list) + val hB: ('a -> 'a -> 'a list) + val hA: (int -> int) +module Test4343c = + val typename<'a> : string + val typename2<'a> : string * string +module Test4343d = + val xList: int list = [1; 2; 3] + val xArray: int[] = [|1; 2; 3|] + val xString: string = "abcdef" + val xOption: int option = Some 12 + val xArray2: (int * int)[,] = [[(0, 0); (0, 1)] + [(1, 0); (1, 1)]] + val xSeq: seq +module Test4343e = + type C = + new: x: int -> C + val cA: C + val cB: C + val cAB: C * C * C list = + (FSI_0091+Test4343e+C, FSI_0091+Test4343e+C, + [FSI_0091+Test4343e+C; FSI_0091+Test4343e+C]) + type D = + new: x: int -> D + override ToString: unit -> string + val dA: D = D(1) + val dB: D = D(2) + val dAB: D * D * D list = (D(1), D(2), [D(1); D(2)]) + module Generic = + type CGeneric<'a> = + new: x: 'a -> CGeneric<'a> + val cA: C + val cB: C + val cAB: C * C * C list = + (FSI_0091+Test4343e+C, FSI_0091+Test4343e+C, + [FSI_0091+Test4343e+C; FSI_0091+Test4343e+C]) + type D<'a> = + new: x: 'a -> D<'a> + override ToString: unit -> string + val dA: D = D(1) + val dB: D = D(2) + val dAB: D * D * D list = (D(1), D(2), [D(1); D(2)]) + val dC: D = D(True) + val boxed_dABC: obj list = [D(1); D(2); D(True)] +type F1 = + inherit System.Windows.Forms.Form + interface System.IDisposable + val x: F1 + val x2: F1 + member B: unit -> int + member D: x: int -> int + 2 overloads + abstract MMM: bool -> bool + override ToString: unit -> string + static member A: unit -> int + static member C: unit -> int + abstract AAA: int + abstract BBB: bool with set + member D2: int + member E: int + abstract ZZZ: int + static val mutable private sx: F1 + static val mutable private sx2: F1 +[] +type IP = + new: x: int * y: int -> IP + static val mutable private AA: IP +module Regression4643 = + [] + type RIP = + new: x: int -> RIP + static val mutable private y: RIP + [] + type arg_unused_is_RIP = + new: x: RIP -> arg_unused_is_RIP + [] + type arg_used_is_RIP = + new: x: RIP -> arg_used_is_RIP + member X: RIP + [] + type field_is_RIP = + val x: RIP +type Either<'a,'b> = + | This of 'a + | That of 'b +val catch: f: (unit -> 'a) -> Either<'a,(string * string)> +val seqFindIndexFailure: Either = + That + ("System.Collections.Generic.KeyNotFoundException", + "An index satisfying the predicate was not found in the collection.") +val seqFindFailure: Either = + That + ("System.Collections.Generic.KeyNotFoundException", + "An index satisfying the predicate was not found in the collection.") +val seqPickFailure: Either = + That + ("System.Collections.Generic.KeyNotFoundException", + "An index satisfying the predicate was not found in the collection.") +module Regression5218 = + val t1: int = 1 + val t2: int * int = (1, 2) + val t3: int * int * int = (1, 2, 3) + val t4: int * int * int * int = (1, 2, 3, 4) + val t5: int * int * int * int * int = (1, 2, 3, 4, 5) + val t6: int * int * int * int * int * int = (1, 2, 3, 4, 5, 6) + val t7: int * int * int * int * int * int * int = (1, 2, 3, 4, 5, 6, 7) + val t8: int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8) + val t9: int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9) + val t10: int * int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + val t11: int * int * int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11) + val t12: + int * int * int * int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) + val t13: + int * int * int * int * int * int * int * int * int * int * int * int * + int = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13) + val t14: + int * int * int * int * int * int * int * int * int * int * int * int * + int * int = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) + val t15: + int * int * int * int * int * int * int * int * int * int * int * int * + int * int * int = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15) + +> module Regression3739 = + type IB = + abstract AbstractMember: int -> int + type C<'a when 'a :> IB> = + new: unit -> C<'a> + static member StaticMember: x: 'a -> int + +> module Regression3739 = + type IB = + abstract AbstractMember: int -> int + type C<'a when 'a :> IB> = + new: unit -> C<'a> + static member StaticMember: x: 'a -> int + +> module Regression3740 = + type Writer<'a> = + abstract get_path: unit -> string + type MyClass = + interface Writer + val path: string + +> type Regression4319_T2 = + static member (+-+-+) : x: 'a * y: 'b -> string + +> type Regression4319_T0 = + static member (+-+-+) : string + +> type Regression4319_T1 = + static member (+-+-+) : x: 'a -> string + +> type Regression4319_T1b = + static member (+-+-+) : x: 'a -> string + +> type Regression4319_T1c = + static member (+-+-+) : x: ('a * 'b) -> string + +> type Regression4319_T1d = + static member (+-+-+) : x: (int * int) -> string + +> type Regression4319_T3 = + static member (+-+-+) : x: 'a * y: 'b * z: 'c -> string + +> type Regression4319_U1 = + static member (+-+-+) : x: 'a -> moreArgs: 'b -> string + +> type Regression4319_U1b = + static member (+-+-+) : x: 'a -> moreArgs: 'b -> string + +> type Regression4319_U2 = + static member (+-+-+) : x: 'a * y: 'b -> moreArgs: 'c -> string + +> type Regression4319_U3 = + static member (+-+-+) : x: 'a * y: 'b * z: 'c -> moreArgs: 'd -> string + +> type Regression4319_check = + static member (&) : string + static member (&^) : string + static member (@) : string + static member (!=) : string + static member (:=) : string + static member (^) : string + static member (/) : string + static member ($) : string + static member (...@) : string + static member (...!=) : string + static member (.../) : string + static member (...=) : string + static member (...>) : string + static member (...^) : string + static member (...<) : string + static member ( ...* ) : string + static member (...%) : string + static member (=) : string + static member ( ** ) : string + static member (>) : string + static member (<) : string + static member (%) : string + static member ( * ) : string + static member (-) : string + +> Expect ABC = ABC +type Regression4469 = + new: unit -> Regression4469 + member ToString: unit -> string +val r4469: Regression4469 = FSI_0107+Regression4469 +val it: unit = () + +> Expect ABC = ABC +val it: unit = () + +> module Regression1019_short = + val double_nan: float = nan + val double_infinity: float = infinity + val single_nan: float32 = nanf + val single_infinity: float32 = infinityf +module Regression1019_long = + val double_nan: float = nan + val double_infinity: float = infinity + val single_nan: float32 = nanf + val single_infinity: float32 = infinityf + +> val it: int ref = { contents = 1 } + +> val x: int ref = { contents = 1 } +val f: (unit -> int) + +> val it: int = 1 + +> val it: unit = () + +> val it: int = 3 + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: 'a list + +> val it: 'a list list + +> val it: 'a option + +> val it: 'a list * 'b list + +> val it: x: 'a -> 'a + +> val fff: x: 'a -> 'a + +> val it: ('a -> 'a) + +> val note_ExpectDupMethod: string = + "Regression4927: Expect error due to duplicate methods in the "+[20 chars] + +> > val note_ExpectDupProperty: string = + "Regression4927: Expect error due to duplicate properties in t"+[23 chars] + +> > > val it: string = "NOTE: Expect IAPrivate less accessible IBPublic" + +> > val it: string = "NOTE: Expect IAPrivate less accessible IBInternal" + +> > module Regression5265_PriPri = + type private IAPrivate = + abstract P: int + type private IBPrivate = + inherit IAPrivate + abstract Q: int + +> val it: string = "NOTE: Expect IAInternal less accessible IBPublic" + +> > module Regression5265_IntInt = + type internal IAInternal = + abstract P: int + type internal IBInternal = + inherit IAInternal + abstract Q: int + +> module Regression5265_IntPri = + type internal IAInternal = + abstract P: int + type private IBPrivate = + inherit IAInternal + abstract Q: int + +> module Regression5265_PubPub = + type IAPublic = + abstract P: int + type IBPublic = + inherit IAPublic + abstract Q: int + +> module Regression5265_PubInt = + type IAPublic = + abstract P: int + type internal IBInternal = + inherit IAPublic + abstract Q: int + +> module Regression5265_PubPri = + type IAPublic = + abstract P: int + type private IBPrivate = + inherit IAPublic + abstract Q: int + +> val it: string = + "Regression4232: Expect an error about duplicate virtual methods from parent type" + +> > val it: string = + "** Expect AnAxHostSubClass to be accepted. AxHost has a newslot virtual RightToLeft property outscope RightToLeft on Control" + +> type AnAxHostSubClass = + inherit System.Windows.Forms.AxHost + new: x: string -> AnAxHostSubClass + +> val it: string = + "** Expect error because the active pattern result contains free type variables" + +> > val it: string = + "** Expect error because the active pattern result contains free type variables (match value generic)" + +> > val it: string = + "** Expect error because the active pattern result contains free type variables (when active pattern also has parameters)" + +> > val it: string = + "** Expect OK, since error message says constraint should work!" + +> val (|A|B|) : x: int -> Choice + +> val it: string = "** Expect error since active pattern is not a function!" + +> > val it: string = + "** Expect OK since active pattern result is not too generic, typars depend on match val" + +> val (|A|B|) : p: bool -> 'a * 'b -> Choice<'a,'b> + +> val it: string = + "** Expect OK since active pattern result is not too generic, typars depend on parameters" + +> val (|A|B|) : aval: 'a -> bval: 'b -> x: bool -> Choice<'a,'b> + +> val it: string = + "** Expect OK since active pattern result is generic, but it typar from closure, so OK" + +> val outer: x: 'a -> (int -> 'a option) + +> val it: string = + "** Expect OK, BUG 472278: revert unintended breaking change to Active Patterns in F# 3.0" + +> val (|Check1|) : a: int -> int * 'a option + +> > module ReflectionEmit = + type IA = + abstract M: #IB -> int + and IB = + abstract M: #IA -> int + type IA2<'a when 'a :> IB2<'a> and 'a :> IA2<'a>> = + abstract M: int + and IB2<'b when 'b :> IA2<'b> and 'b :> IB2<'b>> = + abstract M: int + +> val it: string = + "Regression_139182: Expect the follow code to be accepted without error" + +> [] +type S = + member TheMethod: unit -> int64 +val theMethod: s: S -> int64 +type T = + new: unit -> T + member Prop5: int64 + static member Prop1: int64 + static member Prop2: int64 + static member Prop3: int64 + static member Prop4: string + +> val it: System.Threading.ThreadLocal list = [0 {IsValueCreated = false; + Values = ?;}] + +> type MyDU = + | Case1 of Val1: int * Val2: string + | Case2 of string * V2: bool * float + | Case3 of int + | Case4 of Item1: bool + | Case5 of bool * string + | Case6 of Val1: int * bool * string + | Case7 of ``Big Name`` : int +val namedFieldVar1: MyDU = Case1 (5, "") +val namedFieldVar2: MyDU = Case7 25 + +> exception MyNamedException1 of Val1: int * Val2: string +exception MyNamedException2 of string * V2: bool * float +exception MyNamedException3 of Data: int +exception MyNamedException4 of bool +exception MyNamedException5 of int * string +exception MyNamedException6 of Val1: int * bool * string * Data8: float +exception MyNamedException7 of ``Big Named Field`` : int +val namedEx1: exn = MyNamedException1 (5, "") +val namedEx2: exn = MyNamedException7 25 + +> type optionRecord = + { x: int option } +val x: optionRecord = { x = None } + +> type optionRecord = + { x: obj } +val x: optionRecord = { x = null } + +> type RecordWithMembers = + { x: obj } + member Method: unit -> int + member Property: int + +> type UnionWithMembers = + | Case1 + | Case2 of int + member Method: unit -> int + member Property: int + +> type OneFieldRecordNoXmlDoc = + { OneField: obj } + +> type OneFieldRecordXmlDoc = + { + OneField: obj + } + +> type TwoFieldRecordNoXmlDoc = + { + TwoFields1: obj + TwoFields2: obj + } + +> type TwoFieldRecordXmlDoc = + { + TwoFields1: obj + TwoFields2: obj + } + +> type Int32 with + member ExtrinsicExtensionProperty: int +type Int32 with + member ExtrinsicExtensionMethod: unit -> int + +> val ``value with spaces in name`` : bool = true + +> val functionWhichTakesLongNameMixedParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int * + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int + -> ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int * + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesLongNameTupledParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int * + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int * + ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int * + ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesLongNameCurriedParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int + -> bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int + -> cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int + -> dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesMixedLengthCurriedParametersA: + a: 'a -> b: 'b -> c: 'c -> ddddddddddddddddddddddddddddddddddddddddddddd: 'd + -> int + +> val functionWhichTakesMixedLengthCurriedParametersB: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: 'a -> b: 'b -> c: 'c -> d: 'd -> int + +> val f: ``parameter with spaces in name`` : int -> int + +> val functionWhichTakesAParameterPeeciselyPlusButNotOpAddition: + ``+`` : (int -> int -> int) -> int + +> val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int + +> val functionWhichTakesAParameterCalled_land: + ``land`` : (int -> int -> int) -> int + +> type RecordWithStrangeNames = + { + ``funky name`` : obj + op_Addition: obj + ``+`` : obj + ``land`` : obj + ``base`` : obj + } + +> type UnionWithSpacesInNamesOfCases = + | ``Funky name`` + | ``Funky name 2`` + +> type ``Type with spaces in name`` = + | A + | B + +> type op_Addition = + | A + | B + +> type ``land`` = + | A + | B + +> module ``Module with spaces in name`` = + val x: int = 1 + +> module op_Addition = + val x: int = 1 + +> module ``land`` = + val x: int = 1 + +> val ``+`` : x: 'a -> y: 'b -> int + +> val (+) : x: int -> y: int -> int + +> val ``base`` : int = 2 + +> val (mod) : int = 2 + +> val ``or`` : int = 2 + +> val ``land`` : int = 2 + +> val ``.ctor`` : int = 2 + +> val ``.cctor`` : int = 2 + +> [] +val SomeLiteralWithASomewhatLongName: string + = "SomeVeryLongLiteralValueWithLotsOfCharacters" +[] +val SomeLiteralWithASomewhatLongName2: string + = + "SomeVeryLongLiteralValueWithLotsOfCharactersSomeVeryLongLiteralValueWithLotsOfCharactersSomeVeryLongLiteralValueWithLotsOfCharacters" +[] +val ShortName: string = "hi" + +> val it: System.DayOfWeek = Tuesday + +> val internal f: unit -> int + +> val it: int = 1 + +> type internal CInternal = + new: unit -> CInternal + +> val it: unit = () + +> type internal CPublic = + new: unit -> CPublic + member MInternal: unit -> unit + +> val it: unit = () + +> type internal CPublic2 = + new: unit -> CPublic2 + member MPublic: unit -> int + +> val it: int = 1 + +> val inst1: TestLoadFile.ClassInFile1 + +> val inst2: TestLoadFile2.ClassInFile2 + +> > > diff --git a/tests/fsharp/core/printing/output.200.stderr.txt b/tests/fsharp/core/printing/output.200.stderr.txt new file mode 100644 index 00000000000..6926dcc9f34 --- /dev/null +++ b/tests/fsharp/core/printing/output.200.stderr.txt @@ -0,0 +1,348 @@ + + #blaaaaaa // blaaaaaa is not a known command;; + ^^^^^^^^^ + +stdin(219,1): warning FS3353: Invalid directive '#blaaaaaa ' + + + type Regression4319_T0 = static member (+-+-+) = "0 arguments";; + -----------------------------------------^^^^^ + +stdin(571,42): warning FS1172: Infix operator member '+-+-+' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1 = static member (+-+-+) x = "1 argument";; + -----------------------------------------^^^^^ + +stdin(572,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1b = static member (+-+-+) (x) = "1 (argument) [brackets make no diff]";; + -----------------------------------------^^^^^ + +stdin(573,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1c = static member (+-+-+) x = let a,b = x in "1 argument, tuple typed from RHS. Still not OK";; + -----------------------------------------^^^^^ + +stdin(574,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1d = static member (+-+-+) (x:int*int) = "1 argument, tuple typed from LHS. Still not OK";; + -----------------------------------------^^^^^ + +stdin(575,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T3 = static member (+-+-+) (x,y,z) = "3 arguments";; + -----------------------------------------^^^^^ + +stdin(577,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(578,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(578,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; + -----------------------------------------^^^^^ + +stdin(579,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; + -----------------------------------------^^^^^ + +stdin(579,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U2 = static member (+-+-+) (x,y) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(580,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(581,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(581,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (:=) = "COLON_EQUALS" + -------------------^^ + +stdin(584,20): warning FS1172: Infix operator member ':=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (:=) = "COLON_EQUALS" + -------------------^^ + +stdin(584,20): warning FS0086: The name '(:=)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (&) = "AMP" + -------------------^ + +stdin(588,20): warning FS1172: Infix operator member '&' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (&) = "AMP" + -------------------^ + +stdin(588,20): warning FS0086: The name '(&)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name 'op_Amp' instead. + + + static member (&^) = "AMP_AMP" + -------------------^^ + +stdin(589,20): warning FS1172: Infix operator member '&^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (=) = "EQUALS" + -------------------^ + +stdin(590,20): warning FS1172: Infix operator member '=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (=) = "EQUALS" + -------------------^ + +stdin(590,20): warning FS0086: The name '(=)' should not be used as a member name. To define equality semantics for a type, override the 'Object.Equals' member. If defining a static member for use from other CLI languages then use the name 'op_Equality' instead. + + + static member (!=) = "INFIX_COMPARE_OP" + -------------------^^ + +stdin(592,20): warning FS1172: Infix operator member '!=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...=) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(596,20): warning FS1172: Infix operator member '...=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...!=) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^^ + +stdin(597,20): warning FS1172: Infix operator member '...!=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...<) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(598,20): warning FS1172: Infix operator member '...<' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...>) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(599,20): warning FS1172: Infix operator member '...>' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ($) = "DOLLAR" + -------------------^ + +stdin(601,20): warning FS1172: Infix operator member '$' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (<) = "LESS" + -------------------^ + +stdin(602,20): warning FS1172: Infix operator member '<' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (<) = "LESS" + -------------------^ + +stdin(602,20): warning FS0086: The name '(<)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name 'op_LessThan' instead. + + + static member (>) = "GREATER" + -------------------^ + +stdin(603,20): warning FS1172: Infix operator member '>' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (>) = "GREATER" + -------------------^ + +stdin(603,20): warning FS0086: The name '(>)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name 'op_GreaterThan' instead. + + + static member (@) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(604,20): warning FS1172: Infix operator member '@' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (@) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(604,20): warning FS0086: The name '(@)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (^) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(605,20): warning FS1172: Infix operator member '^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (^) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(605,20): warning FS0086: The name '(^)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (...@) = "INFIX_AT_HAT_OP" // with $. prefix + -------------------^^^^ + +stdin(606,20): warning FS1172: Infix operator member '...@' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...^) = "INFIX_AT_HAT_OP" // with $. prefix + -------------------^^^^ + +stdin(607,20): warning FS1172: Infix operator member '...^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (%) = "PERCENT_OP" + -------------------^ + +stdin(608,20): warning FS1172: Infix operator member '%' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (-) = "MINUS" + -------------------^ + +stdin(610,20): warning FS1172: Infix operator member '-' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( * ) = "STAR" + --------------------^ + +stdin(611,21): warning FS1172: Infix operator member '*' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (/) = "INFIX_STAR_DIV_MOD_OP" + -------------------^ + +stdin(613,20): warning FS1172: Infix operator member '/' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ...* ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(615,21): warning FS1172: Infix operator member '...*' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( .../ ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(616,21): warning FS1172: Infix operator member '.../' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ...% ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(617,21): warning FS1172: Infix operator member '...%' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ** ) = "INFIX_STAR_STAR_OP" + --------------------^^ + +stdin(618,21): warning FS1172: Infix operator member '**' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + member this.ToString() = "ABC" + ----------------^^^^^^^^ + +stdin(623,17): warning FS0864: This new member hides the abstract member 'System.Object.ToString() : string'. Rename the member or use 'override' instead. + + + let x,f = it, (fun () -> !it);; // this will read from the static storage for 'it' + -------------------------^ + +stdin(643,26): info FS3370: The use of '!' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change '!cell' to 'cell.Value'. + + + x := 3;; + --^^ + +stdin(645,3): info FS3370: The use of ':=' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change 'cell := expr' to 'cell.Value <- expr'. + + + member this.M() = "string" + ----------------^ + +stdin(764,17): error FS0438: Duplicate method. The method 'M' has the same name and signature as another method in type 'ExpectDupMethod'. + + + member this.P = "string" + ----------------^ + +stdin(771,17): error FS0438: Duplicate method. The method 'get_P' has the same name and signature as another method in type 'ExpectDupProperty'. + + + type public IBPublic = interface inherit IAPrivate abstract Q : int end + ------------------^^^^^^^^ + +stdin(778,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBPublic' it is used in. + + + type internal IBInternal = interface inherit IAPrivate abstract Q : int end + ------------------^^^^^^^^^^ + +stdin(783,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBInternal' it is used in. + + + type public IBPublic = interface inherit IAInternal abstract Q : int end + ------------------^^^^^^^^ + +stdin(792,19): error FS0410: The type 'IAInternal' is less accessible than the value, member or type 'IBPublic' it is used in. + + + override x.M(a:string) = 1 + -------------------^ + +stdin(824,20): error FS0361: The override 'M: string -> int' implements more than one abstract slot, e.g. 'abstract Regression4232.D.M: 'U -> int' and 'abstract Regression4232.D.M: 'T -> int' + + + let (|A|B|) (x:int) = A x;; + -----^^^^^ + +stdin(832,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) (x:'a) = A x;; + -----^^^^^ + +stdin(835,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) (p:'a) (x:int) = A p;; + -----^^^^^ + +stdin(838,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) = failwith "" : Choice;; + -----^^^^^ + +stdin(844,6): error FS1209: Active pattern '|A|B|' is not a function + diff --git a/tests/fsharp/core/printing/output.200.stdout.txt b/tests/fsharp/core/printing/output.200.stdout.txt new file mode 100644 index 00000000000..352b5e2cbee --- /dev/null +++ b/tests/fsharp/core/printing/output.200.stdout.txt @@ -0,0 +1,1994 @@ + +> val it: unit = () + +> val repeatId: string = "A" + +> val repeatId: string = "B" + +namespace FSI_0005 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile1 = + new: unit -> ClassInFile1 + +namespace FSI_0006 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile1 = + new: unit -> ClassInFile1 + +namespace FSI_0006 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile2 = + new: unit -> ClassInFile2 + +> val x1: seq +val x2: seq +val x3: seq +val f1: System.Windows.Forms.Form = System.Windows.Forms.Form, Text: f1 form +val fs: System.Windows.Forms.Form[] = + [|System.Windows.Forms.Form, Text: fs #0; + System.Windows.Forms.Form, Text: fs #1; + System.Windows.Forms.Form, Text: fs #2; + System.Windows.Forms.Form, Text: fs #3; + System.Windows.Forms.Form, Text: fs #4; + System.Windows.Forms.Form, Text: fs #5; + System.Windows.Forms.Form, Text: fs #6; + System.Windows.Forms.Form, Text: fs #7; + System.Windows.Forms.Form, Text: fs #8; + System.Windows.Forms.Form, Text: fs #9; + System.Windows.Forms.Form, Text: fs #10; + System.Windows.Forms.Form, Text: fs #11; + System.Windows.Forms.Form, Text: fs #12; + System.Windows.Forms.Form, Text: fs #13; + System.Windows.Forms.Form, Text: fs #14; + System.Windows.Forms.Form, Text: fs #15; + System.Windows.Forms.Form, Text: fs #16; + System.Windows.Forms.Form, Text: fs #17; + System.Windows.Forms.Form, Text: fs #18; + System.Windows.Forms.Form, Text: fs #19; ...|] +val xs: string list = + ["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; "13"; + "14"; "15"; "16"; "17"; "18"; "19"; ...] +val xa: string[] = + [|"0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; "13"; + "14"; "15"; "16"; "17"; "18"; "19"; ...|] +val xa2: string[,] = [["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"] + ["10"; "11"; "12"; "13"; "14"; "15"; "16"; "17"] + ["20"; "21"; "22"; "23"; ...] + ...] +val sxs0: Set = set [] + +> val sxs1: Set = set ["0"] + +> val sxs2: Set = set ["0"; "1"] + +> val sxs3: Set = set ["0"; "1"; "2"] + +> val sxs4: Set = set ["0"; "1"; "2"; "3"] + +> val sxs200: Set = + set ["0"; "1"; "10"; "100"; "101"; "102"; "103"; "104"; "105"; ...] + +> val msxs0: Map = map [] + +> val msxs1: Map = map [(0, "0")] + +> val msxs2: Map = map [(0, "0"); (1, "1")] + +> val msxs3: Map = map [(0, "0"); (1, "1"); (2, "2")] + +> val msxs4: Map = map [(0, "0"); (1, "1"); (2, "2"); (3, "3")] + +> val msxs200: Map = + map + [(0, "0"); (1, "1"); (2, "2"); (3, "3"); (4, "4"); (5, "5"); (6, "6"); + (7, "7"); (8, "8"); ...] + +> module M = + val a: string = "sub-binding" + val b: + (seq * seq * seq * System.Windows.Forms.Form) option * + (string list * string list * string[,]) option = + (Some (, , , System.Windows.Forms.Form, Text: f1 form), + Some + (["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; + "13"; "14"; "15"; "16"; ...], ..., ...)) +type T = + new: a: int * b: int -> T + member AMethod: x: int -> int + static member StaticMethod: x: int -> int + member AProperty: int + static member StaticProperty: int +val f_as_method: x: int -> int +val f_as_thunk: (int -> int) +val refCell: string ref = { contents = "value" } +module D1 = + val words: System.Collections.Generic.IDictionary + val words2000: System.Collections.Generic.IDictionary + +> > module D2 = + val words: IDictionary + val words2000: IDictionary +val opt1: 'a option +val opt1b: int option = None +val opt4: 'a option option option option +val opt4b: int option option option option = Some (Some (Some None)) +val opt5: int list option option option option option list = + [Some (Some (Some (Some None))); + Some (Some (Some (Some (Some [1; 2; 3; 4; 5; 6])))); + Some (Some (Some (Some ...))); ...] +val mkStr: n: int -> string +val strs: string[] = + [|""; "-"; "--"; "---"; "----"; "-----"; "------"; "-------"; "--------"; + "---------"; "----------"; "-----------"; "------------"; "-------------"; + "--------------"; "---------------"; "----------------"; + "-----------------"; "------------------"; "-------------------"; ...|] +val str7s: string[] = + [|""; "-------"; "--------------"; "---------------------"; + "----------------------------"; "-----------------------------------"; + "------------------------------------------"; + "-------------------------------------------------"; + "--------------------------------------------------------"; + "---------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[16 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[30 chars]; + "-------------------------------------------------------------"+[37 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[58 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[72 chars]; + ...|] +val grids: string[,] = + [[""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; + ""; ...] + ...] + +> type tree = + | L + | N of tree list +val mkT: w: int -> d: int -> tree +val tree: w: int -> d: int -> tree + +> [Building 2 4...done] +val tree_2_4: tree = + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; ...]; ...]; ...]; ...] + +> [Building 2 6...done] +val tree_2_6: tree = + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; N [N ...; ...]; + ...]; ...]; ...] + +> [Building 2 8...done] +val tree_2_8: tree = + N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L; ...]; ...]; + ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 2 10...done] +val tree_2_10: tree = + N [N [N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N ...; ...]; + ...]; ...]; ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 2 12...done] +val tree_2_12: tree = + N [N [N [N [N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; ...]; ...]; + ...]; ...]; ...]; ...]; ...]; ...]; ...]; ...]; + ...]; ...] + +> [Building 2 14...done] +val tree_2_14: tree = + N [N [N [N [N [N [N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N ...; ...]; ...]; + ...]; ...]; ...]; ...]; ...]; ...]; ...]; ...]; + ...]; ...] + +> [Building 3 8...done] +val tree_3_8: tree = + N [N [N [N [N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; N ...; ...]; + ...]; ...]; ...]; ...]; ...] + +> [Building 4 8...done] +val tree_4_8: tree = + N [N [N [N [N [N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; ...]; ...]; + ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 5 8...done] +val tree_5_8: tree = + N [N [N [N [N [N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N ...; ...]; ...]; + ...]; ...]; ...]; ...]; ...] + +> [Building 6 8...done] +val tree_6_8: tree = + N [N [N [N [N [N [N [N [L; L; L; L; L; L]; N [L; L; L; L; L; ...]; ...]; ...]; + ...]; ...]; ...]; ...]; ...] + +> [Building 5 3...done] +val tree_5_3: tree = + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L; ...]; ...]; + ...] + +> > type X = + | Var of int + | Bop of int * X * X +val generate: x: int -> X + +> val exps: X list = + [Bop (1, Var 0, Var 0); Var 2; + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, ...)); ...] + +> module Exprs = + val x1: X = + Bop + (213, Var 106, + Bop + (71, + Bop (35, Bop (17, Var 8, Bop (5, Var 2, Bop (1, Var 0, ...))), ...), + ...)) + val x2: X = Var 21342314 + val x3: X = Var 3214 + val x4: X = Bop (1231357, Var 615678, Var 410452) + val x5: X = + Bop + (5234547, Bop (2617273, Var 1308636, Var 872424), + Bop (1744849, Var 872424, Var 581616)) + val x6: X = + Bop + (923759825, Var 461879912, Bop (307919941, Var 153959970, Var 102639980)) + val x7: X = Var 2435234 + val x8: X = + Bop + (12396777, Var 6198388, + Bop + (4132259, + Bop + (2066129, Var 1033064, + Bop + (688709, Var 344354, + Bop (229569, Var 114784, Bop (76523, ..., ...)))), ...)) + val x9: X = + Bop + (3333333, Var 1666666, + Bop + (1111111, + Bop + (555555, Bop (277777, Var 138888, Var 92592), + Bop (185185, Var 92592, Var 61728)), ...)) + val x10: X = + Bop + (1312311237, Var 656155618, + Bop + (437437079, + Bop + (218718539, + Bop + (109359269, Var 54679634, + Bop (36453089, Var 18226544, Bop (12151029, Var 6075514, ...))), + ...), ...)) + val x11: X = + Bop + (2147483647, + Bop + (1073741823, + Bop + (536870911, + Bop + (268435455, + Bop + (134217727, + Bop + (67108863, + Bop + (33554431, + Bop + (16777215, + Bop (8388607, Bop (4194303, ..., ...), ...), ...), + ...), ...), ...), ...), ...), ...), ...) + +> type C = + new: x: string -> C + override ToString: unit -> string +val c1: C = +val csA: C[] = + [|; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; ...|] +val csB: C[] = + [|; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; ...|] +val csC: C[] = + [|; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; ...|] + +> exception Abc + +> exception AbcInt of int + +> exception AbcString of string + +> exception AbcExn of exn list + +> exception AbcException of System.Exception list + +> val exA1: exn = Abc +val exA2: exn = AbcInt 2 +val exA3: exn = AbcString "3" +val exA4: exn = AbcExn [Abc; AbcInt 2; AbcString "3"] +val exA5: exn = AbcException [AbcExn [Abc; AbcInt 2; AbcString "3"]] +exception Ex0 +exception ExUnit of unit +exception ExUnits of unit * unit +exception ExUnitOption of unit option +val ex0: exn = Ex0 +val exU: exn = ExUnit () +val exUs: exn = ExUnits ((), ()) +val exUSome: exn = ExUnitOption (Some ()) +val exUNone: exn = ExUnitOption None +type 'a T4063 = | AT4063 of 'a + +> val valAT3063_12: int T4063 = AT4063 12 + +> val valAT3063_True: bool T4063 = AT4063 true + +> val valAT3063_text: string T4063 = AT4063 "text" + +> val valAT3063_null: System.Object T4063 = AT4063 null + +> type M4063<'a> = + new: x: 'a -> M4063<'a> + +> val v4063: M4063 + +> type Taaaaa<'a> = + new: unit -> Taaaaa<'a> + +> type Taaaaa2<'a> = + inherit Taaaaa<'a> + new: unit -> Taaaaa2<'a> + member M: unit -> Taaaaa2<'a> + +> type Tbbbbb<'a> = + new: x: 'a -> Tbbbbb<'a> + member M: unit -> 'a + +> type Tbbbbb2 = + inherit Tbbbbb + new: x: string -> Tbbbbb2 + +> val it: (unit -> string) = + +> module RepeatedModule = + val repeatedByteLiteral: byte[] = [|12uy; 13uy; 14uy|] + +> module RepeatedModule = + val repeatedByteLiteral: byte[] = [|12uy; 13uy; 14uy|] + +> val it: string = "Check #help" + +> + F# Interactive directives: + + #r "file.dll";; // Reference (dynamically load) the given DLL + #i "package source uri";; // Include package source uri when searching for packages + #I "path";; // Add the given search path for referenced DLLs + #load "file.fs" ...;; // Load the given file(s) as if compiled and referenced + #time ["on"|"off"];; // Toggle timing on/off + #help;; // Display help + #r "nuget:FSharp.Data, 3.1.2";; // Load Nuget Package 'FSharp.Data' version '3.1.2' + #r "nuget:FSharp.Data";; // Load Nuget Package 'FSharp.Data' with the highest version + #quit;; // Exit + + F# Interactive command line options: + + + +> val it: string = "Check #time on and then off" + +> +--> Timing now on + +> +--> Timing now off + +> val it: string = "Check #unknown command" + +> val it: string = + "Check #I with a known directory (to avoid a warning, which includes the location of this file, which is fragile...)" + +> +--> Added '/' to library include path + +> type internal T1 = + | A + | B + +> type internal T2 = + { x: int } + +> type internal T3 + +> type internal T4 = + new: unit -> T4 + +> type T1 = + internal | A + | B + +> type T2 = + internal { x: int } + +> type private T1 = + | A + | B + +> type private T2 = + { x: int } + +> type T1 = + private | A + | B + +> type T2 = + private { x: int } + +> type internal T1 = + private | A + | B + +> type internal T2 = + private { x: int } + +> type private T3 + +> type private T4 = + new: unit -> T4 + +> exception X1 of int + +> exception private X2 of int + +> exception internal X3 of int + +> type T0 = + new: unit -> T0 +type T1Post<'a> = + new: unit -> T1Post<'a> +type 'a T1Pre = + new: unit -> 'a T1Pre + +> type T0 with + member M: unit -> T0 list +type T0 with + member P: T0 * T0 +type T0 with + member E: IEvent + +> type T1Post<'a> with + member M: unit -> T1Post<'a> list +type T1Post<'a> with + member P: T1Post<'a> * T1Post<'a> +type T1Post<'a> with + member E: IEvent + +> type 'a T1Pre with + member M: unit -> 'a T1Pre list +type 'a T1Pre with + member P: 'a T1Pre * 'a T1Pre +type 'a T1Pre with + member E: IEvent + +> type T1Post<'a> with + member M: unit -> T1Post<'a> list +type T1Post<'a> with + member P: T1Post<'a> * T1Post<'a> +type T1Post<'a> with + member E: IEvent + +> type 'a T1Pre with + member M: unit -> 'a T1Pre list +type 'a T1Pre with + member P: 'a T1Pre * 'a T1Pre +type 'a T1Pre with + member E: IEvent + +> type r = + { + f0: int + f1: int + f2: int + f3: int + f4: int + f5: int + f6: int + f7: int + f8: int + f9: int + } +val r10: r = { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 } +val r10s: r[] = [|{ f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; ...|] +val r10s': string * r[] = ("one extra node", [|{ f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = ... }; ...|]) + +> val x1564_A1: int = 1 + + +--> Added '\' to library include path + +val x1564_A2: int = 2 + + +--> Added '\' to library include path + +val x1564_A3: int = 3 + +> type internal Foo2 = + private new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member private Prop3: int + +> module internal InternalM = + val x: int = 1 + type Foo2 = + private new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member private Prop3: int + type private Foo3 = + new: x: int * y: int * z: int -> Foo3 + 3 overloads + member Prop1: int + member Prop2: int + member Prop3: int + type T1 = + | A + | B + type T2 = + { x: int } + type T3 + type T4 = + new: unit -> T4 + type T5 = + | A + | B + type T6 = + { x: int } + type private T7 = + | A + | B + type private T8 = + { x: int } + type T9 = + private | A + | B + type T10 = + private { x: int } + type T11 = + private | A + | B + type T12 = + private { x: int } + type private T13 + type private T14 = + new: unit -> T14 +module internal PrivateM = + val private x: int = 1 + type private Foo2 = + new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member Prop3: int + type T1 = + | A + | B + type T2 = + { x: int } + type T3 + type T4 = + new: unit -> T4 + type T5 = + | A + | B + type T6 = + { x: int } + type private T7 = + | A + | B + type private T8 = + { x: int } + type T9 = + private | A + | B + type T10 = + private { x: int } + type T11 = + private | A + | B + type T12 = + private { x: int } + type private T13 + type private T14 = + new: unit -> T14 + +> val it: seq = + seq + [(43, "10/28/2008", 1); (46, "11/18/2008", 1); (56, "1/27/2009", 2); + (58, "2/10/2009", 1)] + +> module Test4343a = + val mk: i: int -> string + val x100: string = + "0123456789012345678901234567890123456789012345678901234567890"+[39 chars] + val x90: string = + "0123456789012345678901234567890123456789012345678901234567890"+[29 chars] + val x80: string = + "0123456789012345678901234567890123456789012345678901234567890"+[19 chars] + val x75: string = + "0123456789012345678901234567890123456789012345678901234567890"+[14 chars] + val x74: string = + "0123456789012345678901234567890123456789012345678901234567890"+[13 chars] + val x73: string = + "0123456789012345678901234567890123456789012345678901234567890"+[12 chars] + val x72: string = + "012345678901234567890123456789012345678901234567890123456789012345678901" + val x71: string = + "01234567890123456789012345678901234567890123456789012345678901234567890" + val x70: string = + "0123456789012345678901234567890123456789012345678901234567890123456789" +module Test4343b = + val fA: x: int -> int + val fB: x: 'a -> y: 'a -> 'a list + val gA: (int -> int) + val gB: ('a -> 'a -> 'a list) + val gAB: (int -> int) * ('a -> 'a -> 'a list) + val hB: ('a -> 'a -> 'a list) + val hA: (int -> int) +module Test4343c = + val typename<'a> : string + val typename2<'a> : string * string +module Test4343d = + val xList: int list = [1; 2; 3] + val xArray: int[] = [|1; 2; 3|] + val xString: string = "abcdef" + val xOption: int option = Some 12 + val xArray2: (int * int)[,] = [[(0, 0); (0, 1)] + [(1, 0); (1, 1)]] + val xSeq: seq +module Test4343e = + type C = + new: x: int -> C + val cA: C + val cB: C + val cAB: C * C * C list = + (FSI_0091+Test4343e+C, FSI_0091+Test4343e+C, + [FSI_0091+Test4343e+C; FSI_0091+Test4343e+C]) + type D = + new: x: int -> D + override ToString: unit -> string + val dA: D = D(1) + val dB: D = D(2) + val dAB: D * D * D list = (D(1), D(2), [D(1); D(2)]) + module Generic = + type CGeneric<'a> = + new: x: 'a -> CGeneric<'a> + val cA: C + val cB: C + val cAB: C * C * C list = + (FSI_0091+Test4343e+C, FSI_0091+Test4343e+C, + [FSI_0091+Test4343e+C; FSI_0091+Test4343e+C]) + type D<'a> = + new: x: 'a -> D<'a> + override ToString: unit -> string + val dA: D = D(1) + val dB: D = D(2) + val dAB: D * D * D list = (D(1), D(2), [D(1); D(2)]) + val dC: D = D(True) + val boxed_dABC: obj list = [D(1); D(2); D(True)] +type F1 = + inherit System.Windows.Forms.Form + interface System.IDisposable + val x: F1 + val x2: F1 + member B: unit -> int + member D: x: int -> int + 2 overloads + abstract MMM: bool -> bool + override ToString: unit -> string + static member A: unit -> int + static member C: unit -> int + abstract AAA: int + abstract BBB: bool with set + member D2: int + member E: int + abstract ZZZ: int + static val mutable private sx: F1 + static val mutable private sx2: F1 +[] +type IP = + new: x: int * y: int -> IP + static val mutable private AA: IP +module Regression4643 = + [] + type RIP = + new: x: int -> RIP + static val mutable private y: RIP + [] + type arg_unused_is_RIP = + new: x: RIP -> arg_unused_is_RIP + [] + type arg_used_is_RIP = + new: x: RIP -> arg_used_is_RIP + member X: RIP + [] + type field_is_RIP = + val x: RIP +type Either<'a,'b> = + | This of 'a + | That of 'b +val catch: f: (unit -> 'a) -> Either<'a,(string * string)> +val seqFindIndexFailure: Either = + That + ("System.Collections.Generic.KeyNotFoundException", + "An index satisfying the predicate was not found in the collection.") +val seqFindFailure: Either = + That + ("System.Collections.Generic.KeyNotFoundException", + "An index satisfying the predicate was not found in the collection.") +val seqPickFailure: Either = + That + ("System.Collections.Generic.KeyNotFoundException", + "An index satisfying the predicate was not found in the collection.") +module Regression5218 = + val t1: int = 1 + val t2: int * int = (1, 2) + val t3: int * int * int = (1, 2, 3) + val t4: int * int * int * int = (1, 2, 3, 4) + val t5: int * int * int * int * int = (1, 2, 3, 4, 5) + val t6: int * int * int * int * int * int = (1, 2, 3, 4, 5, 6) + val t7: int * int * int * int * int * int * int = (1, 2, 3, 4, 5, 6, 7) + val t8: int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8) + val t9: int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9) + val t10: int * int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + val t11: int * int * int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11) + val t12: + int * int * int * int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) + val t13: + int * int * int * int * int * int * int * int * int * int * int * int * + int = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13) + val t14: + int * int * int * int * int * int * int * int * int * int * int * int * + int * int = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) + val t15: + int * int * int * int * int * int * int * int * int * int * int * int * + int * int * int = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15) + +> module Regression3739 = + type IB = + abstract AbstractMember: int -> int + type C<'a when 'a :> IB> = + new: unit -> C<'a> + static member StaticMember: x: 'a -> int + +> module Regression3739 = + type IB = + abstract AbstractMember: int -> int + type C<'a when 'a :> IB> = + new: unit -> C<'a> + static member StaticMember: x: 'a -> int + +> module Regression3740 = + type Writer<'a> = + abstract get_path: unit -> string + type MyClass = + interface Writer + val path: string + +> type Regression4319_T2 = + static member (+-+-+) : x: 'a * y: 'b -> string + +> type Regression4319_T0 = + static member (+-+-+) : string + +> type Regression4319_T1 = + static member (+-+-+) : x: 'a -> string + +> type Regression4319_T1b = + static member (+-+-+) : x: 'a -> string + +> type Regression4319_T1c = + static member (+-+-+) : x: ('a * 'b) -> string + +> type Regression4319_T1d = + static member (+-+-+) : x: (int * int) -> string + +> type Regression4319_T3 = + static member (+-+-+) : x: 'a * y: 'b * z: 'c -> string + +> type Regression4319_U1 = + static member (+-+-+) : x: 'a -> moreArgs: 'b -> string + +> type Regression4319_U1b = + static member (+-+-+) : x: 'a -> moreArgs: 'b -> string + +> type Regression4319_U2 = + static member (+-+-+) : x: 'a * y: 'b -> moreArgs: 'c -> string + +> type Regression4319_U3 = + static member (+-+-+) : x: 'a * y: 'b * z: 'c -> moreArgs: 'd -> string + +> type Regression4319_check = + static member (&) : string + static member (&^) : string + static member (@) : string + static member (!=) : string + static member (:=) : string + static member (^) : string + static member (/) : string + static member ($) : string + static member (...@) : string + static member (...!=) : string + static member (.../) : string + static member (...=) : string + static member (...>) : string + static member (...^) : string + static member (...<) : string + static member ( ...* ) : string + static member (...%) : string + static member (=) : string + static member ( ** ) : string + static member (>) : string + static member (<) : string + static member (%) : string + static member ( * ) : string + static member (-) : string + +> Expect ABC = ABC +type Regression4469 = + new: unit -> Regression4469 + member ToString: unit -> string +val r4469: Regression4469 = FSI_0107+Regression4469 +val it: unit = () + +> Expect ABC = ABC +val it: unit = () + +> module Regression1019_short = + val double_nan: float = nan + val double_infinity: float = infinity + val single_nan: float32 = nanf + val single_infinity: float32 = infinityf +module Regression1019_long = + val double_nan: float = nan + val double_infinity: float = infinity + val single_nan: float32 = nanf + val single_infinity: float32 = infinityf + +> val it: int ref = { contents = 1 } + +> val x: int ref = { contents = 1 } +val f: (unit -> int) + +> val it: int = 1 + +> val it: unit = () + +> val it: int = 3 + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: 'a list + +> val it: 'a list list + +> val it: 'a option + +> val it: 'a list * 'b list + +> val it: x: 'a -> 'a + +> val fff: x: 'a -> 'a + +> val it: ('a -> 'a) + +> val note_ExpectDupMethod: string = + "Regression4927: Expect error due to duplicate methods in the "+[20 chars] + +> > val note_ExpectDupProperty: string = + "Regression4927: Expect error due to duplicate properties in t"+[23 chars] + +> > > val it: string = "NOTE: Expect IAPrivate less accessible IBPublic" + +> > val it: string = "NOTE: Expect IAPrivate less accessible IBInternal" + +> > module Regression5265_PriPri = + type private IAPrivate = + abstract P: int + type private IBPrivate = + inherit IAPrivate + abstract Q: int + +> val it: string = "NOTE: Expect IAInternal less accessible IBPublic" + +> > module Regression5265_IntInt = + type internal IAInternal = + abstract P: int + type internal IBInternal = + inherit IAInternal + abstract Q: int + +> module Regression5265_IntPri = + type internal IAInternal = + abstract P: int + type private IBPrivate = + inherit IAInternal + abstract Q: int + +> module Regression5265_PubPub = + type IAPublic = + abstract P: int + type IBPublic = + inherit IAPublic + abstract Q: int + +> module Regression5265_PubInt = + type IAPublic = + abstract P: int + type internal IBInternal = + inherit IAPublic + abstract Q: int + +> module Regression5265_PubPri = + type IAPublic = + abstract P: int + type private IBPrivate = + inherit IAPublic + abstract Q: int + +> val it: string = + "Regression4232: Expect an error about duplicate virtual methods from parent type" + +> > val it: string = + "** Expect AnAxHostSubClass to be accepted. AxHost has a newslot virtual RightToLeft property outscope RightToLeft on Control" + +> type AnAxHostSubClass = + inherit System.Windows.Forms.AxHost + new: x: string -> AnAxHostSubClass + +> val it: string = + "** Expect error because the active pattern result contains free type variables" + +> > val it: string = + "** Expect error because the active pattern result contains free type variables (match value generic)" + +> > val it: string = + "** Expect error because the active pattern result contains free type variables (when active pattern also has parameters)" + +> > val it: string = + "** Expect OK, since error message says constraint should work!" + +> val (|A|B|) : x: int -> Choice + +> val it: string = "** Expect error since active pattern is not a function!" + +> > val it: string = + "** Expect OK since active pattern result is not too generic, typars depend on match val" + +> val (|A|B|) : p: bool -> 'a * 'b -> Choice<'a,'b> + +> val it: string = + "** Expect OK since active pattern result is not too generic, typars depend on parameters" + +> val (|A|B|) : aval: 'a -> bval: 'b -> x: bool -> Choice<'a,'b> + +> val it: string = + "** Expect OK since active pattern result is generic, but it typar from closure, so OK" + +> val outer: x: 'a -> (int -> 'a option) + +> val it: string = + "** Expect OK, BUG 472278: revert unintended breaking change to Active Patterns in F# 3.0" + +> val (|Check1|) : a: int -> int * 'a option + +> > module ReflectionEmit = + type IA = + abstract M: #IB -> int + and IB = + abstract M: #IA -> int + type IA2<'a when 'a :> IB2<'a> and 'a :> IA2<'a>> = + abstract M: int + and IB2<'b when 'b :> IA2<'b> and 'b :> IB2<'b>> = + abstract M: int + +> val it: string = + "Regression_139182: Expect the follow code to be accepted without error" + +> [] +type S = + member TheMethod: unit -> int64 +val theMethod: s: S -> int64 +type T = + new: unit -> T + member Prop5: int64 + static member Prop1: int64 + static member Prop2: int64 + static member Prop3: int64 + static member Prop4: string + +> val it: System.Threading.ThreadLocal list = [0 {IsValueCreated = false; + Values = ?;}] + +> type MyDU = + | Case1 of Val1: int * Val2: string + | Case2 of string * V2: bool * float + | Case3 of int + | Case4 of Item1: bool + | Case5 of bool * string + | Case6 of Val1: int * bool * string + | Case7 of ``Big Name`` : int +val namedFieldVar1: MyDU = Case1 (5, "") +val namedFieldVar2: MyDU = Case7 25 + +> exception MyNamedException1 of Val1: int * Val2: string +exception MyNamedException2 of string * V2: bool * float +exception MyNamedException3 of Data: int +exception MyNamedException4 of bool +exception MyNamedException5 of int * string +exception MyNamedException6 of Val1: int * bool * string * Data8: float +exception MyNamedException7 of ``Big Named Field`` : int +val namedEx1: exn = MyNamedException1 (5, "") +val namedEx2: exn = MyNamedException7 25 + +> type optionRecord = + { x: int option } +val x: optionRecord = { x = None } + +> type optionRecord = + { x: obj } +val x: optionRecord = { x = null } + +> type RecordWithMembers = + { x: obj } + member Method: unit -> int + member Property: int + +> type UnionWithMembers = + | Case1 + | Case2 of int + member Method: unit -> int + member Property: int + +> type OneFieldRecordNoXmlDoc = + { OneField: obj } + +> type OneFieldRecordXmlDoc = + { + OneField: obj + } + +> type TwoFieldRecordNoXmlDoc = + { + TwoFields1: obj + TwoFields2: obj + } + +> type TwoFieldRecordXmlDoc = + { + TwoFields1: obj + TwoFields2: obj + } + +> type Int32 with + member ExtrinsicExtensionProperty: int +type Int32 with + member ExtrinsicExtensionMethod: unit -> int + +> val ``value with spaces in name`` : bool = true + +> val functionWhichTakesLongNameMixedParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int * + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int + -> ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int * + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesLongNameTupledParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int * + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int * + ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int * + ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesLongNameCurriedParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int + -> bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int + -> cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int + -> dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesMixedLengthCurriedParametersA: + a: 'a -> b: 'b -> c: 'c -> ddddddddddddddddddddddddddddddddddddddddddddd: 'd + -> int + +> val functionWhichTakesMixedLengthCurriedParametersB: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: 'a -> b: 'b -> c: 'c -> d: 'd -> int + +> val f: ``parameter with spaces in name`` : int -> int + +> val functionWhichTakesAParameterPeeciselyPlusButNotOpAddition: + ``+`` : (int -> int -> int) -> int + +> val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int + +> val functionWhichTakesAParameterCalled_land: + ``land`` : (int -> int -> int) -> int + +> type RecordWithStrangeNames = + { + ``funky name`` : obj + op_Addition: obj + ``+`` : obj + ``land`` : obj + ``base`` : obj + } + +> type UnionWithSpacesInNamesOfCases = + | ``Funky name`` + | ``Funky name 2`` + +> type ``Type with spaces in name`` = + | A + | B + +> type op_Addition = + | A + | B + +> type ``land`` = + | A + | B + +> module ``Module with spaces in name`` = + val x: int = 1 + +> module op_Addition = + val x: int = 1 + +> module ``land`` = + val x: int = 1 + +> val ``+`` : x: 'a -> y: 'b -> int + +> val (+) : x: int -> y: int -> int + +> val ``base`` : int = 2 + +> val (mod) : int = 2 + +> val ``or`` : int = 2 + +> val ``land`` : int = 2 + +> val ``.ctor`` : int = 2 + +> val ``.cctor`` : int = 2 + +> [] +val SomeLiteralWithASomewhatLongName: string + = "SomeVeryLongLiteralValueWithLotsOfCharacters" +[] +val SomeLiteralWithASomewhatLongName2: string + = + "SomeVeryLongLiteralValueWithLotsOfCharactersSomeVeryLongLiteralValueWithLotsOfCharactersSomeVeryLongLiteralValueWithLotsOfCharacters" +[] +val ShortName: string = "hi" + +> val it: System.DayOfWeek = Tuesday + +> val internal f: unit -> int + +> val it: int = 1 + +> type internal CInternal = + new: unit -> CInternal + +> val it: unit = () + +> type internal CPublic = + new: unit -> CPublic + member MInternal: unit -> unit + +> val it: unit = () + +> type internal CPublic2 = + new: unit -> CPublic2 + member MPublic: unit -> int + +> val it: int = 1 + +> val inst1: TestLoadFile.ClassInFile1 + +> val inst2: TestLoadFile2.ClassInFile2 + +> > > diff --git a/tests/fsharp/core/printing/output.47.stderr.txt b/tests/fsharp/core/printing/output.47.stderr.txt new file mode 100644 index 00000000000..4d3209ca246 --- /dev/null +++ b/tests/fsharp/core/printing/output.47.stderr.txt @@ -0,0 +1,336 @@ + + #blaaaaaa // blaaaaaa is not a known command;; + ^^^^^^^^^ + +stdin(219,1): warning FS3353: Invalid directive '#blaaaaaa ' + + + type Regression4319_T0 = static member (+-+-+) = "0 arguments";; + -----------------------------------------^^^^^ + +stdin(571,42): warning FS1172: Infix operator member '+-+-+' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1 = static member (+-+-+) x = "1 argument";; + -----------------------------------------^^^^^ + +stdin(572,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1b = static member (+-+-+) (x) = "1 (argument) [brackets make no diff]";; + -----------------------------------------^^^^^ + +stdin(573,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1c = static member (+-+-+) x = let a,b = x in "1 argument, tuple typed from RHS. Still not OK";; + -----------------------------------------^^^^^ + +stdin(574,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1d = static member (+-+-+) (x:int*int) = "1 argument, tuple typed from LHS. Still not OK";; + -----------------------------------------^^^^^ + +stdin(575,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T3 = static member (+-+-+) (x,y,z) = "3 arguments";; + -----------------------------------------^^^^^ + +stdin(577,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(578,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(578,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; + -----------------------------------------^^^^^ + +stdin(579,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; + -----------------------------------------^^^^^ + +stdin(579,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U2 = static member (+-+-+) (x,y) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(580,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(581,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(581,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (:=) = "COLON_EQUALS" + -------------------^^ + +stdin(584,20): warning FS1172: Infix operator member ':=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (:=) = "COLON_EQUALS" + -------------------^^ + +stdin(584,20): warning FS0086: The name '(:=)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (&) = "AMP" + -------------------^ + +stdin(588,20): warning FS1172: Infix operator member '&' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (&) = "AMP" + -------------------^ + +stdin(588,20): warning FS0086: The name '(&)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name 'op_Amp' instead. + + + static member (&^) = "AMP_AMP" + -------------------^^ + +stdin(589,20): warning FS1172: Infix operator member '&^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (=) = "EQUALS" + -------------------^ + +stdin(590,20): warning FS1172: Infix operator member '=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (=) = "EQUALS" + -------------------^ + +stdin(590,20): warning FS0086: The name '(=)' should not be used as a member name. To define equality semantics for a type, override the 'Object.Equals' member. If defining a static member for use from other CLI languages then use the name 'op_Equality' instead. + + + static member (!=) = "INFIX_COMPARE_OP" + -------------------^^ + +stdin(592,20): warning FS1172: Infix operator member '!=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...=) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(596,20): warning FS1172: Infix operator member '...=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...!=) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^^ + +stdin(597,20): warning FS1172: Infix operator member '...!=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...<) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(598,20): warning FS1172: Infix operator member '...<' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...>) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(599,20): warning FS1172: Infix operator member '...>' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ($) = "DOLLAR" + -------------------^ + +stdin(601,20): warning FS1172: Infix operator member '$' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (<) = "LESS" + -------------------^ + +stdin(602,20): warning FS1172: Infix operator member '<' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (<) = "LESS" + -------------------^ + +stdin(602,20): warning FS0086: The name '(<)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name 'op_LessThan' instead. + + + static member (>) = "GREATER" + -------------------^ + +stdin(603,20): warning FS1172: Infix operator member '>' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (>) = "GREATER" + -------------------^ + +stdin(603,20): warning FS0086: The name '(>)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name 'op_GreaterThan' instead. + + + static member (@) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(604,20): warning FS1172: Infix operator member '@' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (@) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(604,20): warning FS0086: The name '(@)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (^) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(605,20): warning FS1172: Infix operator member '^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (^) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(605,20): warning FS0086: The name '(^)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (...@) = "INFIX_AT_HAT_OP" // with $. prefix + -------------------^^^^ + +stdin(606,20): warning FS1172: Infix operator member '...@' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...^) = "INFIX_AT_HAT_OP" // with $. prefix + -------------------^^^^ + +stdin(607,20): warning FS1172: Infix operator member '...^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (%) = "PERCENT_OP" + -------------------^ + +stdin(608,20): warning FS1172: Infix operator member '%' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (-) = "MINUS" + -------------------^ + +stdin(610,20): warning FS1172: Infix operator member '-' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( * ) = "STAR" + --------------------^ + +stdin(611,21): warning FS1172: Infix operator member '*' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (/) = "INFIX_STAR_DIV_MOD_OP" + -------------------^ + +stdin(613,20): warning FS1172: Infix operator member '/' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ...* ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(615,21): warning FS1172: Infix operator member '...*' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( .../ ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(616,21): warning FS1172: Infix operator member '.../' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ...% ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(617,21): warning FS1172: Infix operator member '...%' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ** ) = "INFIX_STAR_STAR_OP" + --------------------^^ + +stdin(618,21): warning FS1172: Infix operator member '**' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + member this.ToString() = "ABC" + ----------------^^^^^^^^ + +stdin(623,17): warning FS0864: This new member hides the abstract member 'System.Object.ToString() : string'. Rename the member or use 'override' instead. + + + member this.M() = "string" + ----------------^ + +stdin(764,17): error FS0438: Duplicate method. The method 'M' has the same name and signature as another method in type 'ExpectDupMethod'. + + + member this.P = "string" + ----------------^ + +stdin(771,17): error FS0438: Duplicate method. The method 'get_P' has the same name and signature as another method in type 'ExpectDupProperty'. + + + type public IBPublic = interface inherit IAPrivate abstract Q : int end + ------------------^^^^^^^^ + +stdin(778,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBPublic' it is used in. + + + type internal IBInternal = interface inherit IAPrivate abstract Q : int end + ------------------^^^^^^^^^^ + +stdin(783,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBInternal' it is used in. + + + type public IBPublic = interface inherit IAInternal abstract Q : int end + ------------------^^^^^^^^ + +stdin(792,19): error FS0410: The type 'IAInternal' is less accessible than the value, member or type 'IBPublic' it is used in. + + + override x.M(a:string) = 1 + -------------------^ + +stdin(824,20): error FS0361: The override 'M: string -> int' implements more than one abstract slot, e.g. 'abstract Regression4232.D.M: 'U -> int' and 'abstract Regression4232.D.M: 'T -> int' + + + let (|A|B|) (x:int) = A x;; + -----^^^^^ + +stdin(832,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) (x:'a) = A x;; + -----^^^^^ + +stdin(835,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) (p:'a) (x:int) = A p;; + -----^^^^^ + +stdin(838,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) = failwith "" : Choice;; + -----^^^^^ + +stdin(844,6): error FS1209: Active pattern '|A|B|' is not a function + diff --git a/tests/fsharp/core/printing/output.47.stdout.txt b/tests/fsharp/core/printing/output.47.stdout.txt new file mode 100644 index 00000000000..4d9c46549c0 --- /dev/null +++ b/tests/fsharp/core/printing/output.47.stdout.txt @@ -0,0 +1,6294 @@ + +> val repeatId: string = "A" + +> val repeatId: string = "B" + +namespace FSI_0004 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile1 = + new: unit -> ClassInFile1 + +namespace FSI_0005 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile1 = + new: unit -> ClassInFile1 + +namespace FSI_0005 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile2 = + new: unit -> ClassInFile2 + +> val x1: seq +val x2: seq +val x3: seq +val f1: System.Windows.Forms.Form = System.Windows.Forms.Form, Text: f1 form +val fs: System.Windows.Forms.Form[] = + [|System.Windows.Forms.Form, Text: fs #0; + System.Windows.Forms.Form, Text: fs #1; + System.Windows.Forms.Form, Text: fs #2; + System.Windows.Forms.Form, Text: fs #3; + System.Windows.Forms.Form, Text: fs #4; + System.Windows.Forms.Form, Text: fs #5; + System.Windows.Forms.Form, Text: fs #6; + System.Windows.Forms.Form, Text: fs #7; + System.Windows.Forms.Form, Text: fs #8; + System.Windows.Forms.Form, Text: fs #9; + System.Windows.Forms.Form, Text: fs #10; + System.Windows.Forms.Form, Text: fs #11; + System.Windows.Forms.Form, Text: fs #12; + System.Windows.Forms.Form, Text: fs #13; + System.Windows.Forms.Form, Text: fs #14; + System.Windows.Forms.Form, Text: fs #15; + System.Windows.Forms.Form, Text: fs #16; + System.Windows.Forms.Form, Text: fs #17; + System.Windows.Forms.Form, Text: fs #18; + System.Windows.Forms.Form, Text: fs #19; + System.Windows.Forms.Form, Text: fs #20; + System.Windows.Forms.Form, Text: fs #21; + System.Windows.Forms.Form, Text: fs #22; + System.Windows.Forms.Form, Text: fs #23; + System.Windows.Forms.Form, Text: fs #24; + System.Windows.Forms.Form, Text: fs #25; + System.Windows.Forms.Form, Text: fs #26; + System.Windows.Forms.Form, Text: fs #27; + System.Windows.Forms.Form, Text: fs #28; + System.Windows.Forms.Form, Text: fs #29; + System.Windows.Forms.Form, Text: fs #30; + System.Windows.Forms.Form, Text: fs #31; + System.Windows.Forms.Form, Text: fs #32; + System.Windows.Forms.Form, Text: fs #33; + System.Windows.Forms.Form, Text: fs #34; + System.Windows.Forms.Form, Text: fs #35; + System.Windows.Forms.Form, Text: fs #36; + System.Windows.Forms.Form, Text: fs #37; + System.Windows.Forms.Form, Text: fs #38; + System.Windows.Forms.Form, Text: fs #39; + System.Windows.Forms.Form, Text: fs #40; + System.Windows.Forms.Form, Text: fs #41; + System.Windows.Forms.Form, Text: fs #42; + System.Windows.Forms.Form, Text: fs #43; + System.Windows.Forms.Form, Text: fs #44; + System.Windows.Forms.Form, Text: fs #45; + System.Windows.Forms.Form, Text: fs #46; + System.Windows.Forms.Form, Text: fs #47; + System.Windows.Forms.Form, Text: fs #48; + System.Windows.Forms.Form, Text: fs #49; + System.Windows.Forms.Form, Text: fs #50; + System.Windows.Forms.Form, Text: fs #51; + System.Windows.Forms.Form, Text: fs #52; + System.Windows.Forms.Form, Text: fs #53; + System.Windows.Forms.Form, Text: fs #54; + System.Windows.Forms.Form, Text: fs #55; + System.Windows.Forms.Form, Text: fs #56; + System.Windows.Forms.Form, Text: fs #57; + System.Windows.Forms.Form, Text: fs #58; + System.Windows.Forms.Form, Text: fs #59; + System.Windows.Forms.Form, Text: fs #60; + System.Windows.Forms.Form, Text: fs #61; + System.Windows.Forms.Form, Text: fs #62; + System.Windows.Forms.Form, Text: fs #63; + System.Windows.Forms.Form, Text: fs #64; + System.Windows.Forms.Form, Text: fs #65; + System.Windows.Forms.Form, Text: fs #66; + System.Windows.Forms.Form, Text: fs #67; + System.Windows.Forms.Form, Text: fs #68; + System.Windows.Forms.Form, Text: fs #69; + System.Windows.Forms.Form, Text: fs #70; + System.Windows.Forms.Form, Text: fs #71; + System.Windows.Forms.Form, Text: fs #72; + System.Windows.Forms.Form, Text: fs #73; + System.Windows.Forms.Form, Text: fs #74; + System.Windows.Forms.Form, Text: fs #75; + System.Windows.Forms.Form, Text: fs #76; + System.Windows.Forms.Form, Text: fs #77; + System.Windows.Forms.Form, Text: fs #78; + System.Windows.Forms.Form, Text: fs #79; + System.Windows.Forms.Form, Text: fs #80; + System.Windows.Forms.Form, Text: fs #81; + System.Windows.Forms.Form, Text: fs #82; + System.Windows.Forms.Form, Text: fs #83; + System.Windows.Forms.Form, Text: fs #84; + System.Windows.Forms.Form, Text: fs #85; + System.Windows.Forms.Form, Text: fs #86; + System.Windows.Forms.Form, Text: fs #87; + System.Windows.Forms.Form, Text: fs #88; + System.Windows.Forms.Form, Text: fs #89; + System.Windows.Forms.Form, Text: fs #90; + System.Windows.Forms.Form, Text: fs #91; + System.Windows.Forms.Form, Text: fs #92; + System.Windows.Forms.Form, Text: fs #93; + System.Windows.Forms.Form, Text: fs #94; + System.Windows.Forms.Form, Text: fs #95; + System.Windows.Forms.Form, Text: fs #96; + System.Windows.Forms.Form, Text: fs #97; + System.Windows.Forms.Form, Text: fs #98; + System.Windows.Forms.Form, Text: fs #99; ...|] +val xs: string list = + ["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; "13"; + "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; "22"; "23"; "24"; "25"; + "26"; "27"; "28"; "29"; "30"; "31"; "32"; "33"; "34"; "35"; "36"; "37"; + "38"; "39"; "40"; "41"; "42"; "43"; "44"; "45"; "46"; "47"; "48"; "49"; + "50"; "51"; "52"; "53"; "54"; "55"; "56"; "57"; "58"; "59"; "60"; "61"; + "62"; "63"; "64"; "65"; "66"; "67"; "68"; "69"; "70"; "71"; "72"; "73"; + "74"; "75"; "76"; "77"; "78"; "79"; "80"; "81"; "82"; "83"; "84"; "85"; + "86"; "87"; "88"; "89"; "90"; "91"; "92"; "93"; "94"; "95"; "96"; "97"; + "98"; "99"; ...] +val xa: string[] = + [|"0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; "13"; + "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; "22"; "23"; "24"; "25"; + "26"; "27"; "28"; "29"; "30"; "31"; "32"; "33"; "34"; "35"; "36"; "37"; + "38"; "39"; "40"; "41"; "42"; "43"; "44"; "45"; "46"; "47"; "48"; "49"; + "50"; "51"; "52"; "53"; "54"; "55"; "56"; "57"; "58"; "59"; "60"; "61"; + "62"; "63"; "64"; "65"; "66"; "67"; "68"; "69"; "70"; "71"; "72"; "73"; + "74"; "75"; "76"; "77"; "78"; "79"; "80"; "81"; "82"; "83"; "84"; "85"; + "86"; "87"; "88"; "89"; "90"; "91"; "92"; "93"; "94"; "95"; "96"; "97"; + "98"; "99"; ...|] +val xa2: string[,] = [["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"] + ["10"; "11"; "12"; "13"; "14"; "15"; "16"; "17"] + ["20"; "21"; "22"; "23"; "24"; "25"; "26"; "27"] + ["30"; "31"; "32"; "33"; "34"; "35"; "36"; "37"] + ["40"; "41"; "42"; "43"; "44"; "45"; "46"; "47"] + ["50"; "51"; "52"; "53"; "54"; "55"; "56"; "57"] + ["60"; "61"; "62"; "63"; "64"; "65"; "66"; "67"] + ["70"; "71"; "72"; "73"; "74"; "75"; "76"; "77"]] +val sxs0: Set = set [] + +> val sxs1: Set = set ["0"] + +> val sxs2: Set = set ["0"; "1"] + +> val sxs3: Set = set ["0"; "1"; "2"] + +> val sxs4: Set = set ["0"; "1"; "2"; "3"] + +> val sxs200: Set = + set ["0"; "1"; "10"; "100"; "101"; "102"; "103"; "104"; "105"; ...] + +> val msxs0: Map = map [] + +> val msxs1: Map = map [(0, "0")] + +> val msxs2: Map = map [(0, "0"); (1, "1")] + +> val msxs3: Map = map [(0, "0"); (1, "1"); (2, "2")] + +> val msxs4: Map = map [(0, "0"); (1, "1"); (2, "2"); (3, "3")] + +> val msxs200: Map = + map + [(0, "0"); (1, "1"); (2, "2"); (3, "3"); (4, "4"); (5, "5"); (6, "6"); + (7, "7"); (8, "8"); ...] + +> module M = + val a: string = "sub-binding" + val b: + (seq * seq * seq * System.Windows.Forms.Form) option * + (string list * string list * string[,]) option = + (Some (, , , System.Windows.Forms.Form, Text: f1 form), + Some + (["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; + "13"; "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; "22"; "23"; + "24"; "25"; "26"; "27"; "28"; "29"; "30"; "31"; "32"; "33"; "34"; + "35"; "36"; "37"; "38"; "39"; "40"; "41"; "42"; "43"; "44"; "45"; + "46"; "47"; "48"; "49"; "50"; "51"; "52"; "53"; "54"; "55"; "56"; + "57"; "58"; "59"; "60"; "61"; "62"; "63"; "64"; "65"; "66"; "67"; + "68"; "69"; "70"; "71"; "72"; "73"; "74"; "75"; "76"; "77"; "78"; + "79"; "80"; "81"; "82"; "83"; "84"; "85"; "86"; "87"; "88"; "89"; + "90"; "91"; "92"; "93"; "94"; "95"; "96"; "97"; "98"; "99"; ...], + ["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; + "13"; "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; "22"; "23"; + "24"; "25"; "26"; "27"; "28"; "29"; "30"; "31"; "32"; "33"; "34"; + "35"; "36"; "37"; "38"; "39"; "40"; "41"; "42"; "43"; "44"; "45"; + "46"; "47"; "48"; "49"; "50"; "51"; "52"; "53"; "54"; "55"; "56"; + "57"; "58"; "59"; "60"; "61"; "62"; "63"; "64"; "65"; "66"; "67"; + "68"; "69"; "70"; "71"; "72"; "73"; "74"; "75"; "76"; "77"; "78"; + "79"; "80"; "81"; "82"; "83"; "84"; "85"; "86"; "87"; "88"; "89"; + "90"; "91"; "92"; "93"; "94"; "95"; "96"; "97"; "98"; "99"; ...], + [["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"] + ["10"; "11"; "12"; "13"; "14"; "15"; "16"; "17"] + ["20"; "21"; "22"; "23"; "24"; "25"; "26"; "27"] + ["30"; "31"; "32"; "33"; "34"; "35"; "36"; "37"] + ["40"; "41"; "42"; "43"; "44"; "45"; "46"; "47"] + ["50"; "51"; "52"; "53"; "54"; "55"; "56"; "57"] + ["60"; "61"; "62"; "63"; "64"; "65"; "66"; "67"] + ["70"; "71"; "72"; "73"; "74"; "75"; "76"; "77"]])) +type T = + new: a: int * b: int -> T + member AMethod: x: int -> int + static member StaticMethod: x: int -> int + member AProperty: int + static member StaticProperty: int +val f_as_method: x: int -> int +val f_as_thunk: (int -> int) +val refCell: string ref = { contents = "value" } +module D1 = + val words: System.Collections.Generic.IDictionary + val words2000: System.Collections.Generic.IDictionary + +> > module D2 = + val words: IDictionary + val words2000: IDictionary +val opt1: 'a option +val opt1b: int option = None +val opt4: 'a option option option option +val opt4b: int option option option option = Some (Some (Some None)) +val opt5: int list option option option option option list = + [Some (Some (Some (Some None))); + Some (Some (Some (Some (Some [1; 2; 3; 4; 5; 6])))); + Some + (Some + (Some + (Some + (Some + [1; 2; 3; 4; 5; 6; 7; 8; 9; 0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 1; + 2; 3; 4; 5; 6; 7; 8; 9; 1; 2; 3; 4; 5; 6; 7; 8; 9; 1; 2; 3; + 4; 5; 6; 7; 8; 9; 1; 2; 3; 4; 5; 6; 7; 8; 9; 0]))))] +val mkStr: n: int -> string +val strs: string[] = + [|""; "-"; "--"; "---"; "----"; "-----"; "------"; "-------"; "--------"; + "---------"; "----------"; "-----------"; "------------"; "-------------"; + "--------------"; "---------------"; "----------------"; + "-----------------"; "------------------"; "-------------------"; + "--------------------"; "---------------------"; "----------------------"; + "-----------------------"; "------------------------"; + "-------------------------"; "--------------------------"; + "---------------------------"; "----------------------------"; + "-----------------------------"; "------------------------------"; + "-------------------------------"; "--------------------------------"; + "---------------------------------"; "----------------------------------"; + "-----------------------------------"; + "------------------------------------"; + "-------------------------------------"; + "--------------------------------------"; + "---------------------------------------"; + "----------------------------------------"; + "-----------------------------------------"; + "------------------------------------------"; + "-------------------------------------------"; + "--------------------------------------------"; + "---------------------------------------------"; + "----------------------------------------------"; + "-----------------------------------------------"; + "------------------------------------------------"; + "-------------------------------------------------"; + "--------------------------------------------------"; + "---------------------------------------------------"; + "----------------------------------------------------"; + "-----------------------------------------------------"; + "------------------------------------------------------"; + "-------------------------------------------------------"; + "--------------------------------------------------------"; + "---------------------------------------------------------"; + "----------------------------------------------------------"; + "-----------------------------------------------------------"; + "------------------------------------------------------------"; + "-------------------------------------------------------------"; + "--------------------------------------------------------------"; + "---------------------------------------------------------------"; + "----------------------------------------------------------------"; + "-----------------------------------------------------------------"; + "------------------------------------------------------------------"; + "-------------------------------------------------------------------"; + "--------------------------------------------------------------------"; + "---------------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-----------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[12 chars]; + "-------------------------------------------------------------"+[13 chars]; + "-------------------------------------------------------------"+[14 chars]; + "-------------------------------------------------------------"+[15 chars]; + "-------------------------------------------------------------"+[16 chars]; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[18 chars]; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[20 chars]; + "-------------------------------------------------------------"+[21 chars]; + "-------------------------------------------------------------"+[22 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[24 chars]; + "-------------------------------------------------------------"+[25 chars]; + "-------------------------------------------------------------"+[26 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[28 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[30 chars]; + "-------------------------------------------------------------"+[31 chars]; + "-------------------------------------------------------------"+[32 chars]; + "-------------------------------------------------------------"+[33 chars]; + "-------------------------------------------------------------"+[34 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[36 chars]; + "-------------------------------------------------------------"+[37 chars]; + "-------------------------------------------------------------"+[38 chars]|] +val str7s: string[] = + [|""; "-------"; "--------------"; "---------------------"; + "----------------------------"; "-----------------------------------"; + "------------------------------------------"; + "-------------------------------------------------"; + "--------------------------------------------------------"; + "---------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[16 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[30 chars]; + "-------------------------------------------------------------"+[37 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[58 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[72 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[86 chars]; + "-------------------------------------------------------------"+[93 chars]; + "-------------------------------------------------------------"+[100 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[114 chars]; + "-------------------------------------------------------------"+[121 chars]; + "-------------------------------------------------------------"+[128 chars]; + "-------------------------------------------------------------"+[135 chars]; + "-------------------------------------------------------------"+[142 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[156 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[170 chars]; + "-------------------------------------------------------------"+[177 chars]; + "-------------------------------------------------------------"+[184 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[198 chars]; + "-------------------------------------------------------------"+[205 chars]; + "-------------------------------------------------------------"+[212 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[226 chars]; + "-------------------------------------------------------------"+[233 chars]; + "-------------------------------------------------------------"+[240 chars]; + "-------------------------------------------------------------"+[247 chars]; + "-------------------------------------------------------------"+[254 chars]; + "-------------------------------------------------------------"+[261 chars]; + "-------------------------------------------------------------"+[268 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[282 chars]; + "-------------------------------------------------------------"+[289 chars]; + "-------------------------------------------------------------"+[296 chars]; + "-------------------------------------------------------------"+[303 chars]; + "-------------------------------------------------------------"+[310 chars]; + "-------------------------------------------------------------"+[317 chars]; + "-------------------------------------------------------------"+[324 chars]; + "-------------------------------------------------------------"+[331 chars]; + "-------------------------------------------------------------"+[338 chars]; + "-------------------------------------------------------------"+[345 chars]; + "-------------------------------------------------------------"+[352 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[366 chars]; + "-------------------------------------------------------------"+[373 chars]; + "-------------------------------------------------------------"+[380 chars]; + "-------------------------------------------------------------"+[387 chars]; + "-------------------------------------------------------------"+[394 chars]; + "-------------------------------------------------------------"+[401 chars]; + "-------------------------------------------------------------"+[408 chars]; + "-------------------------------------------------------------"+[415 chars]; + "-------------------------------------------------------------"+[422 chars]; + "-------------------------------------------------------------"+[429 chars]; + "-------------------------------------------------------------"+[436 chars]; + "-------------------------------------------------------------"+[443 chars]; + "-------------------------------------------------------------"+[450 chars]; + "-------------------------------------------------------------"+[457 chars]; + "-------------------------------------------------------------"+[464 chars]; + "-------------------------------------------------------------"+[471 chars]; + "-------------------------------------------------------------"+[478 chars]; + "-------------------------------------------------------------"+[485 chars]; + "-------------------------------------------------------------"+[492 chars]; + "-------------------------------------------------------------"+[499 chars]; + "-------------------------------------------------------------"+[506 chars]; + "-------------------------------------------------------------"+[513 chars]; + "-------------------------------------------------------------"+[520 chars]; + "-------------------------------------------------------------"+[527 chars]; + "-------------------------------------------------------------"+[534 chars]; + "-------------------------------------------------------------"+[541 chars]; + "-------------------------------------------------------------"+[548 chars]; + "-------------------------------------------------------------"+[555 chars]; + "-------------------------------------------------------------"+[562 chars]; + "-------------------------------------------------------------"+[569 chars]; + "-------------------------------------------------------------"+[576 chars]; + "-------------------------------------------------------------"+[583 chars]; + "-------------------------------------------------------------"+[590 chars]; + "-------------------------------------------------------------"+[597 chars]; + "-------------------------------------------------------------"+[604 chars]; + "-------------------------------------------------------------"+[611 chars]; + "-------------------------------------------------------------"+[618 chars]; + "-------------------------------------------------------------"+[625 chars]; + "-------------------------------------------------------------"+[632 chars]|] +val grids: string[,] = + [[""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; + ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; + ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""] + [""; "-"; "--"; "---"; "----"; "-----"; "------"; "-------"; "--------"; + "---------"; "----------"; "-----------"; "------------"; "-------------"; + "--------------"; "---------------"; "----------------"; + "-----------------"; "------------------"; "-------------------"; + "--------------------"; "---------------------"; "----------------------"; + "-----------------------"; "------------------------"; + "-------------------------"; "--------------------------"; + "---------------------------"; "----------------------------"; + "-----------------------------"; "------------------------------"; + "-------------------------------"; "--------------------------------"; + "---------------------------------"; "----------------------------------"; + "-----------------------------------"; + "------------------------------------"; + "-------------------------------------"; + "--------------------------------------"; + "---------------------------------------"; + "----------------------------------------"; + "-----------------------------------------"; + "------------------------------------------"; + "-------------------------------------------"; + "--------------------------------------------"; + "---------------------------------------------"; + "----------------------------------------------"; + "-----------------------------------------------"; + "------------------------------------------------"; + "-------------------------------------------------"] + [""; "--"; "----"; "------"; "--------"; "----------"; "------------"; + "--------------"; "----------------"; "------------------"; + "--------------------"; "----------------------"; + "------------------------"; "--------------------------"; + "----------------------------"; "------------------------------"; + "--------------------------------"; "----------------------------------"; + "------------------------------------"; + "--------------------------------------"; + "----------------------------------------"; + "------------------------------------------"; + "--------------------------------------------"; + "----------------------------------------------"; + "------------------------------------------------"; + "--------------------------------------------------"; + "----------------------------------------------------"; + "------------------------------------------------------"; + "--------------------------------------------------------"; + "----------------------------------------------------------"; + "------------------------------------------------------------"; + "--------------------------------------------------------------"; + "----------------------------------------------------------------"; + "------------------------------------------------------------------"; + "--------------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[13 chars]; + "-------------------------------------------------------------"+[15 chars]; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[21 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[25 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[31 chars]; + "-------------------------------------------------------------"+[33 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[37 chars]] + [""; "---"; "------"; "---------"; "------------"; "---------------"; + "------------------"; "---------------------"; "------------------------"; + "---------------------------"; "------------------------------"; + "---------------------------------"; + "------------------------------------"; + "---------------------------------------"; + "------------------------------------------"; + "---------------------------------------------"; + "------------------------------------------------"; + "---------------------------------------------------"; + "------------------------------------------------------"; + "---------------------------------------------------------"; + "------------------------------------------------------------"; + "---------------------------------------------------------------"; + "------------------------------------------------------------------"; + "---------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[14 chars]; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[20 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[26 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[32 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[38 chars]; + "-------------------------------------------------------------"+[41 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[50 chars]; + "-------------------------------------------------------------"+[53 chars]; + "-------------------------------------------------------------"+[56 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[62 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[68 chars]; + "-------------------------------------------------------------"+[71 chars]; + "-------------------------------------------------------------"+[74 chars]; + "-------------------------------------------------------------"+[77 chars]; + "-------------------------------------------------------------"+[80 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[86 chars]] + [""; "----"; "--------"; "------------"; "----------------"; + "--------------------"; "------------------------"; + "----------------------------"; "--------------------------------"; + "------------------------------------"; + "----------------------------------------"; + "--------------------------------------------"; + "------------------------------------------------"; + "----------------------------------------------------"; + "--------------------------------------------------------"; + "------------------------------------------------------------"; + "----------------------------------------------------------------"; + "--------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[15 chars]; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[31 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[39 chars]; + "-------------------------------------------------------------"+[43 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[55 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[63 chars]; + "-------------------------------------------------------------"+[67 chars]; + "-------------------------------------------------------------"+[71 chars]; + "-------------------------------------------------------------"+[75 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[87 chars]; + "-------------------------------------------------------------"+[91 chars]; + "-------------------------------------------------------------"+[95 chars]; + "-------------------------------------------------------------"+[99 chars]; + "-------------------------------------------------------------"+[103 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[111 chars]; + "-------------------------------------------------------------"+[115 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[123 chars]; + "-------------------------------------------------------------"+[127 chars]; + "-------------------------------------------------------------"+[131 chars]; + "-------------------------------------------------------------"+[135 chars]] + [""; "-----"; "----------"; "---------------"; "--------------------"; + "-------------------------"; "------------------------------"; + "-----------------------------------"; + "----------------------------------------"; + "---------------------------------------------"; + "--------------------------------------------------"; + "-------------------------------------------------------"; + "------------------------------------------------------------"; + "-----------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[14 chars]; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[24 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[34 chars]; + "-------------------------------------------------------------"+[39 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[49 chars]; + "-------------------------------------------------------------"+[54 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[64 chars]; + "-------------------------------------------------------------"+[69 chars]; + "-------------------------------------------------------------"+[74 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[84 chars]; + "-------------------------------------------------------------"+[89 chars]; + "-------------------------------------------------------------"+[94 chars]; + "-------------------------------------------------------------"+[99 chars]; + "-------------------------------------------------------------"+[104 chars]; + "-------------------------------------------------------------"+[109 chars]; + "-------------------------------------------------------------"+[114 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[124 chars]; + "-------------------------------------------------------------"+[129 chars]; + "-------------------------------------------------------------"+[134 chars]; + "-------------------------------------------------------------"+[139 chars]; + "-------------------------------------------------------------"+[144 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[154 chars]; + "-------------------------------------------------------------"+[159 chars]; + "-------------------------------------------------------------"+[164 chars]; + "-------------------------------------------------------------"+[169 chars]; + "-------------------------------------------------------------"+[174 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[184 chars]] + [""; "------"; "------------"; "------------------"; + "------------------------"; "------------------------------"; + "------------------------------------"; + "------------------------------------------"; + "------------------------------------------------"; + "------------------------------------------------------"; + "------------------------------------------------------------"; + "------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[41 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[53 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[71 chars]; + "-------------------------------------------------------------"+[77 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[89 chars]; + "-------------------------------------------------------------"+[95 chars]; + "-------------------------------------------------------------"+[101 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[113 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[125 chars]; + "-------------------------------------------------------------"+[131 chars]; + "-------------------------------------------------------------"+[137 chars]; + "-------------------------------------------------------------"+[143 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[155 chars]; + "-------------------------------------------------------------"+[161 chars]; + "-------------------------------------------------------------"+[167 chars]; + "-------------------------------------------------------------"+[173 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[185 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[197 chars]; + "-------------------------------------------------------------"+[203 chars]; + "-------------------------------------------------------------"+[209 chars]; + "-------------------------------------------------------------"+[215 chars]; + "-------------------------------------------------------------"+[221 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[233 chars]] + [""; "-------"; "--------------"; "---------------------"; + "----------------------------"; "-----------------------------------"; + "------------------------------------------"; + "-------------------------------------------------"; + "--------------------------------------------------------"; + "---------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[16 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[30 chars]; + "-------------------------------------------------------------"+[37 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[58 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[72 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[86 chars]; + "-------------------------------------------------------------"+[93 chars]; + "-------------------------------------------------------------"+[100 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[114 chars]; + "-------------------------------------------------------------"+[121 chars]; + "-------------------------------------------------------------"+[128 chars]; + "-------------------------------------------------------------"+[135 chars]; + "-------------------------------------------------------------"+[142 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[156 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[170 chars]; + "-------------------------------------------------------------"+[177 chars]; + "-------------------------------------------------------------"+[184 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[198 chars]; + "-------------------------------------------------------------"+[205 chars]; + "-------------------------------------------------------------"+[212 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[226 chars]; + "-------------------------------------------------------------"+[233 chars]; + "-------------------------------------------------------------"+[240 chars]; + "-------------------------------------------------------------"+[247 chars]; + "-------------------------------------------------------------"+[254 chars]; + "-------------------------------------------------------------"+[261 chars]; + "-------------------------------------------------------------"+[268 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[282 chars]] + [""; "--------"; "----------------"; "------------------------"; + "--------------------------------"; + "----------------------------------------"; + "------------------------------------------------"; + "--------------------------------------------------------"; + "----------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[43 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[67 chars]; + "-------------------------------------------------------------"+[75 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[91 chars]; + "-------------------------------------------------------------"+[99 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[115 chars]; + "-------------------------------------------------------------"+[123 chars]; + "-------------------------------------------------------------"+[131 chars]; + "-------------------------------------------------------------"+[139 chars]; + "-------------------------------------------------------------"+[147 chars]; + "-------------------------------------------------------------"+[155 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[171 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[187 chars]; + "-------------------------------------------------------------"+[195 chars]; + "-------------------------------------------------------------"+[203 chars]; + "-------------------------------------------------------------"+[211 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[235 chars]; + "-------------------------------------------------------------"+[243 chars]; + "-------------------------------------------------------------"+[251 chars]; + "-------------------------------------------------------------"+[259 chars]; + "-------------------------------------------------------------"+[267 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[283 chars]; + "-------------------------------------------------------------"+[291 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[307 chars]; + "-------------------------------------------------------------"+[315 chars]; + "-------------------------------------------------------------"+[323 chars]; + "-------------------------------------------------------------"+[331 chars]] + [""; "---------"; "------------------"; "---------------------------"; + "------------------------------------"; + "---------------------------------------------"; + "------------------------------------------------------"; + "---------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[20 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[38 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[56 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[74 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[92 chars]; + "-------------------------------------------------------------"+[101 chars]; + "-------------------------------------------------------------"+[110 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[128 chars]; + "-------------------------------------------------------------"+[137 chars]; + "-------------------------------------------------------------"+[146 chars]; + "-------------------------------------------------------------"+[155 chars]; + "-------------------------------------------------------------"+[164 chars]; + "-------------------------------------------------------------"+[173 chars]; + "-------------------------------------------------------------"+[182 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[200 chars]; + "-------------------------------------------------------------"+[209 chars]; + "-------------------------------------------------------------"+[218 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[236 chars]; + "-------------------------------------------------------------"+[245 chars]; + "-------------------------------------------------------------"+[254 chars]; + "-------------------------------------------------------------"+[263 chars]; + "-------------------------------------------------------------"+[272 chars]; + "-------------------------------------------------------------"+[281 chars]; + "-------------------------------------------------------------"+[290 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[308 chars]; + "-------------------------------------------------------------"+[317 chars]; + "-------------------------------------------------------------"+[326 chars]; + "-------------------------------------------------------------"+[335 chars]; + "-------------------------------------------------------------"+[344 chars]; + "-------------------------------------------------------------"+[353 chars]; + "-------------------------------------------------------------"+[362 chars]; + "-------------------------------------------------------------"+[371 chars]; + "-------------------------------------------------------------"+[380 chars]] + [""; "----------"; "--------------------"; "------------------------------"; + "----------------------------------------"; + "--------------------------------------------------"; + "------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[39 chars]; + "-------------------------------------------------------------"+[49 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[69 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[89 chars]; + "-------------------------------------------------------------"+[99 chars]; + "-------------------------------------------------------------"+[109 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[129 chars]; + "-------------------------------------------------------------"+[139 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[159 chars]; + "-------------------------------------------------------------"+[169 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[189 chars]; + "-------------------------------------------------------------"+[199 chars]; + "-------------------------------------------------------------"+[209 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[229 chars]; + "-------------------------------------------------------------"+[239 chars]; + "-------------------------------------------------------------"+[249 chars]; + "-------------------------------------------------------------"+[259 chars]; + "-------------------------------------------------------------"+[269 chars]; + "-------------------------------------------------------------"+[279 chars]; + "-------------------------------------------------------------"+[289 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[309 chars]; + "-------------------------------------------------------------"+[319 chars]; + "-------------------------------------------------------------"+[329 chars]; + "-------------------------------------------------------------"+[339 chars]; + "-------------------------------------------------------------"+[349 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[369 chars]; + "-------------------------------------------------------------"+[379 chars]; + "-------------------------------------------------------------"+[389 chars]; + "-------------------------------------------------------------"+[399 chars]; + "-------------------------------------------------------------"+[409 chars]; + "-------------------------------------------------------------"+[419 chars]; + "-------------------------------------------------------------"+[429 chars]] + [""; "-----------"; "----------------------"; + "---------------------------------"; + "--------------------------------------------"; + "-------------------------------------------------------"; + "------------------------------------------------------------------"; + "-------------------------------------------------------------"+[16 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[38 chars]; + "-------------------------------------------------------------"+[49 chars]; + "-------------------------------------------------------------"+[60 chars]; + "-------------------------------------------------------------"+[71 chars]; + "-------------------------------------------------------------"+[82 chars]; + "-------------------------------------------------------------"+[93 chars]; + "-------------------------------------------------------------"+[104 chars]; + "-------------------------------------------------------------"+[115 chars]; + "-------------------------------------------------------------"+[126 chars]; + "-------------------------------------------------------------"+[137 chars]; + "-------------------------------------------------------------"+[148 chars]; + "-------------------------------------------------------------"+[159 chars]; + "-------------------------------------------------------------"+[170 chars]; + "-------------------------------------------------------------"+[181 chars]; + "-------------------------------------------------------------"+[192 chars]; + "-------------------------------------------------------------"+[203 chars]; + "-------------------------------------------------------------"+[214 chars]; + "-------------------------------------------------------------"+[225 chars]; + "-------------------------------------------------------------"+[236 chars]; + "-------------------------------------------------------------"+[247 chars]; + "-------------------------------------------------------------"+[258 chars]; + "-------------------------------------------------------------"+[269 chars]; + "-------------------------------------------------------------"+[280 chars]; + "-------------------------------------------------------------"+[291 chars]; + "-------------------------------------------------------------"+[302 chars]; + "-------------------------------------------------------------"+[313 chars]; + "-------------------------------------------------------------"+[324 chars]; + "-------------------------------------------------------------"+[335 chars]; + "-------------------------------------------------------------"+[346 chars]; + "-------------------------------------------------------------"+[357 chars]; + "-------------------------------------------------------------"+[368 chars]; + "-------------------------------------------------------------"+[379 chars]; + "-------------------------------------------------------------"+[390 chars]; + "-------------------------------------------------------------"+[401 chars]; + "-------------------------------------------------------------"+[412 chars]; + "-------------------------------------------------------------"+[423 chars]; + "-------------------------------------------------------------"+[434 chars]; + "-------------------------------------------------------------"+[445 chars]; + "-------------------------------------------------------------"+[456 chars]; + "-------------------------------------------------------------"+[467 chars]; + "-------------------------------------------------------------"+[478 chars]] + [""; "------------"; "------------------------"; + "------------------------------------"; + "------------------------------------------------"; + "------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[71 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[95 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[131 chars]; + "-------------------------------------------------------------"+[143 chars]; + "-------------------------------------------------------------"+[155 chars]; + "-------------------------------------------------------------"+[167 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[203 chars]; + "-------------------------------------------------------------"+[215 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[239 chars]; + "-------------------------------------------------------------"+[251 chars]; + "-------------------------------------------------------------"+[263 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[287 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[311 chars]; + "-------------------------------------------------------------"+[323 chars]; + "-------------------------------------------------------------"+[335 chars]; + "-------------------------------------------------------------"+[347 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[371 chars]; + "-------------------------------------------------------------"+[383 chars]; + "-------------------------------------------------------------"+[395 chars]; + "-------------------------------------------------------------"+[407 chars]; + "-------------------------------------------------------------"+[419 chars]; + "-------------------------------------------------------------"+[431 chars]; + "-------------------------------------------------------------"+[443 chars]; + "-------------------------------------------------------------"+[455 chars]; + "-------------------------------------------------------------"+[467 chars]; + "-------------------------------------------------------------"+[479 chars]; + "-------------------------------------------------------------"+[491 chars]; + "-------------------------------------------------------------"+[503 chars]; + "-------------------------------------------------------------"+[515 chars]; + "-------------------------------------------------------------"+[527 chars]] + [""; "-------------"; "--------------------------"; + "---------------------------------------"; + "----------------------------------------------------"; + "-----------------------------------------------------------------"; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[30 chars]; + "-------------------------------------------------------------"+[43 chars]; + "-------------------------------------------------------------"+[56 chars]; + "-------------------------------------------------------------"+[69 chars]; + "-------------------------------------------------------------"+[82 chars]; + "-------------------------------------------------------------"+[95 chars]; + "-------------------------------------------------------------"+[108 chars]; + "-------------------------------------------------------------"+[121 chars]; + "-------------------------------------------------------------"+[134 chars]; + "-------------------------------------------------------------"+[147 chars]; + "-------------------------------------------------------------"+[160 chars]; + "-------------------------------------------------------------"+[173 chars]; + "-------------------------------------------------------------"+[186 chars]; + "-------------------------------------------------------------"+[199 chars]; + "-------------------------------------------------------------"+[212 chars]; + "-------------------------------------------------------------"+[225 chars]; + "-------------------------------------------------------------"+[238 chars]; + "-------------------------------------------------------------"+[251 chars]; + "-------------------------------------------------------------"+[264 chars]; + "-------------------------------------------------------------"+[277 chars]; + "-------------------------------------------------------------"+[290 chars]; + "-------------------------------------------------------------"+[303 chars]; + "-------------------------------------------------------------"+[316 chars]; + "-------------------------------------------------------------"+[329 chars]; + "-------------------------------------------------------------"+[342 chars]; + "-------------------------------------------------------------"+[355 chars]; + "-------------------------------------------------------------"+[368 chars]; + "-------------------------------------------------------------"+[381 chars]; + "-------------------------------------------------------------"+[394 chars]; + "-------------------------------------------------------------"+[407 chars]; + "-------------------------------------------------------------"+[420 chars]; + "-------------------------------------------------------------"+[433 chars]; + "-------------------------------------------------------------"+[446 chars]; + "-------------------------------------------------------------"+[459 chars]; + "-------------------------------------------------------------"+[472 chars]; + "-------------------------------------------------------------"+[485 chars]; + "-------------------------------------------------------------"+[498 chars]; + "-------------------------------------------------------------"+[511 chars]; + "-------------------------------------------------------------"+[524 chars]; + "-------------------------------------------------------------"+[537 chars]; + "-------------------------------------------------------------"+[550 chars]; + "-------------------------------------------------------------"+[563 chars]; + "-------------------------------------------------------------"+[576 chars]] + [""; "--------------"; "----------------------------"; + "------------------------------------------"; + "--------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[37 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[93 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[121 chars]; + "-------------------------------------------------------------"+[135 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[177 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[205 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[233 chars]; + "-------------------------------------------------------------"+[247 chars]; + "-------------------------------------------------------------"+[261 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[289 chars]; + "-------------------------------------------------------------"+[303 chars]; + "-------------------------------------------------------------"+[317 chars]; + "-------------------------------------------------------------"+[331 chars]; + "-------------------------------------------------------------"+[345 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[373 chars]; + "-------------------------------------------------------------"+[387 chars]; + "-------------------------------------------------------------"+[401 chars]; + "-------------------------------------------------------------"+[415 chars]; + "-------------------------------------------------------------"+[429 chars]; + "-------------------------------------------------------------"+[443 chars]; + "-------------------------------------------------------------"+[457 chars]; + "-------------------------------------------------------------"+[471 chars]; + "-------------------------------------------------------------"+[485 chars]; + "-------------------------------------------------------------"+[499 chars]; + "-------------------------------------------------------------"+[513 chars]; + "-------------------------------------------------------------"+[527 chars]; + "-------------------------------------------------------------"+[541 chars]; + "-------------------------------------------------------------"+[555 chars]; + "-------------------------------------------------------------"+[569 chars]; + "-------------------------------------------------------------"+[583 chars]; + "-------------------------------------------------------------"+[597 chars]; + "-------------------------------------------------------------"+[611 chars]; + "-------------------------------------------------------------"+[625 chars]] + [""; "---------------"; "------------------------------"; + "---------------------------------------------"; + "------------------------------------------------------------"; + "-------------------------------------------------------------"+[14 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[74 chars]; + "-------------------------------------------------------------"+[89 chars]; + "-------------------------------------------------------------"+[104 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[134 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[164 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[194 chars]; + "-------------------------------------------------------------"+[209 chars]; + "-------------------------------------------------------------"+[224 chars]; + "-------------------------------------------------------------"+[239 chars]; + "-------------------------------------------------------------"+[254 chars]; + "-------------------------------------------------------------"+[269 chars]; + "-------------------------------------------------------------"+[284 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[314 chars]; + "-------------------------------------------------------------"+[329 chars]; + "-------------------------------------------------------------"+[344 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[374 chars]; + "-------------------------------------------------------------"+[389 chars]; + "-------------------------------------------------------------"+[404 chars]; + "-------------------------------------------------------------"+[419 chars]; + "-------------------------------------------------------------"+[434 chars]; + "-------------------------------------------------------------"+[449 chars]; + "-------------------------------------------------------------"+[464 chars]; + "-------------------------------------------------------------"+[479 chars]; + "-------------------------------------------------------------"+[494 chars]; + "-------------------------------------------------------------"+[509 chars]; + "-------------------------------------------------------------"+[524 chars]; + "-------------------------------------------------------------"+[539 chars]; + "-------------------------------------------------------------"+[554 chars]; + "-------------------------------------------------------------"+[569 chars]; + "-------------------------------------------------------------"+[584 chars]; + "-------------------------------------------------------------"+[599 chars]; + "-------------------------------------------------------------"+[614 chars]; + "-------------------------------------------------------------"+[629 chars]; + "-------------------------------------------------------------"+[644 chars]; + "-------------------------------------------------------------"+[659 chars]; + "-------------------------------------------------------------"+[674 chars]] + [""; "----------------"; "--------------------------------"; + "------------------------------------------------"; + "----------------------------------------------------------------"; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[67 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[99 chars]; + "-------------------------------------------------------------"+[115 chars]; + "-------------------------------------------------------------"+[131 chars]; + "-------------------------------------------------------------"+[147 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[195 chars]; + "-------------------------------------------------------------"+[211 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[243 chars]; + "-------------------------------------------------------------"+[259 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[291 chars]; + "-------------------------------------------------------------"+[307 chars]; + "-------------------------------------------------------------"+[323 chars]; + "-------------------------------------------------------------"+[339 chars]; + "-------------------------------------------------------------"+[355 chars]; + "-------------------------------------------------------------"+[371 chars]; + "-------------------------------------------------------------"+[387 chars]; + "-------------------------------------------------------------"+[403 chars]; + "-------------------------------------------------------------"+[419 chars]; + "-------------------------------------------------------------"+[435 chars]; + "-------------------------------------------------------------"+[451 chars]; + "-------------------------------------------------------------"+[467 chars]; + "-------------------------------------------------------------"+[483 chars]; + "-------------------------------------------------------------"+[499 chars]; + "-------------------------------------------------------------"+[515 chars]; + "-------------------------------------------------------------"+[531 chars]; + "-------------------------------------------------------------"+[547 chars]; + "-------------------------------------------------------------"+[563 chars]; + "-------------------------------------------------------------"+[579 chars]; + "-------------------------------------------------------------"+[595 chars]; + "-------------------------------------------------------------"+[611 chars]; + "-------------------------------------------------------------"+[627 chars]; + "-------------------------------------------------------------"+[643 chars]; + "-------------------------------------------------------------"+[659 chars]; + "-------------------------------------------------------------"+[675 chars]; + "-------------------------------------------------------------"+[691 chars]; + "-------------------------------------------------------------"+[707 chars]; + "-------------------------------------------------------------"+[723 chars]] + [""; "-----------------"; "----------------------------------"; + "---------------------------------------------------"; + "--------------------------------------------------------------------"; + "-------------------------------------------------------------"+[24 chars]; + "-------------------------------------------------------------"+[41 chars]; + "-------------------------------------------------------------"+[58 chars]; + "-------------------------------------------------------------"+[75 chars]; + "-------------------------------------------------------------"+[92 chars]; + "-------------------------------------------------------------"+[109 chars]; + "-------------------------------------------------------------"+[126 chars]; + "-------------------------------------------------------------"+[143 chars]; + "-------------------------------------------------------------"+[160 chars]; + "-------------------------------------------------------------"+[177 chars]; + "-------------------------------------------------------------"+[194 chars]; + "-------------------------------------------------------------"+[211 chars]; + "-------------------------------------------------------------"+[228 chars]; + "-------------------------------------------------------------"+[245 chars]; + "-------------------------------------------------------------"+[262 chars]; + "-------------------------------------------------------------"+[279 chars]; + "-------------------------------------------------------------"+[296 chars]; + "-------------------------------------------------------------"+[313 chars]; + "-------------------------------------------------------------"+[330 chars]; + "-------------------------------------------------------------"+[347 chars]; + "-------------------------------------------------------------"+[364 chars]; + "-------------------------------------------------------------"+[381 chars]; + "-------------------------------------------------------------"+[398 chars]; + "-------------------------------------------------------------"+[415 chars]; + "-------------------------------------------------------------"+[432 chars]; + "-------------------------------------------------------------"+[449 chars]; + "-------------------------------------------------------------"+[466 chars]; + "-------------------------------------------------------------"+[483 chars]; + "-------------------------------------------------------------"+[500 chars]; + "-------------------------------------------------------------"+[517 chars]; + "-------------------------------------------------------------"+[534 chars]; + "-------------------------------------------------------------"+[551 chars]; + "-------------------------------------------------------------"+[568 chars]; + "-------------------------------------------------------------"+[585 chars]; + "-------------------------------------------------------------"+[602 chars]; + "-------------------------------------------------------------"+[619 chars]; + "-------------------------------------------------------------"+[636 chars]; + "-------------------------------------------------------------"+[653 chars]; + "-------------------------------------------------------------"+[670 chars]; + "-------------------------------------------------------------"+[687 chars]; + "-------------------------------------------------------------"+[704 chars]; + "-------------------------------------------------------------"+[721 chars]; + "-------------------------------------------------------------"+[738 chars]; + "-------------------------------------------------------------"+[755 chars]; + "-------------------------------------------------------------"+[772 chars]] + [""; "------------------"; "------------------------------------"; + "------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[101 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[137 chars]; + "-------------------------------------------------------------"+[155 chars]; + "-------------------------------------------------------------"+[173 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[209 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[245 chars]; + "-------------------------------------------------------------"+[263 chars]; + "-------------------------------------------------------------"+[281 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[317 chars]; + "-------------------------------------------------------------"+[335 chars]; + "-------------------------------------------------------------"+[353 chars]; + "-------------------------------------------------------------"+[371 chars]; + "-------------------------------------------------------------"+[389 chars]; + "-------------------------------------------------------------"+[407 chars]; + "-------------------------------------------------------------"+[425 chars]; + "-------------------------------------------------------------"+[443 chars]; + "-------------------------------------------------------------"+[461 chars]; + "-------------------------------------------------------------"+[479 chars]; + "-------------------------------------------------------------"+[497 chars]; + "-------------------------------------------------------------"+[515 chars]; + "-------------------------------------------------------------"+[533 chars]; + "-------------------------------------------------------------"+[551 chars]; + "-------------------------------------------------------------"+[569 chars]; + "-------------------------------------------------------------"+[587 chars]; + "-------------------------------------------------------------"+[605 chars]; + "-------------------------------------------------------------"+[623 chars]; + "-------------------------------------------------------------"+[641 chars]; + "-------------------------------------------------------------"+[659 chars]; + "-------------------------------------------------------------"+[677 chars]; + "-------------------------------------------------------------"+[695 chars]; + "-------------------------------------------------------------"+[713 chars]; + "-------------------------------------------------------------"+[731 chars]; + "-------------------------------------------------------------"+[749 chars]; + "-------------------------------------------------------------"+[767 chars]; + "-------------------------------------------------------------"+[785 chars]; + "-------------------------------------------------------------"+[803 chars]; + "-------------------------------------------------------------"+[821 chars]] + [""; "-------------------"; "--------------------------------------"; + "---------------------------------------------------------"; + "-------------------------------------------------------------"+[15 chars]; + "-------------------------------------------------------------"+[34 chars]; + "-------------------------------------------------------------"+[53 chars]; + "-------------------------------------------------------------"+[72 chars]; + "-------------------------------------------------------------"+[91 chars]; + "-------------------------------------------------------------"+[110 chars]; + "-------------------------------------------------------------"+[129 chars]; + "-------------------------------------------------------------"+[148 chars]; + "-------------------------------------------------------------"+[167 chars]; + "-------------------------------------------------------------"+[186 chars]; + "-------------------------------------------------------------"+[205 chars]; + "-------------------------------------------------------------"+[224 chars]; + "-------------------------------------------------------------"+[243 chars]; + "-------------------------------------------------------------"+[262 chars]; + "-------------------------------------------------------------"+[281 chars]; + "-------------------------------------------------------------"+[300 chars]; + "-------------------------------------------------------------"+[319 chars]; + "-------------------------------------------------------------"+[338 chars]; + "-------------------------------------------------------------"+[357 chars]; + "-------------------------------------------------------------"+[376 chars]; + "-------------------------------------------------------------"+[395 chars]; + "-------------------------------------------------------------"+[414 chars]; + "-------------------------------------------------------------"+[433 chars]; + "-------------------------------------------------------------"+[452 chars]; + "-------------------------------------------------------------"+[471 chars]; + "-------------------------------------------------------------"+[490 chars]; + "-------------------------------------------------------------"+[509 chars]; + "-------------------------------------------------------------"+[528 chars]; + "-------------------------------------------------------------"+[547 chars]; + "-------------------------------------------------------------"+[566 chars]; + "-------------------------------------------------------------"+[585 chars]; + "-------------------------------------------------------------"+[604 chars]; + "-------------------------------------------------------------"+[623 chars]; + "-------------------------------------------------------------"+[642 chars]; + "-------------------------------------------------------------"+[661 chars]; + "-------------------------------------------------------------"+[680 chars]; + "-------------------------------------------------------------"+[699 chars]; + "-------------------------------------------------------------"+[718 chars]; + "-------------------------------------------------------------"+[737 chars]; + "-------------------------------------------------------------"+[756 chars]; + "-------------------------------------------------------------"+[775 chars]; + "-------------------------------------------------------------"+[794 chars]; + "-------------------------------------------------------------"+[813 chars]; + "-------------------------------------------------------------"+[832 chars]; + "-------------------------------------------------------------"+[851 chars]; + "-------------------------------------------------------------"+[870 chars]; + ...] + ...] + +> type tree = + | L + | N of tree list +val mkT: w: int -> d: int -> tree +val tree: w: int -> d: int -> tree + +> [Building 2 4...done] +val tree_2_4: tree = + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]] + +> [Building 2 6...done] +val tree_2_6: tree = + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]] + +> [Building 2 8...done] +val tree_2_8: tree = + N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]] + +> [Building 2 10...done] +val tree_2_10: tree = + N [N [N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]]; + N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N ...; ...]; ...]; ...]; ...]; ...]; + ...]; ...]; ...]; ...] + +> [Building 2 12...done] +val tree_2_12: tree = + N [N [N [N [N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]]; + N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; ...]; ...]; ...]; ...]; ...]; ...]; + ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 2 14...done] +val tree_2_14: tree = + N [N [N [N [N [N [N [N [N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]]]; + N [N [N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N ...; ...]; ...]; ...]; ...]; ...]; ...]; + ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 3 8...done] +val tree_3_8: tree = + N [N [N [N [N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]]; + N [N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]]; + N [N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; ...]; ...]; ...]; ...]; + ...]; ...]; ...]; ...] + +> [Building 4 8...done] +val tree_4_8: tree = + N [N [N [N [N [N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]]; + N [N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]]; + N [N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; ...]; ...]; + ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 5 8...done] +val tree_5_8: tree = + N [N [N [N [N [N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]; + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]; + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]; + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]; + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]]; + N [N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]; + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N ...; ...]; ...]; ...]; ...]; ...]; + ...]; ...] + +> [Building 6 8...done] +val tree_6_8: tree = + N [N [N [N [N [N [N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]]; + N [N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]]; + N [N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]]; + N [N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N ...; ...]; ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 5 3...done] +val tree_5_3: tree = + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]] + +> > type X = + | Var of int + | Bop of int * X * X +val generate: x: int -> X + +> val exps: X list = + [Bop (1, Var 0, Var 0); Var 2; + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)); Var 4; + Bop (5, Var 2, Bop (1, Var 0, Var 0)); Var 6; + Bop (7, Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)), Var 2); + Var 8; + Bop (9, Var 4, Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0))); + Var 10; + Bop + (213, Var 106, + Bop + (71, + Bop + (35, Bop (17, Var 8, Bop (5, Var 2, Bop (1, Var 0, Var 0))), + Bop + (11, Bop (5, Var 2, Bop (1, Var 0, Var 0)), + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)))), + Bop + (23, + Bop + (11, Bop (5, Var 2, Bop (1, Var 0, Var 0)), + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0))), + Bop + (7, Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)), Var 2)))); + Var 21342314; Var 3214; Bop (1231357, Var 615678, Var 410452); + Bop + (5234547, Bop (2617273, Var 1308636, Var 872424), + Bop (1744849, Var 872424, Var 581616)); + Bop + (923759825, Var 461879912, Bop (307919941, Var 153959970, Var 102639980)); + Var 2435234; + Bop + (12396777, Var 6198388, + Bop + (4132259, + Bop + (2066129, Var 1033064, + Bop + (688709, Var 344354, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502))))), + Bop + (1377419, + Bop + (688709, Var 344354, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502)))), + Bop + (459139, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502))), + Var 153046)))); + Bop + (3333333, Var 1666666, + Bop + (1111111, + Bop + (555555, Bop (277777, Var 138888, Var 92592), + Bop (185185, Var 92592, Var 61728)), Var 370370)); + Bop + (1312311237, Var 656155618, + Bop + (437437079, + Bop + (218718539, + Bop + (109359269, Var 54679634, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38))))), + Var 6250), + Bop + (12501, Var 6250, + Bop + (4167, + Bop + (2083, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38))), + Var 694), + Bop + (1389, Var 694, + Bop + (463, + Bop + (231, + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38), + Bop + (77, Var 38, + Bop + (25, Var 12, Var 8))), + Var 154)))))), Var 75006))), + Var 1350114)))), + Bop + (72906179, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38))))), + Var 6250), + Bop + (12501, Var 6250, + Bop + (4167, + Bop + (2083, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38))), + Var 694), + Bop + (1389, Var 694, + Bop + (463, + Bop + (231, + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38), + Bop + (77, Var 38, + Bop + (25, Var 12, Var 8))), + Var 154)))))), Var 75006))), + Var 1350114))), + Bop (24302059, Bop (12151029, ..., ...), ...))), ...)); ...] + +> module Exprs = + val x1: X = + Bop + (213, Var 106, + Bop + (71, + Bop + (35, Bop (17, Var 8, Bop (5, Var 2, Bop (1, Var 0, Var 0))), + Bop + (11, Bop (5, Var 2, Bop (1, Var 0, Var 0)), + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)))), + Bop + (23, + Bop + (11, Bop (5, Var 2, Bop (1, Var 0, Var 0)), + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0))), + Bop + (7, Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)), + Var 2)))) + val x2: X = Var 21342314 + val x3: X = Var 3214 + val x4: X = Bop (1231357, Var 615678, Var 410452) + val x5: X = + Bop + (5234547, Bop (2617273, Var 1308636, Var 872424), + Bop (1744849, Var 872424, Var 581616)) + val x6: X = + Bop + (923759825, Var 461879912, Bop (307919941, Var 153959970, Var 102639980)) + val x7: X = Var 2435234 + val x8: X = + Bop + (12396777, Var 6198388, + Bop + (4132259, + Bop + (2066129, Var 1033064, + Bop + (688709, Var 344354, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502))))), + Bop + (1377419, + Bop + (688709, Var 344354, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502)))), + Bop + (459139, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502))), + Var 153046)))) + val x9: X = + Bop + (3333333, Var 1666666, + Bop + (1111111, + Bop + (555555, Bop (277777, Var 138888, Var 92592), + Bop (185185, Var 92592, Var 61728)), Var 370370)) + val x10: X = + Bop + (1312311237, Var 656155618, + Bop + (437437079, + Bop + (218718539, + Bop + (109359269, Var 54679634, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop + (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))))), + Var 6250), + Bop + (12501, Var 6250, + Bop + (4167, + Bop + (2083, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))), Var 694), + Bop + (1389, Var 694, + Bop + (463, + Bop + (231, + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38), + Bop + (77, Var 38, + Bop + (25, Var 12, Var 8))), + Var 154)))))), Var 75006))), + Var 1350114)))), + Bop + (72906179, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop + (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))))), + Var 6250), + Bop + (12501, Var 6250, + Bop + (4167, + Bop + (2083, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))), Var 694), + Bop + (1389, Var 694, + Bop + (463, + Bop + (231, + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38), + Bop + (77, Var 38, + Bop + (25, Var 12, Var 8))), + Var 154)))))), Var 75006))), + Var 1350114))), + Bop + (24302059, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop + (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))))), + Var 6250), + Bop + (12501, Var 6250, + Bop + (4167, + Bop + (2083, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))), Var 694), + Bop + (1389, Var 694, + Bop + (463, + Bop + (231, + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38), + Bop + (77, Var 38, + Bop + (25, Var 12, Var 8))), + Var 154)))))), Var 75006))), + Var 1350114)), Var 8100686))), + Bop + (145812359, + Bop + (72906179, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop + (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + ...), ...))), + ...)))), ...), ...)), + ...))), ...))), ...), ...))) + val x11: X = + Bop + (2147483647, + Bop + (1073741823, + Bop + (536870911, + Bop + (268435455, + Bop + (134217727, + Bop + (67108863, + Bop + (33554431, + Bop + (16777215, + Bop + (8388607, + Bop + (4194303, + Bop + (2097151, + Bop + (1048575, + Bop + (524287, + Bop + (262143, + Bop + (131071, + Bop + (65535, + Bop + (32767, + Bop + (16383, + Bop + (8191, + Bop + (4095, + Bop + (2047, + Bop + (1023, + Bop + (511, + Bop + (255, + Bop + (127, + Bop + (63, + Bop + (31, + Bop + (15, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var + 2), + Bop + (5, + Var + 2, + Bop + (1, + Var + 0, + Var + 0))), + Var + 10), + Bop + (21, + Var + 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var + 2))), + Var + 42), + Bop + (85, + Var + 42, + Var + 28)), + Var + 170), + Bop + (341, + Var + 170, + Bop + (113, + Var + 56, + Bop + (37, + Var + 18, + Var + 12)))), + Var 682), + Bop + (1365, + Var 682, + Bop + (455, + Bop + (227, + Bop + (113, + Var + 56, + Bop + (37, + Var + 18, + Var + 12)), + Bop + (75, + Bop + (37, + Var + 18, + Var + 12), + Bop + (25, + Var + 12, + Var + 8))), + Bop + (151, + Bop + (75, + Bop + (37, + Var + 18, + Var + 12), + Bop + (25, + Var + 12, + Var + 8)), + Var + 50)))), + Var 2730), + Bop + (5461, Var 2730, + Var 1820)), + Var 10922), + Bop + (21845, Var 10922, + Bop + (7281, Var 3640, + Bop + (2427, + Bop + (1213, Var 606, + Var 404), + Bop + (809, Var 404, + Bop + (269, + Var 134, + Bop + (89, + Var 44, + Bop + (29, + Var + 14, + Bop + (9, + Var + 4, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))))))))))), + Var 43690), + Bop + (87381, Var 43690, + Bop + (29127, + Bop + (14563, + Bop + (7281, Var 3640, + Bop + (2427, + Bop + (1213, Var 606, + Var 404), + Bop + (809, Var 404, + Bop + (269, + Var 134, + Bop + (89, + Var 44, + Bop + (29, + Var + 14, + Bop + (9, + Var + 4, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))))))))), + Var 4854), + Bop + (9709, Var 4854, + Var 3236)))), + Var 174762), + Bop (349525, Var 174762, Var 116508)), + Var 699050), + Bop + (1398101, Var 699050, + Bop (466033, Var 233016, Var 155344))), + Var 2796202), + Bop + (5592405, Var 2796202, + Bop + (1864135, + Bop + (932067, + Bop (466033, Var 233016, Var 155344), + Bop + (310689, Var 155344, + Bop + (103563, + Bop (51781, Var 25890, Var 17260), + Bop + (34521, Var 17260, + Bop + (11507, + Bop + (5753, Var 2876, + Bop + (1917, Var 958, + Bop + (639, + Bop + (319, + Bop + (159, + Bop + (79, + Bop + (39, + Bop + (19, + Bop + (9, + Var + 4, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))), + Var 6), + Bop + (13, + Var 6, + Var 4)), + Var 26), + Bop + (53, Var 26, + Bop + (17, + Var 8, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0))))), + Var 106), + Bop + (213, Var 106, + Bop + (71, + Bop + (35, + Bop + (17, + Var 8, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0))), + Bop + (11, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0)), + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)))), + Bop + (23, + Bop + (11, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0)), + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))), + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))))), + Bop + (3835, + Bop + (1917, Var 958, + Bop + (639, + Bop + (319, + Bop + (159, + Bop + (79, + Bop + (39, + Bop + (19, + Bop + (9, + Var + 4, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))), + Var 6), + Bop + (13, + Var 6, + Var 4)), + Var 26), + Bop + (53, Var 26, + Bop + (17, + Var 8, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0))))), + Var 106), + Bop + (213, Var 106, + Bop + (71, + Bop + (35, + Bop + (17, + Var 8, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0))), + Bop + (11, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0)), + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)))), + Bop + (23, + Bop + (11, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0)), + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))), + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2)))))), + Var 1278)))))), Var 621378))), + Var 11184810), + Bop (22369621, Var 11184810, Var 7456540)), Var 44739242), + Bop + (89478485, Var 44739242, + Bop + (29826161, Var 14913080, + Bop + (9942053, Var 4971026, + Bop (3314017, Var 1657008, Var 1104672))))), + Var 178956970), + Bop + (357913941, Var 178956970, + Bop + (119304647, + Bop + (59652323, + Bop + (29826161, Var 14913080, + Bop + (9942053, Var 4971026, + Bop (3314017, Var 1657008, Var 1104672))), + Bop + (19884107, + Bop + (9942053, Var 4971026, + Bop (3314017, Var 1657008, Var 1104672)), + Bop + (6628035, Bop (3314017, Var 1657008, Var 1104672), + Bop (2209345, Var 1104672, Var 736448)))), + Bop + (39768215, + Bop + (19884107, + Bop + (9942053, Var 4971026, + Bop (3314017, Var 1657008, Var 1104672)), + Bop + (6628035, Bop (3314017, Var 1657008, Var 1104672), + Bop (2209345, Var 1104672, Var 736448))), + Bop + (13256071, + Bop + (6628035, Bop (3314017, Var 1657008, Var 1104672), + Bop (2209345, Var 1104672, Var 736448)), Var 4418690))))), + Var 715827882) + +> type C = + new: x: string -> C + override ToString: unit -> string +val c1: C = +val csA: C[] = + [|; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; ...|] +val csB: C[] = + [|; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; ...|] +val csC: C[] = + [|; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; ...|] + +> exception Abc + +> exception AbcInt of int + +> exception AbcString of string + +> exception AbcExn of exn list + +> exception AbcException of System.Exception list + +> val exA1: exn = Abc +val exA2: exn = AbcInt 2 +val exA3: exn = AbcString "3" +val exA4: exn = AbcExn [Abc; AbcInt 2; AbcString "3"] +val exA5: exn = AbcException [AbcExn [Abc; AbcInt 2; AbcString "3"]] +exception Ex0 +exception ExUnit of unit +exception ExUnits of unit * unit +exception ExUnitOption of unit option +val ex0: exn = Ex0 +val exU: exn = ExUnit () +val exUs: exn = ExUnits ((), ()) +val exUSome: exn = ExUnitOption (Some ()) +val exUNone: exn = ExUnitOption None +type 'a T4063 = | AT4063 of 'a + +> val valAT3063_12: int T4063 = AT4063 12 + +> val valAT3063_True: bool T4063 = AT4063 true + +> val valAT3063_text: string T4063 = AT4063 "text" + +> val valAT3063_null: System.Object T4063 = AT4063 null + +> type M4063<'a> = + new: x: 'a -> M4063<'a> + +> val v4063: M4063 + +> type Taaaaa<'a> = + new: unit -> Taaaaa<'a> + +> type Taaaaa2<'a> = + inherit Taaaaa<'a> + new: unit -> Taaaaa2<'a> + member M: unit -> Taaaaa2<'a> + +> type Tbbbbb<'a> = + new: x: 'a -> Tbbbbb<'a> + member M: unit -> 'a + +> type Tbbbbb2 = + inherit Tbbbbb + new: x: string -> Tbbbbb2 + +> val it: (unit -> string) = + +> module RepeatedModule = + val repeatedByteLiteral: byte[] = [|12uy; 13uy; 14uy|] + +> module RepeatedModule = + val repeatedByteLiteral: byte[] = [|12uy; 13uy; 14uy|] + +> val it: string = "Check #help" + +> + F# Interactive directives: + + #r "file.dll";; // Reference (dynamically load) the given DLL + #i "package source uri";; // Include package source uri when searching for packages + #I "path";; // Add the given search path for referenced DLLs + #load "file.fs" ...;; // Load the given file(s) as if compiled and referenced + #time ["on"|"off"];; // Toggle timing on/off + #help;; // Display help + #quit;; // Exit + + F# Interactive command line options: + + + +> val it: string = "Check #time on and then off" + +> +--> Timing now on + +> +--> Timing now off + +> val it: string = "Check #unknown command" + +> val it: string = + "Check #I with a known directory (to avoid a warning, which includes the location of this file, which is fragile...)" + +> +--> Added '/' to library include path + +> type internal T1 = + | A + | B + +> type internal T2 = + { x: int } + +> type internal T3 + +> type internal T4 = + new: unit -> T4 + +> type T1 = + internal | A + | B + +> type T2 = + internal { x: int } + +> type private T1 = + | A + | B + +> type private T2 = + { x: int } + +> type T1 = + private | A + | B + +> type T2 = + private { x: int } + +> type internal T1 = + private | A + | B + +> type internal T2 = + private { x: int } + +> type private T3 + +> type private T4 = + new: unit -> T4 + +> exception X1 of int + +> exception private X2 of int + +> exception internal X3 of int + +> type T0 = + new: unit -> T0 +type T1Post<'a> = + new: unit -> T1Post<'a> +type 'a T1Pre = + new: unit -> 'a T1Pre + +> type T0 with + member M: unit -> T0 list +type T0 with + member P: T0 * T0 +type T0 with + member E: IEvent + +> type T1Post<'a> with + member M: unit -> T1Post<'a> list +type T1Post<'a> with + member P: T1Post<'a> * T1Post<'a> +type T1Post<'a> with + member E: IEvent + +> type 'a T1Pre with + member M: unit -> 'a T1Pre list +type 'a T1Pre with + member P: 'a T1Pre * 'a T1Pre +type 'a T1Pre with + member E: IEvent + +> type T1Post<'a> with + member M: unit -> T1Post<'a> list +type T1Post<'a> with + member P: T1Post<'a> * T1Post<'a> +type T1Post<'a> with + member E: IEvent + +> type 'a T1Pre with + member M: unit -> 'a T1Pre list +type 'a T1Pre with + member P: 'a T1Pre * 'a T1Pre +type 'a T1Pre with + member E: IEvent + +> type r = + { + f0: int + f1: int + f2: int + f3: int + f4: int + f5: int + f6: int + f7: int + f8: int + f9: int + } +val r10: r = { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 } +val r10s: r[] = + [|{ f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }|] +val r10s': string * r[] = + ("one extra node", + [|{ f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }|]) + +> val x1564_A1: int = 1 + + +--> Added '\' to library include path + +val x1564_A2: int = 2 + + +--> Added '\' to library include path + +val x1564_A3: int = 3 + +> type internal Foo2 = + private new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member private Prop3: int + +> module internal InternalM = + val x: int = 1 + type Foo2 = + private new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member private Prop3: int + type private Foo3 = + new: x: int * y: int * z: int -> Foo3 + 3 overloads + member Prop1: int + member Prop2: int + member Prop3: int + type T1 = + | A + | B + type T2 = + { x: int } + type T3 + type T4 = + new: unit -> T4 + type T5 = + | A + | B + type T6 = + { x: int } + type private T7 = + | A + | B + type private T8 = + { x: int } + type T9 = + private | A + | B + type T10 = + private { x: int } + type T11 = + private | A + | B + type T12 = + private { x: int } + type private T13 + type private T14 = + new: unit -> T14 +module internal PrivateM = + val private x: int = 1 + type private Foo2 = + new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member Prop3: int + type T1 = + | A + | B + type T2 = + { x: int } + type T3 + type T4 = + new: unit -> T4 + type T5 = + | A + | B + type T6 = + { x: int } + type private T7 = + | A + | B + type private T8 = + { x: int } + type T9 = + private | A + | B + type T10 = + private { x: int } + type T11 = + private | A + | B + type T12 = + private { x: int } + type private T13 + type private T14 = + new: unit -> T14 + +> val it: seq = + seq + [(43, "10/28/2008", 1); (46, "11/18/2008", 1); (56, "1/27/2009", 2); + (58, "2/10/2009", 1)] + +> module Test4343a = + val mk: i: int -> string + val x100: string = + "0123456789012345678901234567890123456789012345678901234567890"+[39 chars] + val x90: string = + "0123456789012345678901234567890123456789012345678901234567890"+[29 chars] + val x80: string = + "0123456789012345678901234567890123456789012345678901234567890"+[19 chars] + val x75: string = + "0123456789012345678901234567890123456789012345678901234567890"+[14 chars] + val x74: string = + "0123456789012345678901234567890123456789012345678901234567890"+[13 chars] + val x73: string = + "0123456789012345678901234567890123456789012345678901234567890"+[12 chars] + val x72: string = + "012345678901234567890123456789012345678901234567890123456789012345678901" + val x71: string = + "01234567890123456789012345678901234567890123456789012345678901234567890" + val x70: string = + "0123456789012345678901234567890123456789012345678901234567890123456789" +module Test4343b = + val fA: x: int -> int + val fB: x: 'a -> y: 'a -> 'a list + val gA: (int -> int) + val gB: ('a -> 'a -> 'a list) + val gAB: (int -> int) * ('a -> 'a -> 'a list) + val hB: ('a -> 'a -> 'a list) + val hA: (int -> int) +module Test4343c = + val typename<'a> : string + val typename2<'a> : string * string +module Test4343d = + val xList: int list = [1; 2; 3] + val xArray: int[] = [|1; 2; 3|] + val xString: string = "abcdef" + val xOption: int option = Some 12 + val xArray2: (int * int)[,] = [[(0, 0); (0, 1)] + [(1, 0); (1, 1)]] + val xSeq: seq +module Test4343e = + type C = + new: x: int -> C + val cA: C + val cB: C + val cAB: C * C * C list = + (FSI_0090+Test4343e+C, FSI_0090+Test4343e+C, + [FSI_0090+Test4343e+C; FSI_0090+Test4343e+C]) + type D = + new: x: int -> D + override ToString: unit -> string + val dA: D = D(1) + val dB: D = D(2) + val dAB: D * D * D list = (D(1), D(2), [D(1); D(2)]) + module Generic = + type CGeneric<'a> = + new: x: 'a -> CGeneric<'a> + val cA: C + val cB: C + val cAB: C * C * C list = + (FSI_0090+Test4343e+C, FSI_0090+Test4343e+C, + [FSI_0090+Test4343e+C; FSI_0090+Test4343e+C]) + type D<'a> = + new: x: 'a -> D<'a> + override ToString: unit -> string + val dA: D = D(1) + val dB: D = D(2) + val dAB: D * D * D list = (D(1), D(2), [D(1); D(2)]) + val dC: D = D(True) + val boxed_dABC: obj list = [D(1); D(2); D(True)] +type F1 = + inherit System.Windows.Forms.Form + interface System.IDisposable + val x: F1 + val x2: F1 + member B: unit -> int + member D: x: int -> int + 2 overloads + abstract MMM: bool -> bool + override ToString: unit -> string + static member A: unit -> int + static member C: unit -> int + abstract AAA: int + abstract BBB: bool with set + member D2: int + member E: int + abstract ZZZ: int + static val mutable private sx: F1 + static val mutable private sx2: F1 +[] +type IP = + new: x: int * y: int -> IP + static val mutable private AA: IP +module Regression4643 = + [] + type RIP = + new: x: int -> RIP + static val mutable private y: RIP + [] + type arg_unused_is_RIP = + new: x: RIP -> arg_unused_is_RIP + [] + type arg_used_is_RIP = + new: x: RIP -> arg_used_is_RIP + member X: RIP + [] + type field_is_RIP = + val x: RIP +type Either<'a,'b> = + | This of 'a + | That of 'b +val catch: f: (unit -> 'a) -> Either<'a,(string * string)> +val seqFindIndexFailure: Either = + That + ("System.Collections.Generic.KeyNotFoundException", + "An index satisfying the predicate was not found in the collection.") +val seqFindFailure: Either = + That + ("System.Collections.Generic.KeyNotFoundException", + "An index satisfying the predicate was not found in the collection.") +val seqPickFailure: Either = + That + ("System.Collections.Generic.KeyNotFoundException", + "An index satisfying the predicate was not found in the collection.") +module Regression5218 = + val t1: int = 1 + val t2: int * int = (1, 2) + val t3: int * int * int = (1, 2, 3) + val t4: int * int * int * int = (1, 2, 3, 4) + val t5: int * int * int * int * int = (1, 2, 3, 4, 5) + val t6: int * int * int * int * int * int = (1, 2, 3, 4, 5, 6) + val t7: int * int * int * int * int * int * int = (1, 2, 3, 4, 5, 6, 7) + val t8: int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8) + val t9: int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9) + val t10: int * int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + val t11: int * int * int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11) + val t12: + int * int * int * int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) + val t13: + int * int * int * int * int * int * int * int * int * int * int * int * + int = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13) + val t14: + int * int * int * int * int * int * int * int * int * int * int * int * + int * int = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) + val t15: + int * int * int * int * int * int * int * int * int * int * int * int * + int * int * int = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15) + +> module Regression3739 = + type IB = + abstract AbstractMember: int -> int + type C<'a when 'a :> IB> = + new: unit -> C<'a> + static member StaticMember: x: 'a -> int + +> module Regression3739 = + type IB = + abstract AbstractMember: int -> int + type C<'a when 'a :> IB> = + new: unit -> C<'a> + static member StaticMember: x: 'a -> int + +> module Regression3740 = + type Writer<'a> = + abstract get_path: unit -> string + type MyClass = + interface Writer + val path: string + +> type Regression4319_T2 = + static member (+-+-+) : x: 'a * y: 'b -> string + +> type Regression4319_T0 = + static member (+-+-+) : string + +> type Regression4319_T1 = + static member (+-+-+) : x: 'a -> string + +> type Regression4319_T1b = + static member (+-+-+) : x: 'a -> string + +> type Regression4319_T1c = + static member (+-+-+) : x: ('a * 'b) -> string + +> type Regression4319_T1d = + static member (+-+-+) : x: (int * int) -> string + +> type Regression4319_T3 = + static member (+-+-+) : x: 'a * y: 'b * z: 'c -> string + +> type Regression4319_U1 = + static member (+-+-+) : x: 'a -> moreArgs: 'b -> string + +> type Regression4319_U1b = + static member (+-+-+) : x: 'a -> moreArgs: 'b -> string + +> type Regression4319_U2 = + static member (+-+-+) : x: 'a * y: 'b -> moreArgs: 'c -> string + +> type Regression4319_U3 = + static member (+-+-+) : x: 'a * y: 'b * z: 'c -> moreArgs: 'd -> string + +> type Regression4319_check = + static member (&) : string + static member (&^) : string + static member (@) : string + static member (!=) : string + static member (:=) : string + static member (^) : string + static member (/) : string + static member ($) : string + static member (...@) : string + static member (...!=) : string + static member (.../) : string + static member (...=) : string + static member (...>) : string + static member (...^) : string + static member (...<) : string + static member ( ...* ) : string + static member (...%) : string + static member (=) : string + static member ( ** ) : string + static member (>) : string + static member (<) : string + static member (%) : string + static member ( * ) : string + static member (-) : string + +> Expect ABC = ABC +type Regression4469 = + new: unit -> Regression4469 + member ToString: unit -> string +val r4469: Regression4469 = FSI_0106+Regression4469 +val it: unit = () + +> Expect ABC = ABC +val it: unit = () + +> module Regression1019_short = + val double_nan: float = nan + val double_infinity: float = infinity + val single_nan: float32 = nanf + val single_infinity: float32 = infinityf +module Regression1019_long = + val double_nan: float = nan + val double_infinity: float = infinity + val single_nan: float32 = nanf + val single_infinity: float32 = infinityf + +> val it: int ref = { contents = 1 } + +> val x: int ref = { contents = 1 } +val f: (unit -> int) + +> val it: int = 1 + +> val it: unit = () + +> val it: int = 3 + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: 'a list + +> val it: 'a list list + +> val it: 'a option + +> val it: 'a list * 'b list + +> val it: x: 'a -> 'a + +> val fff: x: 'a -> 'a + +> val it: ('a -> 'a) + +> val note_ExpectDupMethod: string = + "Regression4927: Expect error due to duplicate methods in the "+[20 chars] + +> > val note_ExpectDupProperty: string = + "Regression4927: Expect error due to duplicate properties in t"+[23 chars] + +> > > val it: string = "NOTE: Expect IAPrivate less accessible IBPublic" + +> > val it: string = "NOTE: Expect IAPrivate less accessible IBInternal" + +> > module Regression5265_PriPri = + type private IAPrivate = + abstract P: int + type private IBPrivate = + inherit IAPrivate + abstract Q: int + +> val it: string = "NOTE: Expect IAInternal less accessible IBPublic" + +> > module Regression5265_IntInt = + type internal IAInternal = + abstract P: int + type internal IBInternal = + inherit IAInternal + abstract Q: int + +> module Regression5265_IntPri = + type internal IAInternal = + abstract P: int + type private IBPrivate = + inherit IAInternal + abstract Q: int + +> module Regression5265_PubPub = + type IAPublic = + abstract P: int + type IBPublic = + inherit IAPublic + abstract Q: int + +> module Regression5265_PubInt = + type IAPublic = + abstract P: int + type internal IBInternal = + inherit IAPublic + abstract Q: int + +> module Regression5265_PubPri = + type IAPublic = + abstract P: int + type private IBPrivate = + inherit IAPublic + abstract Q: int + +> val it: string = + "Regression4232: Expect an error about duplicate virtual methods from parent type" + +> > val it: string = + "** Expect AnAxHostSubClass to be accepted. AxHost has a newslot virtual RightToLeft property outscope RightToLeft on Control" + +> type AnAxHostSubClass = + inherit System.Windows.Forms.AxHost + new: x: string -> AnAxHostSubClass + +> val it: string = + "** Expect error because the active pattern result contains free type variables" + +> > val it: string = + "** Expect error because the active pattern result contains free type variables (match value generic)" + +> > val it: string = + "** Expect error because the active pattern result contains free type variables (when active pattern also has parameters)" + +> > val it: string = + "** Expect OK, since error message says constraint should work!" + +> val (|A|B|) : x: int -> Choice + +> val it: string = "** Expect error since active pattern is not a function!" + +> > val it: string = + "** Expect OK since active pattern result is not too generic, typars depend on match val" + +> val (|A|B|) : p: bool -> 'a * 'b -> Choice<'a,'b> + +> val it: string = + "** Expect OK since active pattern result is not too generic, typars depend on parameters" + +> val (|A|B|) : aval: 'a -> bval: 'b -> x: bool -> Choice<'a,'b> + +> val it: string = + "** Expect OK since active pattern result is generic, but it typar from closure, so OK" + +> val outer: x: 'a -> (int -> 'a option) + +> val it: string = + "** Expect OK, BUG 472278: revert unintended breaking change to Active Patterns in F# 3.0" + +> val (|Check1|) : a: int -> int * 'a option + +> > module ReflectionEmit = + type IA = + abstract M: #IB -> int + and IB = + abstract M: #IA -> int + type IA2<'a when 'a :> IB2<'a> and 'a :> IA2<'a>> = + abstract M: int + and IB2<'b when 'b :> IA2<'b> and 'b :> IB2<'b>> = + abstract M: int + +> val it: string = + "Regression_139182: Expect the follow code to be accepted without error" + +> [] +type S = + member TheMethod: unit -> int64 +val theMethod: s: S -> int64 +type T = + new: unit -> T + member Prop5: int64 + static member Prop1: int64 + static member Prop2: int64 + static member Prop3: int64 + static member Prop4: string + +> val it: System.Threading.ThreadLocal list = [0 {IsValueCreated = false; + Values = ?;}] + +> type MyDU = + | Case1 of Val1: int * Val2: string + | Case2 of string * V2: bool * float + | Case3 of int + | Case4 of Item1: bool + | Case5 of bool * string + | Case6 of Val1: int * bool * string + | Case7 of ``Big Name`` : int +val namedFieldVar1: MyDU = Case1 (5, "") +val namedFieldVar2: MyDU = Case7 25 + +> exception MyNamedException1 of Val1: int * Val2: string +exception MyNamedException2 of string * V2: bool * float +exception MyNamedException3 of Data: int +exception MyNamedException4 of bool +exception MyNamedException5 of int * string +exception MyNamedException6 of Val1: int * bool * string * Data8: float +exception MyNamedException7 of ``Big Named Field`` : int +val namedEx1: exn = MyNamedException1 (5, "") +val namedEx2: exn = MyNamedException7 25 + +> type optionRecord = + { x: int option } +val x: optionRecord = { x = None } + +> type optionRecord = + { x: obj } +val x: optionRecord = { x = null } + +> type RecordWithMembers = + { x: obj } + member Method: unit -> int + member Property: int + +> type UnionWithMembers = + | Case1 + | Case2 of int + member Method: unit -> int + member Property: int + +> type OneFieldRecordNoXmlDoc = + { OneField: obj } + +> type OneFieldRecordXmlDoc = + { + OneField: obj + } + +> type TwoFieldRecordNoXmlDoc = + { + TwoFields1: obj + TwoFields2: obj + } + +> type TwoFieldRecordXmlDoc = + { + TwoFields1: obj + TwoFields2: obj + } + +> type Int32 with + member ExtrinsicExtensionProperty: int +type Int32 with + member ExtrinsicExtensionMethod: unit -> int + +> val ``value with spaces in name`` : bool = true + +> val functionWhichTakesLongNameMixedParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int * + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int + -> ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int * + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesLongNameTupledParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int * + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int * + ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int * + ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesLongNameCurriedParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int + -> bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int + -> cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int + -> dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesMixedLengthCurriedParametersA: + a: 'a -> b: 'b -> c: 'c -> ddddddddddddddddddddddddddddddddddddddddddddd: 'd + -> int + +> val functionWhichTakesMixedLengthCurriedParametersB: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: 'a -> b: 'b -> c: 'c -> d: 'd -> int + +> val f: ``parameter with spaces in name`` : int -> int + +> val functionWhichTakesAParameterPeeciselyPlusButNotOpAddition: + ``+`` : (int -> int -> int) -> int + +> val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int + +> val functionWhichTakesAParameterCalled_land: + ``land`` : (int -> int -> int) -> int + +> type RecordWithStrangeNames = + { + ``funky name`` : obj + op_Addition: obj + ``+`` : obj + ``land`` : obj + ``base`` : obj + } + +> type UnionWithSpacesInNamesOfCases = + | ``Funky name`` + | ``Funky name 2`` + +> type ``Type with spaces in name`` = + | A + | B + +> type op_Addition = + | A + | B + +> type ``land`` = + | A + | B + +> module ``Module with spaces in name`` = + val x: int = 1 + +> module op_Addition = + val x: int = 1 + +> module ``land`` = + val x: int = 1 + +> val ``+`` : x: 'a -> y: 'b -> int + +> val (+) : x: int -> y: int -> int + +> val ``base`` : int = 2 + +> val (mod) : int = 2 + +> val ``or`` : int = 2 + +> val ``land`` : int = 2 + +> val ``.ctor`` : int = 2 + +> val ``.cctor`` : int = 2 + +> [] +val SomeLiteralWithASomewhatLongName: string + = "SomeVeryLongLiteralValueWithLotsOfCharacters" +[] +val SomeLiteralWithASomewhatLongName2: string + = + "SomeVeryLongLiteralValueWithLotsOfCharactersSomeVeryLongLiteralValueWithLotsOfCharactersSomeVeryLongLiteralValueWithLotsOfCharacters" +[] +val ShortName: string = "hi" + +> val it: System.DayOfWeek = Tuesday + +> val internal f: unit -> int + +> val it: int = 1 + +> type internal CInternal = + new: unit -> CInternal + +> val it: unit = () + +> type internal CPublic = + new: unit -> CPublic + member MInternal: unit -> unit + +> val it: unit = () + +> type internal CPublic2 = + new: unit -> CPublic2 + member MPublic: unit -> int + +> val it: int = 1 + +> val inst1: TestLoadFile.ClassInFile1 + +> val inst2: TestLoadFile2.ClassInFile2 + +> > > diff --git a/tests/fsharp/core/printing/output.legacyemitoff.stderr.txt b/tests/fsharp/core/printing/output.legacyemitoff.stderr.txt new file mode 100644 index 00000000000..68785a152df --- /dev/null +++ b/tests/fsharp/core/printing/output.legacyemitoff.stderr.txt @@ -0,0 +1,366 @@ + + #blaaaaaa // blaaaaaa is not a known command;; + ^^^^^^^^^ + +stdin(219,1): warning FS3353: Invalid directive '#blaaaaaa ' + + + type Regression4319_T0 = static member (+-+-+) = "0 arguments";; + -----------------------------------------^^^^^ + +stdin(571,42): warning FS1172: Infix operator member '+-+-+' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1 = static member (+-+-+) x = "1 argument";; + -----------------------------------------^^^^^ + +stdin(572,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1b = static member (+-+-+) (x) = "1 (argument) [brackets make no diff]";; + -----------------------------------------^^^^^ + +stdin(573,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1c = static member (+-+-+) x = let a,b = x in "1 argument, tuple typed from RHS. Still not OK";; + -----------------------------------------^^^^^ + +stdin(574,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1d = static member (+-+-+) (x:int*int) = "1 argument, tuple typed from LHS. Still not OK";; + -----------------------------------------^^^^^ + +stdin(575,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T3 = static member (+-+-+) (x,y,z) = "3 arguments";; + -----------------------------------------^^^^^ + +stdin(577,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(578,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(578,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; + -----------------------------------------^^^^^ + +stdin(579,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; + -----------------------------------------^^^^^ + +stdin(579,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U2 = static member (+-+-+) (x,y) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(580,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(581,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(581,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (:=) = "COLON_EQUALS" + -------------------^^ + +stdin(584,20): warning FS1172: Infix operator member ':=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (:=) = "COLON_EQUALS" + -------------------^^ + +stdin(584,20): warning FS0086: The name '(:=)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (&) = "AMP" + -------------------^ + +stdin(588,20): warning FS1172: Infix operator member '&' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (&) = "AMP" + -------------------^ + +stdin(588,20): warning FS0086: The name '(&)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name 'op_Amp' instead. + + + static member (&^) = "AMP_AMP" + -------------------^^ + +stdin(589,20): warning FS1172: Infix operator member '&^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (=) = "EQUALS" + -------------------^ + +stdin(590,20): warning FS1172: Infix operator member '=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (=) = "EQUALS" + -------------------^ + +stdin(590,20): warning FS0086: The name '(=)' should not be used as a member name. To define equality semantics for a type, override the 'Object.Equals' member. If defining a static member for use from other CLI languages then use the name 'op_Equality' instead. + + + static member (!=) = "INFIX_COMPARE_OP" + -------------------^^ + +stdin(592,20): warning FS1172: Infix operator member '!=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...=) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(596,20): warning FS1172: Infix operator member '...=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...!=) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^^ + +stdin(597,20): warning FS1172: Infix operator member '...!=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...<) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(598,20): warning FS1172: Infix operator member '...<' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...>) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(599,20): warning FS1172: Infix operator member '...>' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ($) = "DOLLAR" + -------------------^ + +stdin(601,20): warning FS1172: Infix operator member '$' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (<) = "LESS" + -------------------^ + +stdin(602,20): warning FS1172: Infix operator member '<' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (<) = "LESS" + -------------------^ + +stdin(602,20): warning FS0086: The name '(<)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name 'op_LessThan' instead. + + + static member (>) = "GREATER" + -------------------^ + +stdin(603,20): warning FS1172: Infix operator member '>' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (>) = "GREATER" + -------------------^ + +stdin(603,20): warning FS0086: The name '(>)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name 'op_GreaterThan' instead. + + + static member (@) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(604,20): warning FS1172: Infix operator member '@' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (@) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(604,20): warning FS0086: The name '(@)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (^) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(605,20): warning FS1172: Infix operator member '^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (^) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(605,20): warning FS0086: The name '(^)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (...@) = "INFIX_AT_HAT_OP" // with $. prefix + -------------------^^^^ + +stdin(606,20): warning FS1172: Infix operator member '...@' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...^) = "INFIX_AT_HAT_OP" // with $. prefix + -------------------^^^^ + +stdin(607,20): warning FS1172: Infix operator member '...^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (%) = "PERCENT_OP" + -------------------^ + +stdin(608,20): warning FS1172: Infix operator member '%' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (-) = "MINUS" + -------------------^ + +stdin(610,20): warning FS1172: Infix operator member '-' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( * ) = "STAR" + --------------------^ + +stdin(611,21): warning FS1172: Infix operator member '*' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (/) = "INFIX_STAR_DIV_MOD_OP" + -------------------^ + +stdin(613,20): warning FS1172: Infix operator member '/' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ...* ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(615,21): warning FS1172: Infix operator member '...*' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( .../ ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(616,21): warning FS1172: Infix operator member '.../' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ...% ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(617,21): warning FS1172: Infix operator member '...%' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ** ) = "INFIX_STAR_STAR_OP" + --------------------^^ + +stdin(618,21): warning FS1172: Infix operator member '**' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + member this.ToString() = "ABC" + ----------------^^^^^^^^ + +stdin(623,17): warning FS0864: This new member hides the abstract member 'System.Object.ToString() : string'. Rename the member or use 'override' instead. + + + let x,f = it, (fun () -> !it);; // this will read from the static storage for 'it' + -------------------------^ + +stdin(643,26): info FS3370: The use of '!' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change '!cell' to 'cell.Value'. + + + x := 3;; + --^^ + +stdin(645,3): info FS3370: The use of ':=' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change 'cell := expr' to 'cell.Value <- expr'. + + + member this.M() = "string" + ----------------^ + +stdin(764,17): error FS0438: Duplicate method. The method 'M' has the same name and signature as another method in type 'ExpectDupMethod'. + + + member this.P = "string" + ----------------^ + +stdin(771,17): error FS0438: Duplicate method. The method 'get_P' has the same name and signature as another method in type 'ExpectDupProperty'. + + + type public IBPublic = interface inherit IAPrivate abstract Q : int end + ------------------^^^^^^^^ + +stdin(778,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBPublic' it is used in. + + + type internal IBInternal = interface inherit IAPrivate abstract Q : int end + ------------------^^^^^^^^^^ + +stdin(783,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBInternal' it is used in. + + + type public IBPublic = interface inherit IAInternal abstract Q : int end + ------------------^^^^^^^^ + +stdin(792,19): error FS0410: The type 'IAInternal' is less accessible than the value, member or type 'IBPublic' it is used in. + + + override x.M(a:string) = 1 + -------------------^ + +stdin(824,20): error FS0361: The override 'M: string -> int' implements more than one abstract slot, e.g. 'abstract Regression4232.D.M: 'U -> int' and 'abstract Regression4232.D.M: 'T -> int' + + + let (|A|B|) (x:int) = A x;; + -----^^^^^ + +stdin(832,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) (x:'a) = A x;; + -----^^^^^ + +stdin(835,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) (p:'a) (x:int) = A p;; + -----^^^^^ + +stdin(838,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) = failwith "" : Choice;; + -----^^^^^ + +stdin(844,6): error FS1209: Active pattern '|A|B|' is not a function + + + let internal f() = 1;; f();; // should give a warning in multi-assembly interactive emit + -----------------------^^^ + +stdin(1089,24): warning FS2303: Accessing the internal type, method or field 'f' from a previous evaluation in F# Interactive is deprecated and may cause subsequent access errors. To enable the legacy generation of a single dynamic assembly that can access internals, use the '--multiemit-' option. + + + CPublic().MInternal();; // should give a warning in multi-assembly interactive emit + ^^^^^^^^^^^^^^^^^^^^^ + +stdin(1099,1): warning FS2303: Accessing the internal type, method or field 'MInternal' from a previous evaluation in F# Interactive is deprecated and may cause subsequent access errors. To enable the legacy generation of a single dynamic assembly that can access internals, use the '--multiemit-' option. + + + CPublic2().MPublic();; // should give a warning in multi-assembly interactive emit + ^^^^^^^^^^^^^^^^^^^^ + +stdin(1105,1): warning FS2303: Accessing the internal type, method or field 'MPublic' from a previous evaluation in F# Interactive is deprecated and may cause subsequent access errors. To enable the legacy generation of a single dynamic assembly that can access internals, use the '--multiemit-' option. + diff --git a/tests/fsharp/core/printing/output.legacyemitoff.stdout.txt b/tests/fsharp/core/printing/output.legacyemitoff.stdout.txt new file mode 100644 index 00000000000..77a168f1190 --- /dev/null +++ b/tests/fsharp/core/printing/output.legacyemitoff.stdout.txt @@ -0,0 +1,6296 @@ + +> val repeatId: string = "A" + +> val repeatId: string = "B" + +namespace FSI_0004 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile1 = + new: unit -> ClassInFile1 + +namespace FSI_0005 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile1 = + new: unit -> ClassInFile1 + +namespace FSI_0005 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile2 = + new: unit -> ClassInFile2 + +> val x1: seq +val x2: seq +val x3: seq +val f1: System.Windows.Forms.Form = System.Windows.Forms.Form, Text: f1 form +val fs: System.Windows.Forms.Form[] = + [|System.Windows.Forms.Form, Text: fs #0; + System.Windows.Forms.Form, Text: fs #1; + System.Windows.Forms.Form, Text: fs #2; + System.Windows.Forms.Form, Text: fs #3; + System.Windows.Forms.Form, Text: fs #4; + System.Windows.Forms.Form, Text: fs #5; + System.Windows.Forms.Form, Text: fs #6; + System.Windows.Forms.Form, Text: fs #7; + System.Windows.Forms.Form, Text: fs #8; + System.Windows.Forms.Form, Text: fs #9; + System.Windows.Forms.Form, Text: fs #10; + System.Windows.Forms.Form, Text: fs #11; + System.Windows.Forms.Form, Text: fs #12; + System.Windows.Forms.Form, Text: fs #13; + System.Windows.Forms.Form, Text: fs #14; + System.Windows.Forms.Form, Text: fs #15; + System.Windows.Forms.Form, Text: fs #16; + System.Windows.Forms.Form, Text: fs #17; + System.Windows.Forms.Form, Text: fs #18; + System.Windows.Forms.Form, Text: fs #19; + System.Windows.Forms.Form, Text: fs #20; + System.Windows.Forms.Form, Text: fs #21; + System.Windows.Forms.Form, Text: fs #22; + System.Windows.Forms.Form, Text: fs #23; + System.Windows.Forms.Form, Text: fs #24; + System.Windows.Forms.Form, Text: fs #25; + System.Windows.Forms.Form, Text: fs #26; + System.Windows.Forms.Form, Text: fs #27; + System.Windows.Forms.Form, Text: fs #28; + System.Windows.Forms.Form, Text: fs #29; + System.Windows.Forms.Form, Text: fs #30; + System.Windows.Forms.Form, Text: fs #31; + System.Windows.Forms.Form, Text: fs #32; + System.Windows.Forms.Form, Text: fs #33; + System.Windows.Forms.Form, Text: fs #34; + System.Windows.Forms.Form, Text: fs #35; + System.Windows.Forms.Form, Text: fs #36; + System.Windows.Forms.Form, Text: fs #37; + System.Windows.Forms.Form, Text: fs #38; + System.Windows.Forms.Form, Text: fs #39; + System.Windows.Forms.Form, Text: fs #40; + System.Windows.Forms.Form, Text: fs #41; + System.Windows.Forms.Form, Text: fs #42; + System.Windows.Forms.Form, Text: fs #43; + System.Windows.Forms.Form, Text: fs #44; + System.Windows.Forms.Form, Text: fs #45; + System.Windows.Forms.Form, Text: fs #46; + System.Windows.Forms.Form, Text: fs #47; + System.Windows.Forms.Form, Text: fs #48; + System.Windows.Forms.Form, Text: fs #49; + System.Windows.Forms.Form, Text: fs #50; + System.Windows.Forms.Form, Text: fs #51; + System.Windows.Forms.Form, Text: fs #52; + System.Windows.Forms.Form, Text: fs #53; + System.Windows.Forms.Form, Text: fs #54; + System.Windows.Forms.Form, Text: fs #55; + System.Windows.Forms.Form, Text: fs #56; + System.Windows.Forms.Form, Text: fs #57; + System.Windows.Forms.Form, Text: fs #58; + System.Windows.Forms.Form, Text: fs #59; + System.Windows.Forms.Form, Text: fs #60; + System.Windows.Forms.Form, Text: fs #61; + System.Windows.Forms.Form, Text: fs #62; + System.Windows.Forms.Form, Text: fs #63; + System.Windows.Forms.Form, Text: fs #64; + System.Windows.Forms.Form, Text: fs #65; + System.Windows.Forms.Form, Text: fs #66; + System.Windows.Forms.Form, Text: fs #67; + System.Windows.Forms.Form, Text: fs #68; + System.Windows.Forms.Form, Text: fs #69; + System.Windows.Forms.Form, Text: fs #70; + System.Windows.Forms.Form, Text: fs #71; + System.Windows.Forms.Form, Text: fs #72; + System.Windows.Forms.Form, Text: fs #73; + System.Windows.Forms.Form, Text: fs #74; + System.Windows.Forms.Form, Text: fs #75; + System.Windows.Forms.Form, Text: fs #76; + System.Windows.Forms.Form, Text: fs #77; + System.Windows.Forms.Form, Text: fs #78; + System.Windows.Forms.Form, Text: fs #79; + System.Windows.Forms.Form, Text: fs #80; + System.Windows.Forms.Form, Text: fs #81; + System.Windows.Forms.Form, Text: fs #82; + System.Windows.Forms.Form, Text: fs #83; + System.Windows.Forms.Form, Text: fs #84; + System.Windows.Forms.Form, Text: fs #85; + System.Windows.Forms.Form, Text: fs #86; + System.Windows.Forms.Form, Text: fs #87; + System.Windows.Forms.Form, Text: fs #88; + System.Windows.Forms.Form, Text: fs #89; + System.Windows.Forms.Form, Text: fs #90; + System.Windows.Forms.Form, Text: fs #91; + System.Windows.Forms.Form, Text: fs #92; + System.Windows.Forms.Form, Text: fs #93; + System.Windows.Forms.Form, Text: fs #94; + System.Windows.Forms.Form, Text: fs #95; + System.Windows.Forms.Form, Text: fs #96; + System.Windows.Forms.Form, Text: fs #97; + System.Windows.Forms.Form, Text: fs #98; + System.Windows.Forms.Form, Text: fs #99; ...|] +val xs: string list = + ["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; "13"; + "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; "22"; "23"; "24"; "25"; + "26"; "27"; "28"; "29"; "30"; "31"; "32"; "33"; "34"; "35"; "36"; "37"; + "38"; "39"; "40"; "41"; "42"; "43"; "44"; "45"; "46"; "47"; "48"; "49"; + "50"; "51"; "52"; "53"; "54"; "55"; "56"; "57"; "58"; "59"; "60"; "61"; + "62"; "63"; "64"; "65"; "66"; "67"; "68"; "69"; "70"; "71"; "72"; "73"; + "74"; "75"; "76"; "77"; "78"; "79"; "80"; "81"; "82"; "83"; "84"; "85"; + "86"; "87"; "88"; "89"; "90"; "91"; "92"; "93"; "94"; "95"; "96"; "97"; + "98"; "99"; ...] +val xa: string[] = + [|"0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; "13"; + "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; "22"; "23"; "24"; "25"; + "26"; "27"; "28"; "29"; "30"; "31"; "32"; "33"; "34"; "35"; "36"; "37"; + "38"; "39"; "40"; "41"; "42"; "43"; "44"; "45"; "46"; "47"; "48"; "49"; + "50"; "51"; "52"; "53"; "54"; "55"; "56"; "57"; "58"; "59"; "60"; "61"; + "62"; "63"; "64"; "65"; "66"; "67"; "68"; "69"; "70"; "71"; "72"; "73"; + "74"; "75"; "76"; "77"; "78"; "79"; "80"; "81"; "82"; "83"; "84"; "85"; + "86"; "87"; "88"; "89"; "90"; "91"; "92"; "93"; "94"; "95"; "96"; "97"; + "98"; "99"; ...|] +val xa2: string[,] = [["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"] + ["10"; "11"; "12"; "13"; "14"; "15"; "16"; "17"] + ["20"; "21"; "22"; "23"; "24"; "25"; "26"; "27"] + ["30"; "31"; "32"; "33"; "34"; "35"; "36"; "37"] + ["40"; "41"; "42"; "43"; "44"; "45"; "46"; "47"] + ["50"; "51"; "52"; "53"; "54"; "55"; "56"; "57"] + ["60"; "61"; "62"; "63"; "64"; "65"; "66"; "67"] + ["70"; "71"; "72"; "73"; "74"; "75"; "76"; "77"]] +val sxs0: Set = set [] + +> val sxs1: Set = set ["0"] + +> val sxs2: Set = set ["0"; "1"] + +> val sxs3: Set = set ["0"; "1"; "2"] + +> val sxs4: Set = set ["0"; "1"; "2"; "3"] + +> val sxs200: Set = + set ["0"; "1"; "10"; "100"; "101"; "102"; "103"; "104"; "105"; ...] + +> val msxs0: Map = map [] + +> val msxs1: Map = map [(0, "0")] + +> val msxs2: Map = map [(0, "0"); (1, "1")] + +> val msxs3: Map = map [(0, "0"); (1, "1"); (2, "2")] + +> val msxs4: Map = map [(0, "0"); (1, "1"); (2, "2"); (3, "3")] + +> val msxs200: Map = + map + [(0, "0"); (1, "1"); (2, "2"); (3, "3"); (4, "4"); (5, "5"); (6, "6"); + (7, "7"); (8, "8"); ...] + +> module M = + val a: string = "sub-binding" + val b: + (seq * seq * seq * System.Windows.Forms.Form) option * + (string list * string list * string[,]) option = + (Some (, , , System.Windows.Forms.Form, Text: f1 form), + Some + (["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; + "13"; "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; "22"; "23"; + "24"; "25"; "26"; "27"; "28"; "29"; "30"; "31"; "32"; "33"; "34"; + "35"; "36"; "37"; "38"; "39"; "40"; "41"; "42"; "43"; "44"; "45"; + "46"; "47"; "48"; "49"; "50"; "51"; "52"; "53"; "54"; "55"; "56"; + "57"; "58"; "59"; "60"; "61"; "62"; "63"; "64"; "65"; "66"; "67"; + "68"; "69"; "70"; "71"; "72"; "73"; "74"; "75"; "76"; "77"; "78"; + "79"; "80"; "81"; "82"; "83"; "84"; "85"; "86"; "87"; "88"; "89"; + "90"; "91"; "92"; "93"; "94"; "95"; "96"; "97"; "98"; "99"; ...], + ["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; + "13"; "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; "22"; "23"; + "24"; "25"; "26"; "27"; "28"; "29"; "30"; "31"; "32"; "33"; "34"; + "35"; "36"; "37"; "38"; "39"; "40"; "41"; "42"; "43"; "44"; "45"; + "46"; "47"; "48"; "49"; "50"; "51"; "52"; "53"; "54"; "55"; "56"; + "57"; "58"; "59"; "60"; "61"; "62"; "63"; "64"; "65"; "66"; "67"; + "68"; "69"; "70"; "71"; "72"; "73"; "74"; "75"; "76"; "77"; "78"; + "79"; "80"; "81"; "82"; "83"; "84"; "85"; "86"; "87"; "88"; "89"; + "90"; "91"; "92"; "93"; "94"; "95"; "96"; "97"; "98"; "99"; ...], + [["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"] + ["10"; "11"; "12"; "13"; "14"; "15"; "16"; "17"] + ["20"; "21"; "22"; "23"; "24"; "25"; "26"; "27"] + ["30"; "31"; "32"; "33"; "34"; "35"; "36"; "37"] + ["40"; "41"; "42"; "43"; "44"; "45"; "46"; "47"] + ["50"; "51"; "52"; "53"; "54"; "55"; "56"; "57"] + ["60"; "61"; "62"; "63"; "64"; "65"; "66"; "67"] + ["70"; "71"; "72"; "73"; "74"; "75"; "76"; "77"]])) +type T = + new: a: int * b: int -> T + member AMethod: x: int -> int + static member StaticMethod: x: int -> int + member AProperty: int + static member StaticProperty: int +val f_as_method: x: int -> int +val f_as_thunk: (int -> int) +val refCell: string ref = { contents = "value" } +module D1 = + val words: System.Collections.Generic.IDictionary + val words2000: System.Collections.Generic.IDictionary + +> > module D2 = + val words: IDictionary + val words2000: IDictionary +val opt1: 'a option +val opt1b: int option = None +val opt4: 'a option option option option +val opt4b: int option option option option = Some (Some (Some None)) +val opt5: int list option option option option option list = + [Some (Some (Some (Some None))); + Some (Some (Some (Some (Some [1; 2; 3; 4; 5; 6])))); + Some + (Some + (Some + (Some + (Some + [1; 2; 3; 4; 5; 6; 7; 8; 9; 0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 1; + 2; 3; 4; 5; 6; 7; 8; 9; 1; 2; 3; 4; 5; 6; 7; 8; 9; 1; 2; 3; + 4; 5; 6; 7; 8; 9; 1; 2; 3; 4; 5; 6; 7; 8; 9; 0]))))] +val mkStr: n: int -> string +val strs: string[] = + [|""; "-"; "--"; "---"; "----"; "-----"; "------"; "-------"; "--------"; + "---------"; "----------"; "-----------"; "------------"; "-------------"; + "--------------"; "---------------"; "----------------"; + "-----------------"; "------------------"; "-------------------"; + "--------------------"; "---------------------"; "----------------------"; + "-----------------------"; "------------------------"; + "-------------------------"; "--------------------------"; + "---------------------------"; "----------------------------"; + "-----------------------------"; "------------------------------"; + "-------------------------------"; "--------------------------------"; + "---------------------------------"; "----------------------------------"; + "-----------------------------------"; + "------------------------------------"; + "-------------------------------------"; + "--------------------------------------"; + "---------------------------------------"; + "----------------------------------------"; + "-----------------------------------------"; + "------------------------------------------"; + "-------------------------------------------"; + "--------------------------------------------"; + "---------------------------------------------"; + "----------------------------------------------"; + "-----------------------------------------------"; + "------------------------------------------------"; + "-------------------------------------------------"; + "--------------------------------------------------"; + "---------------------------------------------------"; + "----------------------------------------------------"; + "-----------------------------------------------------"; + "------------------------------------------------------"; + "-------------------------------------------------------"; + "--------------------------------------------------------"; + "---------------------------------------------------------"; + "----------------------------------------------------------"; + "-----------------------------------------------------------"; + "------------------------------------------------------------"; + "-------------------------------------------------------------"; + "--------------------------------------------------------------"; + "---------------------------------------------------------------"; + "----------------------------------------------------------------"; + "-----------------------------------------------------------------"; + "------------------------------------------------------------------"; + "-------------------------------------------------------------------"; + "--------------------------------------------------------------------"; + "---------------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-----------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[12 chars]; + "-------------------------------------------------------------"+[13 chars]; + "-------------------------------------------------------------"+[14 chars]; + "-------------------------------------------------------------"+[15 chars]; + "-------------------------------------------------------------"+[16 chars]; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[18 chars]; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[20 chars]; + "-------------------------------------------------------------"+[21 chars]; + "-------------------------------------------------------------"+[22 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[24 chars]; + "-------------------------------------------------------------"+[25 chars]; + "-------------------------------------------------------------"+[26 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[28 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[30 chars]; + "-------------------------------------------------------------"+[31 chars]; + "-------------------------------------------------------------"+[32 chars]; + "-------------------------------------------------------------"+[33 chars]; + "-------------------------------------------------------------"+[34 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[36 chars]; + "-------------------------------------------------------------"+[37 chars]; + "-------------------------------------------------------------"+[38 chars]|] +val str7s: string[] = + [|""; "-------"; "--------------"; "---------------------"; + "----------------------------"; "-----------------------------------"; + "------------------------------------------"; + "-------------------------------------------------"; + "--------------------------------------------------------"; + "---------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[16 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[30 chars]; + "-------------------------------------------------------------"+[37 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[58 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[72 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[86 chars]; + "-------------------------------------------------------------"+[93 chars]; + "-------------------------------------------------------------"+[100 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[114 chars]; + "-------------------------------------------------------------"+[121 chars]; + "-------------------------------------------------------------"+[128 chars]; + "-------------------------------------------------------------"+[135 chars]; + "-------------------------------------------------------------"+[142 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[156 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[170 chars]; + "-------------------------------------------------------------"+[177 chars]; + "-------------------------------------------------------------"+[184 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[198 chars]; + "-------------------------------------------------------------"+[205 chars]; + "-------------------------------------------------------------"+[212 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[226 chars]; + "-------------------------------------------------------------"+[233 chars]; + "-------------------------------------------------------------"+[240 chars]; + "-------------------------------------------------------------"+[247 chars]; + "-------------------------------------------------------------"+[254 chars]; + "-------------------------------------------------------------"+[261 chars]; + "-------------------------------------------------------------"+[268 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[282 chars]; + "-------------------------------------------------------------"+[289 chars]; + "-------------------------------------------------------------"+[296 chars]; + "-------------------------------------------------------------"+[303 chars]; + "-------------------------------------------------------------"+[310 chars]; + "-------------------------------------------------------------"+[317 chars]; + "-------------------------------------------------------------"+[324 chars]; + "-------------------------------------------------------------"+[331 chars]; + "-------------------------------------------------------------"+[338 chars]; + "-------------------------------------------------------------"+[345 chars]; + "-------------------------------------------------------------"+[352 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[366 chars]; + "-------------------------------------------------------------"+[373 chars]; + "-------------------------------------------------------------"+[380 chars]; + "-------------------------------------------------------------"+[387 chars]; + "-------------------------------------------------------------"+[394 chars]; + "-------------------------------------------------------------"+[401 chars]; + "-------------------------------------------------------------"+[408 chars]; + "-------------------------------------------------------------"+[415 chars]; + "-------------------------------------------------------------"+[422 chars]; + "-------------------------------------------------------------"+[429 chars]; + "-------------------------------------------------------------"+[436 chars]; + "-------------------------------------------------------------"+[443 chars]; + "-------------------------------------------------------------"+[450 chars]; + "-------------------------------------------------------------"+[457 chars]; + "-------------------------------------------------------------"+[464 chars]; + "-------------------------------------------------------------"+[471 chars]; + "-------------------------------------------------------------"+[478 chars]; + "-------------------------------------------------------------"+[485 chars]; + "-------------------------------------------------------------"+[492 chars]; + "-------------------------------------------------------------"+[499 chars]; + "-------------------------------------------------------------"+[506 chars]; + "-------------------------------------------------------------"+[513 chars]; + "-------------------------------------------------------------"+[520 chars]; + "-------------------------------------------------------------"+[527 chars]; + "-------------------------------------------------------------"+[534 chars]; + "-------------------------------------------------------------"+[541 chars]; + "-------------------------------------------------------------"+[548 chars]; + "-------------------------------------------------------------"+[555 chars]; + "-------------------------------------------------------------"+[562 chars]; + "-------------------------------------------------------------"+[569 chars]; + "-------------------------------------------------------------"+[576 chars]; + "-------------------------------------------------------------"+[583 chars]; + "-------------------------------------------------------------"+[590 chars]; + "-------------------------------------------------------------"+[597 chars]; + "-------------------------------------------------------------"+[604 chars]; + "-------------------------------------------------------------"+[611 chars]; + "-------------------------------------------------------------"+[618 chars]; + "-------------------------------------------------------------"+[625 chars]; + "-------------------------------------------------------------"+[632 chars]|] +val grids: string[,] = + [[""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; + ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; + ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""] + [""; "-"; "--"; "---"; "----"; "-----"; "------"; "-------"; "--------"; + "---------"; "----------"; "-----------"; "------------"; "-------------"; + "--------------"; "---------------"; "----------------"; + "-----------------"; "------------------"; "-------------------"; + "--------------------"; "---------------------"; "----------------------"; + "-----------------------"; "------------------------"; + "-------------------------"; "--------------------------"; + "---------------------------"; "----------------------------"; + "-----------------------------"; "------------------------------"; + "-------------------------------"; "--------------------------------"; + "---------------------------------"; "----------------------------------"; + "-----------------------------------"; + "------------------------------------"; + "-------------------------------------"; + "--------------------------------------"; + "---------------------------------------"; + "----------------------------------------"; + "-----------------------------------------"; + "------------------------------------------"; + "-------------------------------------------"; + "--------------------------------------------"; + "---------------------------------------------"; + "----------------------------------------------"; + "-----------------------------------------------"; + "------------------------------------------------"; + "-------------------------------------------------"] + [""; "--"; "----"; "------"; "--------"; "----------"; "------------"; + "--------------"; "----------------"; "------------------"; + "--------------------"; "----------------------"; + "------------------------"; "--------------------------"; + "----------------------------"; "------------------------------"; + "--------------------------------"; "----------------------------------"; + "------------------------------------"; + "--------------------------------------"; + "----------------------------------------"; + "------------------------------------------"; + "--------------------------------------------"; + "----------------------------------------------"; + "------------------------------------------------"; + "--------------------------------------------------"; + "----------------------------------------------------"; + "------------------------------------------------------"; + "--------------------------------------------------------"; + "----------------------------------------------------------"; + "------------------------------------------------------------"; + "--------------------------------------------------------------"; + "----------------------------------------------------------------"; + "------------------------------------------------------------------"; + "--------------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[13 chars]; + "-------------------------------------------------------------"+[15 chars]; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[21 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[25 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[31 chars]; + "-------------------------------------------------------------"+[33 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[37 chars]] + [""; "---"; "------"; "---------"; "------------"; "---------------"; + "------------------"; "---------------------"; "------------------------"; + "---------------------------"; "------------------------------"; + "---------------------------------"; + "------------------------------------"; + "---------------------------------------"; + "------------------------------------------"; + "---------------------------------------------"; + "------------------------------------------------"; + "---------------------------------------------------"; + "------------------------------------------------------"; + "---------------------------------------------------------"; + "------------------------------------------------------------"; + "---------------------------------------------------------------"; + "------------------------------------------------------------------"; + "---------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[14 chars]; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[20 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[26 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[32 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[38 chars]; + "-------------------------------------------------------------"+[41 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[50 chars]; + "-------------------------------------------------------------"+[53 chars]; + "-------------------------------------------------------------"+[56 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[62 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[68 chars]; + "-------------------------------------------------------------"+[71 chars]; + "-------------------------------------------------------------"+[74 chars]; + "-------------------------------------------------------------"+[77 chars]; + "-------------------------------------------------------------"+[80 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[86 chars]] + [""; "----"; "--------"; "------------"; "----------------"; + "--------------------"; "------------------------"; + "----------------------------"; "--------------------------------"; + "------------------------------------"; + "----------------------------------------"; + "--------------------------------------------"; + "------------------------------------------------"; + "----------------------------------------------------"; + "--------------------------------------------------------"; + "------------------------------------------------------------"; + "----------------------------------------------------------------"; + "--------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[15 chars]; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[31 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[39 chars]; + "-------------------------------------------------------------"+[43 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[55 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[63 chars]; + "-------------------------------------------------------------"+[67 chars]; + "-------------------------------------------------------------"+[71 chars]; + "-------------------------------------------------------------"+[75 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[87 chars]; + "-------------------------------------------------------------"+[91 chars]; + "-------------------------------------------------------------"+[95 chars]; + "-------------------------------------------------------------"+[99 chars]; + "-------------------------------------------------------------"+[103 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[111 chars]; + "-------------------------------------------------------------"+[115 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[123 chars]; + "-------------------------------------------------------------"+[127 chars]; + "-------------------------------------------------------------"+[131 chars]; + "-------------------------------------------------------------"+[135 chars]] + [""; "-----"; "----------"; "---------------"; "--------------------"; + "-------------------------"; "------------------------------"; + "-----------------------------------"; + "----------------------------------------"; + "---------------------------------------------"; + "--------------------------------------------------"; + "-------------------------------------------------------"; + "------------------------------------------------------------"; + "-----------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[14 chars]; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[24 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[34 chars]; + "-------------------------------------------------------------"+[39 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[49 chars]; + "-------------------------------------------------------------"+[54 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[64 chars]; + "-------------------------------------------------------------"+[69 chars]; + "-------------------------------------------------------------"+[74 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[84 chars]; + "-------------------------------------------------------------"+[89 chars]; + "-------------------------------------------------------------"+[94 chars]; + "-------------------------------------------------------------"+[99 chars]; + "-------------------------------------------------------------"+[104 chars]; + "-------------------------------------------------------------"+[109 chars]; + "-------------------------------------------------------------"+[114 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[124 chars]; + "-------------------------------------------------------------"+[129 chars]; + "-------------------------------------------------------------"+[134 chars]; + "-------------------------------------------------------------"+[139 chars]; + "-------------------------------------------------------------"+[144 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[154 chars]; + "-------------------------------------------------------------"+[159 chars]; + "-------------------------------------------------------------"+[164 chars]; + "-------------------------------------------------------------"+[169 chars]; + "-------------------------------------------------------------"+[174 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[184 chars]] + [""; "------"; "------------"; "------------------"; + "------------------------"; "------------------------------"; + "------------------------------------"; + "------------------------------------------"; + "------------------------------------------------"; + "------------------------------------------------------"; + "------------------------------------------------------------"; + "------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[41 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[53 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[71 chars]; + "-------------------------------------------------------------"+[77 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[89 chars]; + "-------------------------------------------------------------"+[95 chars]; + "-------------------------------------------------------------"+[101 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[113 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[125 chars]; + "-------------------------------------------------------------"+[131 chars]; + "-------------------------------------------------------------"+[137 chars]; + "-------------------------------------------------------------"+[143 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[155 chars]; + "-------------------------------------------------------------"+[161 chars]; + "-------------------------------------------------------------"+[167 chars]; + "-------------------------------------------------------------"+[173 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[185 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[197 chars]; + "-------------------------------------------------------------"+[203 chars]; + "-------------------------------------------------------------"+[209 chars]; + "-------------------------------------------------------------"+[215 chars]; + "-------------------------------------------------------------"+[221 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[233 chars]] + [""; "-------"; "--------------"; "---------------------"; + "----------------------------"; "-----------------------------------"; + "------------------------------------------"; + "-------------------------------------------------"; + "--------------------------------------------------------"; + "---------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[16 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[30 chars]; + "-------------------------------------------------------------"+[37 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[58 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[72 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[86 chars]; + "-------------------------------------------------------------"+[93 chars]; + "-------------------------------------------------------------"+[100 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[114 chars]; + "-------------------------------------------------------------"+[121 chars]; + "-------------------------------------------------------------"+[128 chars]; + "-------------------------------------------------------------"+[135 chars]; + "-------------------------------------------------------------"+[142 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[156 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[170 chars]; + "-------------------------------------------------------------"+[177 chars]; + "-------------------------------------------------------------"+[184 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[198 chars]; + "-------------------------------------------------------------"+[205 chars]; + "-------------------------------------------------------------"+[212 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[226 chars]; + "-------------------------------------------------------------"+[233 chars]; + "-------------------------------------------------------------"+[240 chars]; + "-------------------------------------------------------------"+[247 chars]; + "-------------------------------------------------------------"+[254 chars]; + "-------------------------------------------------------------"+[261 chars]; + "-------------------------------------------------------------"+[268 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[282 chars]] + [""; "--------"; "----------------"; "------------------------"; + "--------------------------------"; + "----------------------------------------"; + "------------------------------------------------"; + "--------------------------------------------------------"; + "----------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[43 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[67 chars]; + "-------------------------------------------------------------"+[75 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[91 chars]; + "-------------------------------------------------------------"+[99 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[115 chars]; + "-------------------------------------------------------------"+[123 chars]; + "-------------------------------------------------------------"+[131 chars]; + "-------------------------------------------------------------"+[139 chars]; + "-------------------------------------------------------------"+[147 chars]; + "-------------------------------------------------------------"+[155 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[171 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[187 chars]; + "-------------------------------------------------------------"+[195 chars]; + "-------------------------------------------------------------"+[203 chars]; + "-------------------------------------------------------------"+[211 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[235 chars]; + "-------------------------------------------------------------"+[243 chars]; + "-------------------------------------------------------------"+[251 chars]; + "-------------------------------------------------------------"+[259 chars]; + "-------------------------------------------------------------"+[267 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[283 chars]; + "-------------------------------------------------------------"+[291 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[307 chars]; + "-------------------------------------------------------------"+[315 chars]; + "-------------------------------------------------------------"+[323 chars]; + "-------------------------------------------------------------"+[331 chars]] + [""; "---------"; "------------------"; "---------------------------"; + "------------------------------------"; + "---------------------------------------------"; + "------------------------------------------------------"; + "---------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[20 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[38 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[56 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[74 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[92 chars]; + "-------------------------------------------------------------"+[101 chars]; + "-------------------------------------------------------------"+[110 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[128 chars]; + "-------------------------------------------------------------"+[137 chars]; + "-------------------------------------------------------------"+[146 chars]; + "-------------------------------------------------------------"+[155 chars]; + "-------------------------------------------------------------"+[164 chars]; + "-------------------------------------------------------------"+[173 chars]; + "-------------------------------------------------------------"+[182 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[200 chars]; + "-------------------------------------------------------------"+[209 chars]; + "-------------------------------------------------------------"+[218 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[236 chars]; + "-------------------------------------------------------------"+[245 chars]; + "-------------------------------------------------------------"+[254 chars]; + "-------------------------------------------------------------"+[263 chars]; + "-------------------------------------------------------------"+[272 chars]; + "-------------------------------------------------------------"+[281 chars]; + "-------------------------------------------------------------"+[290 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[308 chars]; + "-------------------------------------------------------------"+[317 chars]; + "-------------------------------------------------------------"+[326 chars]; + "-------------------------------------------------------------"+[335 chars]; + "-------------------------------------------------------------"+[344 chars]; + "-------------------------------------------------------------"+[353 chars]; + "-------------------------------------------------------------"+[362 chars]; + "-------------------------------------------------------------"+[371 chars]; + "-------------------------------------------------------------"+[380 chars]] + [""; "----------"; "--------------------"; "------------------------------"; + "----------------------------------------"; + "--------------------------------------------------"; + "------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[39 chars]; + "-------------------------------------------------------------"+[49 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[69 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[89 chars]; + "-------------------------------------------------------------"+[99 chars]; + "-------------------------------------------------------------"+[109 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[129 chars]; + "-------------------------------------------------------------"+[139 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[159 chars]; + "-------------------------------------------------------------"+[169 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[189 chars]; + "-------------------------------------------------------------"+[199 chars]; + "-------------------------------------------------------------"+[209 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[229 chars]; + "-------------------------------------------------------------"+[239 chars]; + "-------------------------------------------------------------"+[249 chars]; + "-------------------------------------------------------------"+[259 chars]; + "-------------------------------------------------------------"+[269 chars]; + "-------------------------------------------------------------"+[279 chars]; + "-------------------------------------------------------------"+[289 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[309 chars]; + "-------------------------------------------------------------"+[319 chars]; + "-------------------------------------------------------------"+[329 chars]; + "-------------------------------------------------------------"+[339 chars]; + "-------------------------------------------------------------"+[349 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[369 chars]; + "-------------------------------------------------------------"+[379 chars]; + "-------------------------------------------------------------"+[389 chars]; + "-------------------------------------------------------------"+[399 chars]; + "-------------------------------------------------------------"+[409 chars]; + "-------------------------------------------------------------"+[419 chars]; + "-------------------------------------------------------------"+[429 chars]] + [""; "-----------"; "----------------------"; + "---------------------------------"; + "--------------------------------------------"; + "-------------------------------------------------------"; + "------------------------------------------------------------------"; + "-------------------------------------------------------------"+[16 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[38 chars]; + "-------------------------------------------------------------"+[49 chars]; + "-------------------------------------------------------------"+[60 chars]; + "-------------------------------------------------------------"+[71 chars]; + "-------------------------------------------------------------"+[82 chars]; + "-------------------------------------------------------------"+[93 chars]; + "-------------------------------------------------------------"+[104 chars]; + "-------------------------------------------------------------"+[115 chars]; + "-------------------------------------------------------------"+[126 chars]; + "-------------------------------------------------------------"+[137 chars]; + "-------------------------------------------------------------"+[148 chars]; + "-------------------------------------------------------------"+[159 chars]; + "-------------------------------------------------------------"+[170 chars]; + "-------------------------------------------------------------"+[181 chars]; + "-------------------------------------------------------------"+[192 chars]; + "-------------------------------------------------------------"+[203 chars]; + "-------------------------------------------------------------"+[214 chars]; + "-------------------------------------------------------------"+[225 chars]; + "-------------------------------------------------------------"+[236 chars]; + "-------------------------------------------------------------"+[247 chars]; + "-------------------------------------------------------------"+[258 chars]; + "-------------------------------------------------------------"+[269 chars]; + "-------------------------------------------------------------"+[280 chars]; + "-------------------------------------------------------------"+[291 chars]; + "-------------------------------------------------------------"+[302 chars]; + "-------------------------------------------------------------"+[313 chars]; + "-------------------------------------------------------------"+[324 chars]; + "-------------------------------------------------------------"+[335 chars]; + "-------------------------------------------------------------"+[346 chars]; + "-------------------------------------------------------------"+[357 chars]; + "-------------------------------------------------------------"+[368 chars]; + "-------------------------------------------------------------"+[379 chars]; + "-------------------------------------------------------------"+[390 chars]; + "-------------------------------------------------------------"+[401 chars]; + "-------------------------------------------------------------"+[412 chars]; + "-------------------------------------------------------------"+[423 chars]; + "-------------------------------------------------------------"+[434 chars]; + "-------------------------------------------------------------"+[445 chars]; + "-------------------------------------------------------------"+[456 chars]; + "-------------------------------------------------------------"+[467 chars]; + "-------------------------------------------------------------"+[478 chars]] + [""; "------------"; "------------------------"; + "------------------------------------"; + "------------------------------------------------"; + "------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[71 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[95 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[131 chars]; + "-------------------------------------------------------------"+[143 chars]; + "-------------------------------------------------------------"+[155 chars]; + "-------------------------------------------------------------"+[167 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[203 chars]; + "-------------------------------------------------------------"+[215 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[239 chars]; + "-------------------------------------------------------------"+[251 chars]; + "-------------------------------------------------------------"+[263 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[287 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[311 chars]; + "-------------------------------------------------------------"+[323 chars]; + "-------------------------------------------------------------"+[335 chars]; + "-------------------------------------------------------------"+[347 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[371 chars]; + "-------------------------------------------------------------"+[383 chars]; + "-------------------------------------------------------------"+[395 chars]; + "-------------------------------------------------------------"+[407 chars]; + "-------------------------------------------------------------"+[419 chars]; + "-------------------------------------------------------------"+[431 chars]; + "-------------------------------------------------------------"+[443 chars]; + "-------------------------------------------------------------"+[455 chars]; + "-------------------------------------------------------------"+[467 chars]; + "-------------------------------------------------------------"+[479 chars]; + "-------------------------------------------------------------"+[491 chars]; + "-------------------------------------------------------------"+[503 chars]; + "-------------------------------------------------------------"+[515 chars]; + "-------------------------------------------------------------"+[527 chars]] + [""; "-------------"; "--------------------------"; + "---------------------------------------"; + "----------------------------------------------------"; + "-----------------------------------------------------------------"; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[30 chars]; + "-------------------------------------------------------------"+[43 chars]; + "-------------------------------------------------------------"+[56 chars]; + "-------------------------------------------------------------"+[69 chars]; + "-------------------------------------------------------------"+[82 chars]; + "-------------------------------------------------------------"+[95 chars]; + "-------------------------------------------------------------"+[108 chars]; + "-------------------------------------------------------------"+[121 chars]; + "-------------------------------------------------------------"+[134 chars]; + "-------------------------------------------------------------"+[147 chars]; + "-------------------------------------------------------------"+[160 chars]; + "-------------------------------------------------------------"+[173 chars]; + "-------------------------------------------------------------"+[186 chars]; + "-------------------------------------------------------------"+[199 chars]; + "-------------------------------------------------------------"+[212 chars]; + "-------------------------------------------------------------"+[225 chars]; + "-------------------------------------------------------------"+[238 chars]; + "-------------------------------------------------------------"+[251 chars]; + "-------------------------------------------------------------"+[264 chars]; + "-------------------------------------------------------------"+[277 chars]; + "-------------------------------------------------------------"+[290 chars]; + "-------------------------------------------------------------"+[303 chars]; + "-------------------------------------------------------------"+[316 chars]; + "-------------------------------------------------------------"+[329 chars]; + "-------------------------------------------------------------"+[342 chars]; + "-------------------------------------------------------------"+[355 chars]; + "-------------------------------------------------------------"+[368 chars]; + "-------------------------------------------------------------"+[381 chars]; + "-------------------------------------------------------------"+[394 chars]; + "-------------------------------------------------------------"+[407 chars]; + "-------------------------------------------------------------"+[420 chars]; + "-------------------------------------------------------------"+[433 chars]; + "-------------------------------------------------------------"+[446 chars]; + "-------------------------------------------------------------"+[459 chars]; + "-------------------------------------------------------------"+[472 chars]; + "-------------------------------------------------------------"+[485 chars]; + "-------------------------------------------------------------"+[498 chars]; + "-------------------------------------------------------------"+[511 chars]; + "-------------------------------------------------------------"+[524 chars]; + "-------------------------------------------------------------"+[537 chars]; + "-------------------------------------------------------------"+[550 chars]; + "-------------------------------------------------------------"+[563 chars]; + "-------------------------------------------------------------"+[576 chars]] + [""; "--------------"; "----------------------------"; + "------------------------------------------"; + "--------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[37 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[93 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[121 chars]; + "-------------------------------------------------------------"+[135 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[177 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[205 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[233 chars]; + "-------------------------------------------------------------"+[247 chars]; + "-------------------------------------------------------------"+[261 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[289 chars]; + "-------------------------------------------------------------"+[303 chars]; + "-------------------------------------------------------------"+[317 chars]; + "-------------------------------------------------------------"+[331 chars]; + "-------------------------------------------------------------"+[345 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[373 chars]; + "-------------------------------------------------------------"+[387 chars]; + "-------------------------------------------------------------"+[401 chars]; + "-------------------------------------------------------------"+[415 chars]; + "-------------------------------------------------------------"+[429 chars]; + "-------------------------------------------------------------"+[443 chars]; + "-------------------------------------------------------------"+[457 chars]; + "-------------------------------------------------------------"+[471 chars]; + "-------------------------------------------------------------"+[485 chars]; + "-------------------------------------------------------------"+[499 chars]; + "-------------------------------------------------------------"+[513 chars]; + "-------------------------------------------------------------"+[527 chars]; + "-------------------------------------------------------------"+[541 chars]; + "-------------------------------------------------------------"+[555 chars]; + "-------------------------------------------------------------"+[569 chars]; + "-------------------------------------------------------------"+[583 chars]; + "-------------------------------------------------------------"+[597 chars]; + "-------------------------------------------------------------"+[611 chars]; + "-------------------------------------------------------------"+[625 chars]] + [""; "---------------"; "------------------------------"; + "---------------------------------------------"; + "------------------------------------------------------------"; + "-------------------------------------------------------------"+[14 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[74 chars]; + "-------------------------------------------------------------"+[89 chars]; + "-------------------------------------------------------------"+[104 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[134 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[164 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[194 chars]; + "-------------------------------------------------------------"+[209 chars]; + "-------------------------------------------------------------"+[224 chars]; + "-------------------------------------------------------------"+[239 chars]; + "-------------------------------------------------------------"+[254 chars]; + "-------------------------------------------------------------"+[269 chars]; + "-------------------------------------------------------------"+[284 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[314 chars]; + "-------------------------------------------------------------"+[329 chars]; + "-------------------------------------------------------------"+[344 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[374 chars]; + "-------------------------------------------------------------"+[389 chars]; + "-------------------------------------------------------------"+[404 chars]; + "-------------------------------------------------------------"+[419 chars]; + "-------------------------------------------------------------"+[434 chars]; + "-------------------------------------------------------------"+[449 chars]; + "-------------------------------------------------------------"+[464 chars]; + "-------------------------------------------------------------"+[479 chars]; + "-------------------------------------------------------------"+[494 chars]; + "-------------------------------------------------------------"+[509 chars]; + "-------------------------------------------------------------"+[524 chars]; + "-------------------------------------------------------------"+[539 chars]; + "-------------------------------------------------------------"+[554 chars]; + "-------------------------------------------------------------"+[569 chars]; + "-------------------------------------------------------------"+[584 chars]; + "-------------------------------------------------------------"+[599 chars]; + "-------------------------------------------------------------"+[614 chars]; + "-------------------------------------------------------------"+[629 chars]; + "-------------------------------------------------------------"+[644 chars]; + "-------------------------------------------------------------"+[659 chars]; + "-------------------------------------------------------------"+[674 chars]] + [""; "----------------"; "--------------------------------"; + "------------------------------------------------"; + "----------------------------------------------------------------"; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[67 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[99 chars]; + "-------------------------------------------------------------"+[115 chars]; + "-------------------------------------------------------------"+[131 chars]; + "-------------------------------------------------------------"+[147 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[195 chars]; + "-------------------------------------------------------------"+[211 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[243 chars]; + "-------------------------------------------------------------"+[259 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[291 chars]; + "-------------------------------------------------------------"+[307 chars]; + "-------------------------------------------------------------"+[323 chars]; + "-------------------------------------------------------------"+[339 chars]; + "-------------------------------------------------------------"+[355 chars]; + "-------------------------------------------------------------"+[371 chars]; + "-------------------------------------------------------------"+[387 chars]; + "-------------------------------------------------------------"+[403 chars]; + "-------------------------------------------------------------"+[419 chars]; + "-------------------------------------------------------------"+[435 chars]; + "-------------------------------------------------------------"+[451 chars]; + "-------------------------------------------------------------"+[467 chars]; + "-------------------------------------------------------------"+[483 chars]; + "-------------------------------------------------------------"+[499 chars]; + "-------------------------------------------------------------"+[515 chars]; + "-------------------------------------------------------------"+[531 chars]; + "-------------------------------------------------------------"+[547 chars]; + "-------------------------------------------------------------"+[563 chars]; + "-------------------------------------------------------------"+[579 chars]; + "-------------------------------------------------------------"+[595 chars]; + "-------------------------------------------------------------"+[611 chars]; + "-------------------------------------------------------------"+[627 chars]; + "-------------------------------------------------------------"+[643 chars]; + "-------------------------------------------------------------"+[659 chars]; + "-------------------------------------------------------------"+[675 chars]; + "-------------------------------------------------------------"+[691 chars]; + "-------------------------------------------------------------"+[707 chars]; + "-------------------------------------------------------------"+[723 chars]] + [""; "-----------------"; "----------------------------------"; + "---------------------------------------------------"; + "--------------------------------------------------------------------"; + "-------------------------------------------------------------"+[24 chars]; + "-------------------------------------------------------------"+[41 chars]; + "-------------------------------------------------------------"+[58 chars]; + "-------------------------------------------------------------"+[75 chars]; + "-------------------------------------------------------------"+[92 chars]; + "-------------------------------------------------------------"+[109 chars]; + "-------------------------------------------------------------"+[126 chars]; + "-------------------------------------------------------------"+[143 chars]; + "-------------------------------------------------------------"+[160 chars]; + "-------------------------------------------------------------"+[177 chars]; + "-------------------------------------------------------------"+[194 chars]; + "-------------------------------------------------------------"+[211 chars]; + "-------------------------------------------------------------"+[228 chars]; + "-------------------------------------------------------------"+[245 chars]; + "-------------------------------------------------------------"+[262 chars]; + "-------------------------------------------------------------"+[279 chars]; + "-------------------------------------------------------------"+[296 chars]; + "-------------------------------------------------------------"+[313 chars]; + "-------------------------------------------------------------"+[330 chars]; + "-------------------------------------------------------------"+[347 chars]; + "-------------------------------------------------------------"+[364 chars]; + "-------------------------------------------------------------"+[381 chars]; + "-------------------------------------------------------------"+[398 chars]; + "-------------------------------------------------------------"+[415 chars]; + "-------------------------------------------------------------"+[432 chars]; + "-------------------------------------------------------------"+[449 chars]; + "-------------------------------------------------------------"+[466 chars]; + "-------------------------------------------------------------"+[483 chars]; + "-------------------------------------------------------------"+[500 chars]; + "-------------------------------------------------------------"+[517 chars]; + "-------------------------------------------------------------"+[534 chars]; + "-------------------------------------------------------------"+[551 chars]; + "-------------------------------------------------------------"+[568 chars]; + "-------------------------------------------------------------"+[585 chars]; + "-------------------------------------------------------------"+[602 chars]; + "-------------------------------------------------------------"+[619 chars]; + "-------------------------------------------------------------"+[636 chars]; + "-------------------------------------------------------------"+[653 chars]; + "-------------------------------------------------------------"+[670 chars]; + "-------------------------------------------------------------"+[687 chars]; + "-------------------------------------------------------------"+[704 chars]; + "-------------------------------------------------------------"+[721 chars]; + "-------------------------------------------------------------"+[738 chars]; + "-------------------------------------------------------------"+[755 chars]; + "-------------------------------------------------------------"+[772 chars]] + [""; "------------------"; "------------------------------------"; + "------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[101 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[137 chars]; + "-------------------------------------------------------------"+[155 chars]; + "-------------------------------------------------------------"+[173 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[209 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[245 chars]; + "-------------------------------------------------------------"+[263 chars]; + "-------------------------------------------------------------"+[281 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[317 chars]; + "-------------------------------------------------------------"+[335 chars]; + "-------------------------------------------------------------"+[353 chars]; + "-------------------------------------------------------------"+[371 chars]; + "-------------------------------------------------------------"+[389 chars]; + "-------------------------------------------------------------"+[407 chars]; + "-------------------------------------------------------------"+[425 chars]; + "-------------------------------------------------------------"+[443 chars]; + "-------------------------------------------------------------"+[461 chars]; + "-------------------------------------------------------------"+[479 chars]; + "-------------------------------------------------------------"+[497 chars]; + "-------------------------------------------------------------"+[515 chars]; + "-------------------------------------------------------------"+[533 chars]; + "-------------------------------------------------------------"+[551 chars]; + "-------------------------------------------------------------"+[569 chars]; + "-------------------------------------------------------------"+[587 chars]; + "-------------------------------------------------------------"+[605 chars]; + "-------------------------------------------------------------"+[623 chars]; + "-------------------------------------------------------------"+[641 chars]; + "-------------------------------------------------------------"+[659 chars]; + "-------------------------------------------------------------"+[677 chars]; + "-------------------------------------------------------------"+[695 chars]; + "-------------------------------------------------------------"+[713 chars]; + "-------------------------------------------------------------"+[731 chars]; + "-------------------------------------------------------------"+[749 chars]; + "-------------------------------------------------------------"+[767 chars]; + "-------------------------------------------------------------"+[785 chars]; + "-------------------------------------------------------------"+[803 chars]; + "-------------------------------------------------------------"+[821 chars]] + [""; "-------------------"; "--------------------------------------"; + "---------------------------------------------------------"; + "-------------------------------------------------------------"+[15 chars]; + "-------------------------------------------------------------"+[34 chars]; + "-------------------------------------------------------------"+[53 chars]; + "-------------------------------------------------------------"+[72 chars]; + "-------------------------------------------------------------"+[91 chars]; + "-------------------------------------------------------------"+[110 chars]; + "-------------------------------------------------------------"+[129 chars]; + "-------------------------------------------------------------"+[148 chars]; + "-------------------------------------------------------------"+[167 chars]; + "-------------------------------------------------------------"+[186 chars]; + "-------------------------------------------------------------"+[205 chars]; + "-------------------------------------------------------------"+[224 chars]; + "-------------------------------------------------------------"+[243 chars]; + "-------------------------------------------------------------"+[262 chars]; + "-------------------------------------------------------------"+[281 chars]; + "-------------------------------------------------------------"+[300 chars]; + "-------------------------------------------------------------"+[319 chars]; + "-------------------------------------------------------------"+[338 chars]; + "-------------------------------------------------------------"+[357 chars]; + "-------------------------------------------------------------"+[376 chars]; + "-------------------------------------------------------------"+[395 chars]; + "-------------------------------------------------------------"+[414 chars]; + "-------------------------------------------------------------"+[433 chars]; + "-------------------------------------------------------------"+[452 chars]; + "-------------------------------------------------------------"+[471 chars]; + "-------------------------------------------------------------"+[490 chars]; + "-------------------------------------------------------------"+[509 chars]; + "-------------------------------------------------------------"+[528 chars]; + "-------------------------------------------------------------"+[547 chars]; + "-------------------------------------------------------------"+[566 chars]; + "-------------------------------------------------------------"+[585 chars]; + "-------------------------------------------------------------"+[604 chars]; + "-------------------------------------------------------------"+[623 chars]; + "-------------------------------------------------------------"+[642 chars]; + "-------------------------------------------------------------"+[661 chars]; + "-------------------------------------------------------------"+[680 chars]; + "-------------------------------------------------------------"+[699 chars]; + "-------------------------------------------------------------"+[718 chars]; + "-------------------------------------------------------------"+[737 chars]; + "-------------------------------------------------------------"+[756 chars]; + "-------------------------------------------------------------"+[775 chars]; + "-------------------------------------------------------------"+[794 chars]; + "-------------------------------------------------------------"+[813 chars]; + "-------------------------------------------------------------"+[832 chars]; + "-------------------------------------------------------------"+[851 chars]; + "-------------------------------------------------------------"+[870 chars]; + ...] + ...] + +> type tree = + | L + | N of tree list +val mkT: w: int -> d: int -> tree +val tree: w: int -> d: int -> tree + +> [Building 2 4...done] +val tree_2_4: tree = + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]] + +> [Building 2 6...done] +val tree_2_6: tree = + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]] + +> [Building 2 8...done] +val tree_2_8: tree = + N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]] + +> [Building 2 10...done] +val tree_2_10: tree = + N [N [N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]]; + N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N ...; ...]; ...]; ...]; ...]; ...]; + ...]; ...]; ...]; ...] + +> [Building 2 12...done] +val tree_2_12: tree = + N [N [N [N [N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]]; + N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; ...]; ...]; ...]; ...]; ...]; ...]; + ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 2 14...done] +val tree_2_14: tree = + N [N [N [N [N [N [N [N [N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]]]; + N [N [N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N ...; ...]; ...]; ...]; ...]; ...]; ...]; + ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 3 8...done] +val tree_3_8: tree = + N [N [N [N [N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]]; + N [N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]]; + N [N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; ...]; ...]; ...]; ...]; + ...]; ...]; ...]; ...] + +> [Building 4 8...done] +val tree_4_8: tree = + N [N [N [N [N [N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]]; + N [N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]]; + N [N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; ...]; ...]; + ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 5 8...done] +val tree_5_8: tree = + N [N [N [N [N [N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]; + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]; + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]; + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]; + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]]; + N [N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]; + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N ...; ...]; ...]; ...]; ...]; ...]; + ...]; ...] + +> [Building 6 8...done] +val tree_6_8: tree = + N [N [N [N [N [N [N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]]; + N [N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]]; + N [N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]]; + N [N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N ...; ...]; ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 5 3...done] +val tree_5_3: tree = + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]] + +> > type X = + | Var of int + | Bop of int * X * X +val generate: x: int -> X + +> val exps: X list = + [Bop (1, Var 0, Var 0); Var 2; + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)); Var 4; + Bop (5, Var 2, Bop (1, Var 0, Var 0)); Var 6; + Bop (7, Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)), Var 2); + Var 8; + Bop (9, Var 4, Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0))); + Var 10; + Bop + (213, Var 106, + Bop + (71, + Bop + (35, Bop (17, Var 8, Bop (5, Var 2, Bop (1, Var 0, Var 0))), + Bop + (11, Bop (5, Var 2, Bop (1, Var 0, Var 0)), + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)))), + Bop + (23, + Bop + (11, Bop (5, Var 2, Bop (1, Var 0, Var 0)), + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0))), + Bop + (7, Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)), Var 2)))); + Var 21342314; Var 3214; Bop (1231357, Var 615678, Var 410452); + Bop + (5234547, Bop (2617273, Var 1308636, Var 872424), + Bop (1744849, Var 872424, Var 581616)); + Bop + (923759825, Var 461879912, Bop (307919941, Var 153959970, Var 102639980)); + Var 2435234; + Bop + (12396777, Var 6198388, + Bop + (4132259, + Bop + (2066129, Var 1033064, + Bop + (688709, Var 344354, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502))))), + Bop + (1377419, + Bop + (688709, Var 344354, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502)))), + Bop + (459139, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502))), + Var 153046)))); + Bop + (3333333, Var 1666666, + Bop + (1111111, + Bop + (555555, Bop (277777, Var 138888, Var 92592), + Bop (185185, Var 92592, Var 61728)), Var 370370)); + Bop + (1312311237, Var 656155618, + Bop + (437437079, + Bop + (218718539, + Bop + (109359269, Var 54679634, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38))))), + Var 6250), + Bop + (12501, Var 6250, + Bop + (4167, + Bop + (2083, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38))), + Var 694), + Bop + (1389, Var 694, + Bop + (463, + Bop + (231, + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38), + Bop + (77, Var 38, + Bop + (25, Var 12, Var 8))), + Var 154)))))), Var 75006))), + Var 1350114)))), + Bop + (72906179, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38))))), + Var 6250), + Bop + (12501, Var 6250, + Bop + (4167, + Bop + (2083, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38))), + Var 694), + Bop + (1389, Var 694, + Bop + (463, + Bop + (231, + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38), + Bop + (77, Var 38, + Bop + (25, Var 12, Var 8))), + Var 154)))))), Var 75006))), + Var 1350114))), + Bop (24302059, Bop (12151029, ..., ...), ...))), ...)); ...] + +> module Exprs = + val x1: X = + Bop + (213, Var 106, + Bop + (71, + Bop + (35, Bop (17, Var 8, Bop (5, Var 2, Bop (1, Var 0, Var 0))), + Bop + (11, Bop (5, Var 2, Bop (1, Var 0, Var 0)), + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)))), + Bop + (23, + Bop + (11, Bop (5, Var 2, Bop (1, Var 0, Var 0)), + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0))), + Bop + (7, Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)), + Var 2)))) + val x2: X = Var 21342314 + val x3: X = Var 3214 + val x4: X = Bop (1231357, Var 615678, Var 410452) + val x5: X = + Bop + (5234547, Bop (2617273, Var 1308636, Var 872424), + Bop (1744849, Var 872424, Var 581616)) + val x6: X = + Bop + (923759825, Var 461879912, Bop (307919941, Var 153959970, Var 102639980)) + val x7: X = Var 2435234 + val x8: X = + Bop + (12396777, Var 6198388, + Bop + (4132259, + Bop + (2066129, Var 1033064, + Bop + (688709, Var 344354, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502))))), + Bop + (1377419, + Bop + (688709, Var 344354, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502)))), + Bop + (459139, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502))), + Var 153046)))) + val x9: X = + Bop + (3333333, Var 1666666, + Bop + (1111111, + Bop + (555555, Bop (277777, Var 138888, Var 92592), + Bop (185185, Var 92592, Var 61728)), Var 370370)) + val x10: X = + Bop + (1312311237, Var 656155618, + Bop + (437437079, + Bop + (218718539, + Bop + (109359269, Var 54679634, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop + (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))))), + Var 6250), + Bop + (12501, Var 6250, + Bop + (4167, + Bop + (2083, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))), Var 694), + Bop + (1389, Var 694, + Bop + (463, + Bop + (231, + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38), + Bop + (77, Var 38, + Bop + (25, Var 12, Var 8))), + Var 154)))))), Var 75006))), + Var 1350114)))), + Bop + (72906179, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop + (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))))), + Var 6250), + Bop + (12501, Var 6250, + Bop + (4167, + Bop + (2083, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))), Var 694), + Bop + (1389, Var 694, + Bop + (463, + Bop + (231, + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38), + Bop + (77, Var 38, + Bop + (25, Var 12, Var 8))), + Var 154)))))), Var 75006))), + Var 1350114))), + Bop + (24302059, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop + (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))))), + Var 6250), + Bop + (12501, Var 6250, + Bop + (4167, + Bop + (2083, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))), Var 694), + Bop + (1389, Var 694, + Bop + (463, + Bop + (231, + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38), + Bop + (77, Var 38, + Bop + (25, Var 12, Var 8))), + Var 154)))))), Var 75006))), + Var 1350114)), Var 8100686))), + Bop + (145812359, + Bop + (72906179, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop + (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + ...), ...))), + ...)))), ...), ...)), + ...))), ...))), ...), ...))) + val x11: X = + Bop + (2147483647, + Bop + (1073741823, + Bop + (536870911, + Bop + (268435455, + Bop + (134217727, + Bop + (67108863, + Bop + (33554431, + Bop + (16777215, + Bop + (8388607, + Bop + (4194303, + Bop + (2097151, + Bop + (1048575, + Bop + (524287, + Bop + (262143, + Bop + (131071, + Bop + (65535, + Bop + (32767, + Bop + (16383, + Bop + (8191, + Bop + (4095, + Bop + (2047, + Bop + (1023, + Bop + (511, + Bop + (255, + Bop + (127, + Bop + (63, + Bop + (31, + Bop + (15, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var + 2), + Bop + (5, + Var + 2, + Bop + (1, + Var + 0, + Var + 0))), + Var + 10), + Bop + (21, + Var + 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var + 2))), + Var + 42), + Bop + (85, + Var + 42, + Var + 28)), + Var + 170), + Bop + (341, + Var + 170, + Bop + (113, + Var + 56, + Bop + (37, + Var + 18, + Var + 12)))), + Var 682), + Bop + (1365, + Var 682, + Bop + (455, + Bop + (227, + Bop + (113, + Var + 56, + Bop + (37, + Var + 18, + Var + 12)), + Bop + (75, + Bop + (37, + Var + 18, + Var + 12), + Bop + (25, + Var + 12, + Var + 8))), + Bop + (151, + Bop + (75, + Bop + (37, + Var + 18, + Var + 12), + Bop + (25, + Var + 12, + Var + 8)), + Var + 50)))), + Var 2730), + Bop + (5461, Var 2730, + Var 1820)), + Var 10922), + Bop + (21845, Var 10922, + Bop + (7281, Var 3640, + Bop + (2427, + Bop + (1213, Var 606, + Var 404), + Bop + (809, Var 404, + Bop + (269, + Var 134, + Bop + (89, + Var 44, + Bop + (29, + Var + 14, + Bop + (9, + Var + 4, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))))))))))), + Var 43690), + Bop + (87381, Var 43690, + Bop + (29127, + Bop + (14563, + Bop + (7281, Var 3640, + Bop + (2427, + Bop + (1213, Var 606, + Var 404), + Bop + (809, Var 404, + Bop + (269, + Var 134, + Bop + (89, + Var 44, + Bop + (29, + Var + 14, + Bop + (9, + Var + 4, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))))))))), + Var 4854), + Bop + (9709, Var 4854, + Var 3236)))), + Var 174762), + Bop (349525, Var 174762, Var 116508)), + Var 699050), + Bop + (1398101, Var 699050, + Bop (466033, Var 233016, Var 155344))), + Var 2796202), + Bop + (5592405, Var 2796202, + Bop + (1864135, + Bop + (932067, + Bop (466033, Var 233016, Var 155344), + Bop + (310689, Var 155344, + Bop + (103563, + Bop (51781, Var 25890, Var 17260), + Bop + (34521, Var 17260, + Bop + (11507, + Bop + (5753, Var 2876, + Bop + (1917, Var 958, + Bop + (639, + Bop + (319, + Bop + (159, + Bop + (79, + Bop + (39, + Bop + (19, + Bop + (9, + Var + 4, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))), + Var 6), + Bop + (13, + Var 6, + Var 4)), + Var 26), + Bop + (53, Var 26, + Bop + (17, + Var 8, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0))))), + Var 106), + Bop + (213, Var 106, + Bop + (71, + Bop + (35, + Bop + (17, + Var 8, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0))), + Bop + (11, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0)), + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)))), + Bop + (23, + Bop + (11, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0)), + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))), + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))))), + Bop + (3835, + Bop + (1917, Var 958, + Bop + (639, + Bop + (319, + Bop + (159, + Bop + (79, + Bop + (39, + Bop + (19, + Bop + (9, + Var + 4, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))), + Var 6), + Bop + (13, + Var 6, + Var 4)), + Var 26), + Bop + (53, Var 26, + Bop + (17, + Var 8, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0))))), + Var 106), + Bop + (213, Var 106, + Bop + (71, + Bop + (35, + Bop + (17, + Var 8, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0))), + Bop + (11, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0)), + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)))), + Bop + (23, + Bop + (11, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0)), + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))), + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2)))))), + Var 1278)))))), Var 621378))), + Var 11184810), + Bop (22369621, Var 11184810, Var 7456540)), Var 44739242), + Bop + (89478485, Var 44739242, + Bop + (29826161, Var 14913080, + Bop + (9942053, Var 4971026, + Bop (3314017, Var 1657008, Var 1104672))))), + Var 178956970), + Bop + (357913941, Var 178956970, + Bop + (119304647, + Bop + (59652323, + Bop + (29826161, Var 14913080, + Bop + (9942053, Var 4971026, + Bop (3314017, Var 1657008, Var 1104672))), + Bop + (19884107, + Bop + (9942053, Var 4971026, + Bop (3314017, Var 1657008, Var 1104672)), + Bop + (6628035, Bop (3314017, Var 1657008, Var 1104672), + Bop (2209345, Var 1104672, Var 736448)))), + Bop + (39768215, + Bop + (19884107, + Bop + (9942053, Var 4971026, + Bop (3314017, Var 1657008, Var 1104672)), + Bop + (6628035, Bop (3314017, Var 1657008, Var 1104672), + Bop (2209345, Var 1104672, Var 736448))), + Bop + (13256071, + Bop + (6628035, Bop (3314017, Var 1657008, Var 1104672), + Bop (2209345, Var 1104672, Var 736448)), Var 4418690))))), + Var 715827882) + +> type C = + new: x: string -> C + override ToString: unit -> string +val c1: C = +val csA: C[] = + [|; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; ...|] +val csB: C[] = + [|; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; ...|] +val csC: C[] = + [|; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; ...|] + +> exception Abc + +> exception AbcInt of int + +> exception AbcString of string + +> exception AbcExn of exn list + +> exception AbcException of System.Exception list + +> val exA1: exn = Abc +val exA2: exn = AbcInt 2 +val exA3: exn = AbcString "3" +val exA4: exn = AbcExn [Abc; AbcInt 2; AbcString "3"] +val exA5: exn = AbcException [AbcExn [Abc; AbcInt 2; AbcString "3"]] +exception Ex0 +exception ExUnit of unit +exception ExUnits of unit * unit +exception ExUnitOption of unit option +val ex0: exn = Ex0 +val exU: exn = ExUnit () +val exUs: exn = ExUnits ((), ()) +val exUSome: exn = ExUnitOption (Some ()) +val exUNone: exn = ExUnitOption None +type 'a T4063 = | AT4063 of 'a + +> val valAT3063_12: int T4063 = AT4063 12 + +> val valAT3063_True: bool T4063 = AT4063 true + +> val valAT3063_text: string T4063 = AT4063 "text" + +> val valAT3063_null: System.Object T4063 = AT4063 null + +> type M4063<'a> = + new: x: 'a -> M4063<'a> + +> val v4063: M4063 + +> type Taaaaa<'a> = + new: unit -> Taaaaa<'a> + +> type Taaaaa2<'a> = + inherit Taaaaa<'a> + new: unit -> Taaaaa2<'a> + member M: unit -> Taaaaa2<'a> + +> type Tbbbbb<'a> = + new: x: 'a -> Tbbbbb<'a> + member M: unit -> 'a + +> type Tbbbbb2 = + inherit Tbbbbb + new: x: string -> Tbbbbb2 + +> val it: (unit -> string) = + +> module RepeatedModule = + val repeatedByteLiteral: byte[] = [|12uy; 13uy; 14uy|] + +> module RepeatedModule = + val repeatedByteLiteral: byte[] = [|12uy; 13uy; 14uy|] + +> val it: string = "Check #help" + +> + F# Interactive directives: + + #r "file.dll";; // Reference (dynamically load) the given DLL + #i "package source uri";; // Include package source uri when searching for packages + #I "path";; // Add the given search path for referenced DLLs + #load "file.fs" ...;; // Load the given file(s) as if compiled and referenced + #time ["on"|"off"];; // Toggle timing on/off + #help;; // Display help + #r "nuget:FSharp.Data, 3.1.2";; // Load Nuget Package 'FSharp.Data' version '3.1.2' + #r "nuget:FSharp.Data";; // Load Nuget Package 'FSharp.Data' with the highest version + #quit;; // Exit + + F# Interactive command line options: + + + +> val it: string = "Check #time on and then off" + +> +--> Timing now on + +> +--> Timing now off + +> val it: string = "Check #unknown command" + +> val it: string = + "Check #I with a known directory (to avoid a warning, which includes the location of this file, which is fragile...)" + +> +--> Added '/' to library include path + +> type internal T1 = + | A + | B + +> type internal T2 = + { x: int } + +> type internal T3 + +> type internal T4 = + new: unit -> T4 + +> type T1 = + internal | A + | B + +> type T2 = + internal { x: int } + +> type private T1 = + | A + | B + +> type private T2 = + { x: int } + +> type T1 = + private | A + | B + +> type T2 = + private { x: int } + +> type internal T1 = + private | A + | B + +> type internal T2 = + private { x: int } + +> type private T3 + +> type private T4 = + new: unit -> T4 + +> exception X1 of int + +> exception private X2 of int + +> exception internal X3 of int + +> type T0 = + new: unit -> T0 +type T1Post<'a> = + new: unit -> T1Post<'a> +type 'a T1Pre = + new: unit -> 'a T1Pre + +> type T0 with + member M: unit -> T0 list +type T0 with + member P: T0 * T0 +type T0 with + member E: IEvent + +> type T1Post<'a> with + member M: unit -> T1Post<'a> list +type T1Post<'a> with + member P: T1Post<'a> * T1Post<'a> +type T1Post<'a> with + member E: IEvent + +> type 'a T1Pre with + member M: unit -> 'a T1Pre list +type 'a T1Pre with + member P: 'a T1Pre * 'a T1Pre +type 'a T1Pre with + member E: IEvent + +> type T1Post<'a> with + member M: unit -> T1Post<'a> list +type T1Post<'a> with + member P: T1Post<'a> * T1Post<'a> +type T1Post<'a> with + member E: IEvent + +> type 'a T1Pre with + member M: unit -> 'a T1Pre list +type 'a T1Pre with + member P: 'a T1Pre * 'a T1Pre +type 'a T1Pre with + member E: IEvent + +> type r = + { + f0: int + f1: int + f2: int + f3: int + f4: int + f5: int + f6: int + f7: int + f8: int + f9: int + } +val r10: r = { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 } +val r10s: r[] = + [|{ f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }|] +val r10s': string * r[] = + ("one extra node", + [|{ f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }|]) + +> val x1564_A1: int = 1 + + +--> Added '\' to library include path + +val x1564_A2: int = 2 + + +--> Added '\' to library include path + +val x1564_A3: int = 3 + +> type internal Foo2 = + private new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member private Prop3: int + +> module internal InternalM = + val x: int = 1 + type Foo2 = + private new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member private Prop3: int + type private Foo3 = + new: x: int * y: int * z: int -> Foo3 + 3 overloads + member Prop1: int + member Prop2: int + member Prop3: int + type T1 = + | A + | B + type T2 = + { x: int } + type T3 + type T4 = + new: unit -> T4 + type T5 = + | A + | B + type T6 = + { x: int } + type private T7 = + | A + | B + type private T8 = + { x: int } + type T9 = + private | A + | B + type T10 = + private { x: int } + type T11 = + private | A + | B + type T12 = + private { x: int } + type private T13 + type private T14 = + new: unit -> T14 +module internal PrivateM = + val private x: int = 1 + type private Foo2 = + new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member Prop3: int + type T1 = + | A + | B + type T2 = + { x: int } + type T3 + type T4 = + new: unit -> T4 + type T5 = + | A + | B + type T6 = + { x: int } + type private T7 = + | A + | B + type private T8 = + { x: int } + type T9 = + private | A + | B + type T10 = + private { x: int } + type T11 = + private | A + | B + type T12 = + private { x: int } + type private T13 + type private T14 = + new: unit -> T14 + +> val it: seq = + seq + [(43, "10/28/2008", 1); (46, "11/18/2008", 1); (56, "1/27/2009", 2); + (58, "2/10/2009", 1)] + +> module Test4343a = + val mk: i: int -> string + val x100: string = + "0123456789012345678901234567890123456789012345678901234567890"+[39 chars] + val x90: string = + "0123456789012345678901234567890123456789012345678901234567890"+[29 chars] + val x80: string = + "0123456789012345678901234567890123456789012345678901234567890"+[19 chars] + val x75: string = + "0123456789012345678901234567890123456789012345678901234567890"+[14 chars] + val x74: string = + "0123456789012345678901234567890123456789012345678901234567890"+[13 chars] + val x73: string = + "0123456789012345678901234567890123456789012345678901234567890"+[12 chars] + val x72: string = + "012345678901234567890123456789012345678901234567890123456789012345678901" + val x71: string = + "01234567890123456789012345678901234567890123456789012345678901234567890" + val x70: string = + "0123456789012345678901234567890123456789012345678901234567890123456789" +module Test4343b = + val fA: x: int -> int + val fB: x: 'a -> y: 'a -> 'a list + val gA: (int -> int) + val gB: ('a -> 'a -> 'a list) + val gAB: (int -> int) * ('a -> 'a -> 'a list) + val hB: ('a -> 'a -> 'a list) + val hA: (int -> int) +module Test4343c = + val typename<'a> : string + val typename2<'a> : string * string +module Test4343d = + val xList: int list = [1; 2; 3] + val xArray: int[] = [|1; 2; 3|] + val xString: string = "abcdef" + val xOption: int option = Some 12 + val xArray2: (int * int)[,] = [[(0, 0); (0, 1)] + [(1, 0); (1, 1)]] + val xSeq: seq +module Test4343e = + type C = + new: x: int -> C + val cA: C + val cB: C + val cAB: C * C * C list = + (FSI_0090+Test4343e+C, FSI_0090+Test4343e+C, + [FSI_0090+Test4343e+C; FSI_0090+Test4343e+C]) + type D = + new: x: int -> D + override ToString: unit -> string + val dA: D = D(1) + val dB: D = D(2) + val dAB: D * D * D list = (D(1), D(2), [D(1); D(2)]) + module Generic = + type CGeneric<'a> = + new: x: 'a -> CGeneric<'a> + val cA: C + val cB: C + val cAB: C * C * C list = + (FSI_0090+Test4343e+C, FSI_0090+Test4343e+C, + [FSI_0090+Test4343e+C; FSI_0090+Test4343e+C]) + type D<'a> = + new: x: 'a -> D<'a> + override ToString: unit -> string + val dA: D = D(1) + val dB: D = D(2) + val dAB: D * D * D list = (D(1), D(2), [D(1); D(2)]) + val dC: D = D(True) + val boxed_dABC: obj list = [D(1); D(2); D(True)] +type F1 = + inherit System.Windows.Forms.Form + interface System.IDisposable + val x: F1 + val x2: F1 + member B: unit -> int + member D: x: int -> int + 2 overloads + abstract MMM: bool -> bool + override ToString: unit -> string + static member A: unit -> int + static member C: unit -> int + abstract AAA: int + abstract BBB: bool with set + member D2: int + member E: int + abstract ZZZ: int + static val mutable private sx: F1 + static val mutable private sx2: F1 +[] +type IP = + new: x: int * y: int -> IP + static val mutable private AA: IP +module Regression4643 = + [] + type RIP = + new: x: int -> RIP + static val mutable private y: RIP + [] + type arg_unused_is_RIP = + new: x: RIP -> arg_unused_is_RIP + [] + type arg_used_is_RIP = + new: x: RIP -> arg_used_is_RIP + member X: RIP + [] + type field_is_RIP = + val x: RIP +type Either<'a,'b> = + | This of 'a + | That of 'b +val catch: f: (unit -> 'a) -> Either<'a,(string * string)> +val seqFindIndexFailure: Either = + That + ("System.Collections.Generic.KeyNotFoundException", + "An index satisfying the predicate was not found in the collection.") +val seqFindFailure: Either = + That + ("System.Collections.Generic.KeyNotFoundException", + "An index satisfying the predicate was not found in the collection.") +val seqPickFailure: Either = + That + ("System.Collections.Generic.KeyNotFoundException", + "An index satisfying the predicate was not found in the collection.") +module Regression5218 = + val t1: int = 1 + val t2: int * int = (1, 2) + val t3: int * int * int = (1, 2, 3) + val t4: int * int * int * int = (1, 2, 3, 4) + val t5: int * int * int * int * int = (1, 2, 3, 4, 5) + val t6: int * int * int * int * int * int = (1, 2, 3, 4, 5, 6) + val t7: int * int * int * int * int * int * int = (1, 2, 3, 4, 5, 6, 7) + val t8: int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8) + val t9: int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9) + val t10: int * int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + val t11: int * int * int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11) + val t12: + int * int * int * int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) + val t13: + int * int * int * int * int * int * int * int * int * int * int * int * + int = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13) + val t14: + int * int * int * int * int * int * int * int * int * int * int * int * + int * int = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) + val t15: + int * int * int * int * int * int * int * int * int * int * int * int * + int * int * int = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15) + +> module Regression3739 = + type IB = + abstract AbstractMember: int -> int + type C<'a when 'a :> IB> = + new: unit -> C<'a> + static member StaticMember: x: 'a -> int + +> module Regression3739 = + type IB = + abstract AbstractMember: int -> int + type C<'a when 'a :> IB> = + new: unit -> C<'a> + static member StaticMember: x: 'a -> int + +> module Regression3740 = + type Writer<'a> = + abstract get_path: unit -> string + type MyClass = + interface Writer + val path: string + +> type Regression4319_T2 = + static member (+-+-+) : x: 'a * y: 'b -> string + +> type Regression4319_T0 = + static member (+-+-+) : string + +> type Regression4319_T1 = + static member (+-+-+) : x: 'a -> string + +> type Regression4319_T1b = + static member (+-+-+) : x: 'a -> string + +> type Regression4319_T1c = + static member (+-+-+) : x: ('a * 'b) -> string + +> type Regression4319_T1d = + static member (+-+-+) : x: (int * int) -> string + +> type Regression4319_T3 = + static member (+-+-+) : x: 'a * y: 'b * z: 'c -> string + +> type Regression4319_U1 = + static member (+-+-+) : x: 'a -> moreArgs: 'b -> string + +> type Regression4319_U1b = + static member (+-+-+) : x: 'a -> moreArgs: 'b -> string + +> type Regression4319_U2 = + static member (+-+-+) : x: 'a * y: 'b -> moreArgs: 'c -> string + +> type Regression4319_U3 = + static member (+-+-+) : x: 'a * y: 'b * z: 'c -> moreArgs: 'd -> string + +> type Regression4319_check = + static member (&) : string + static member (&^) : string + static member (@) : string + static member (!=) : string + static member (:=) : string + static member (^) : string + static member (/) : string + static member ($) : string + static member (...@) : string + static member (...!=) : string + static member (.../) : string + static member (...=) : string + static member (...>) : string + static member (...^) : string + static member (...<) : string + static member ( ...* ) : string + static member (...%) : string + static member (=) : string + static member ( ** ) : string + static member (>) : string + static member (<) : string + static member (%) : string + static member ( * ) : string + static member (-) : string + +> Expect ABC = ABC +type Regression4469 = + new: unit -> Regression4469 + member ToString: unit -> string +val r4469: Regression4469 = FSI_0106+Regression4469 +val it: unit = () + +> Expect ABC = ABC +val it: unit = () + +> module Regression1019_short = + val double_nan: float = nan + val double_infinity: float = infinity + val single_nan: float32 = nanf + val single_infinity: float32 = infinityf +module Regression1019_long = + val double_nan: float = nan + val double_infinity: float = infinity + val single_nan: float32 = nanf + val single_infinity: float32 = infinityf + +> val it: int ref = { contents = 1 } + +> val x: int ref = { contents = 1 } +val f: (unit -> int) + +> val it: int = 1 + +> val it: unit = () + +> val it: int = 3 + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: 'a list + +> val it: 'a list list + +> val it: 'a option + +> val it: 'a list * 'b list + +> val it: x: 'a -> 'a + +> val fff: x: 'a -> 'a + +> val it: ('a -> 'a) + +> val note_ExpectDupMethod: string = + "Regression4927: Expect error due to duplicate methods in the "+[20 chars] + +> > val note_ExpectDupProperty: string = + "Regression4927: Expect error due to duplicate properties in t"+[23 chars] + +> > > val it: string = "NOTE: Expect IAPrivate less accessible IBPublic" + +> > val it: string = "NOTE: Expect IAPrivate less accessible IBInternal" + +> > module Regression5265_PriPri = + type private IAPrivate = + abstract P: int + type private IBPrivate = + inherit IAPrivate + abstract Q: int + +> val it: string = "NOTE: Expect IAInternal less accessible IBPublic" + +> > module Regression5265_IntInt = + type internal IAInternal = + abstract P: int + type internal IBInternal = + inherit IAInternal + abstract Q: int + +> module Regression5265_IntPri = + type internal IAInternal = + abstract P: int + type private IBPrivate = + inherit IAInternal + abstract Q: int + +> module Regression5265_PubPub = + type IAPublic = + abstract P: int + type IBPublic = + inherit IAPublic + abstract Q: int + +> module Regression5265_PubInt = + type IAPublic = + abstract P: int + type internal IBInternal = + inherit IAPublic + abstract Q: int + +> module Regression5265_PubPri = + type IAPublic = + abstract P: int + type private IBPrivate = + inherit IAPublic + abstract Q: int + +> val it: string = + "Regression4232: Expect an error about duplicate virtual methods from parent type" + +> > val it: string = + "** Expect AnAxHostSubClass to be accepted. AxHost has a newslot virtual RightToLeft property outscope RightToLeft on Control" + +> type AnAxHostSubClass = + inherit System.Windows.Forms.AxHost + new: x: string -> AnAxHostSubClass + +> val it: string = + "** Expect error because the active pattern result contains free type variables" + +> > val it: string = + "** Expect error because the active pattern result contains free type variables (match value generic)" + +> > val it: string = + "** Expect error because the active pattern result contains free type variables (when active pattern also has parameters)" + +> > val it: string = + "** Expect OK, since error message says constraint should work!" + +> val (|A|B|) : x: int -> Choice + +> val it: string = "** Expect error since active pattern is not a function!" + +> > val it: string = + "** Expect OK since active pattern result is not too generic, typars depend on match val" + +> val (|A|B|) : p: bool -> 'a * 'b -> Choice<'a,'b> + +> val it: string = + "** Expect OK since active pattern result is not too generic, typars depend on parameters" + +> val (|A|B|) : aval: 'a -> bval: 'b -> x: bool -> Choice<'a,'b> + +> val it: string = + "** Expect OK since active pattern result is generic, but it typar from closure, so OK" + +> val outer: x: 'a -> (int -> 'a option) + +> val it: string = + "** Expect OK, BUG 472278: revert unintended breaking change to Active Patterns in F# 3.0" + +> val (|Check1|) : a: int -> int * 'a option + +> > module ReflectionEmit = + type IA = + abstract M: #IB -> int + and IB = + abstract M: #IA -> int + type IA2<'a when 'a :> IB2<'a> and 'a :> IA2<'a>> = + abstract M: int + and IB2<'b when 'b :> IA2<'b> and 'b :> IB2<'b>> = + abstract M: int + +> val it: string = + "Regression_139182: Expect the follow code to be accepted without error" + +> [] +type S = + member TheMethod: unit -> int64 +val theMethod: s: S -> int64 +type T = + new: unit -> T + member Prop5: int64 + static member Prop1: int64 + static member Prop2: int64 + static member Prop3: int64 + static member Prop4: string + +> val it: System.Threading.ThreadLocal list = [0 {IsValueCreated = false; + Values = ?;}] + +> type MyDU = + | Case1 of Val1: int * Val2: string + | Case2 of string * V2: bool * float + | Case3 of int + | Case4 of Item1: bool + | Case5 of bool * string + | Case6 of Val1: int * bool * string + | Case7 of ``Big Name`` : int +val namedFieldVar1: MyDU = Case1 (5, "") +val namedFieldVar2: MyDU = Case7 25 + +> exception MyNamedException1 of Val1: int * Val2: string +exception MyNamedException2 of string * V2: bool * float +exception MyNamedException3 of Data: int +exception MyNamedException4 of bool +exception MyNamedException5 of int * string +exception MyNamedException6 of Val1: int * bool * string * Data8: float +exception MyNamedException7 of ``Big Named Field`` : int +val namedEx1: exn = MyNamedException1 (5, "") +val namedEx2: exn = MyNamedException7 25 + +> type optionRecord = + { x: int option } +val x: optionRecord = { x = None } + +> type optionRecord = + { x: obj } +val x: optionRecord = { x = null } + +> type RecordWithMembers = + { x: obj } + member Method: unit -> int + member Property: int + +> type UnionWithMembers = + | Case1 + | Case2 of int + member Method: unit -> int + member Property: int + +> type OneFieldRecordNoXmlDoc = + { OneField: obj } + +> type OneFieldRecordXmlDoc = + { + OneField: obj + } + +> type TwoFieldRecordNoXmlDoc = + { + TwoFields1: obj + TwoFields2: obj + } + +> type TwoFieldRecordXmlDoc = + { + TwoFields1: obj + TwoFields2: obj + } + +> type Int32 with + member ExtrinsicExtensionProperty: int +type Int32 with + member ExtrinsicExtensionMethod: unit -> int + +> val ``value with spaces in name`` : bool = true + +> val functionWhichTakesLongNameMixedParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int * + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int + -> ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int * + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesLongNameTupledParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int * + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int * + ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int * + ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesLongNameCurriedParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int + -> bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int + -> cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int + -> dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesMixedLengthCurriedParametersA: + a: 'a -> b: 'b -> c: 'c -> ddddddddddddddddddddddddddddddddddddddddddddd: 'd + -> int + +> val functionWhichTakesMixedLengthCurriedParametersB: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: 'a -> b: 'b -> c: 'c -> d: 'd -> int + +> val f: ``parameter with spaces in name`` : int -> int + +> val functionWhichTakesAParameterPeeciselyPlusButNotOpAddition: + ``+`` : (int -> int -> int) -> int + +> val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int + +> val functionWhichTakesAParameterCalled_land: + ``land`` : (int -> int -> int) -> int + +> type RecordWithStrangeNames = + { + ``funky name`` : obj + op_Addition: obj + ``+`` : obj + ``land`` : obj + ``base`` : obj + } + +> type UnionWithSpacesInNamesOfCases = + | ``Funky name`` + | ``Funky name 2`` + +> type ``Type with spaces in name`` = + | A + | B + +> type op_Addition = + | A + | B + +> type ``land`` = + | A + | B + +> module ``Module with spaces in name`` = + val x: int = 1 + +> module op_Addition = + val x: int = 1 + +> module ``land`` = + val x: int = 1 + +> val ``+`` : x: 'a -> y: 'b -> int + +> val (+) : x: int -> y: int -> int + +> val ``base`` : int = 2 + +> val (mod) : int = 2 + +> val ``or`` : int = 2 + +> val ``land`` : int = 2 + +> val ``.ctor`` : int = 2 + +> val ``.cctor`` : int = 2 + +> [] +val SomeLiteralWithASomewhatLongName: string + = "SomeVeryLongLiteralValueWithLotsOfCharacters" +[] +val SomeLiteralWithASomewhatLongName2: string + = + "SomeVeryLongLiteralValueWithLotsOfCharactersSomeVeryLongLiteralValueWithLotsOfCharactersSomeVeryLongLiteralValueWithLotsOfCharacters" +[] +val ShortName: string = "hi" + +> val it: System.DayOfWeek = Tuesday + +> val internal f: unit -> int + +> val it: int = 1 + +> type internal CInternal = + new: unit -> CInternal + +> val it: unit = () + +> type internal CPublic = + new: unit -> CPublic + member MInternal: unit -> unit + +> val it: unit = () + +> type internal CPublic2 = + new: unit -> CPublic2 + member MPublic: unit -> int + +> val it: int = 1 + +> val inst1: TestLoadFile.ClassInFile1 + +> val inst2: TestLoadFile2.ClassInFile2 + +> > > diff --git a/tests/fsharp/core/printing/output.off.stderr.txt b/tests/fsharp/core/printing/output.off.stderr.txt new file mode 100644 index 00000000000..6926dcc9f34 --- /dev/null +++ b/tests/fsharp/core/printing/output.off.stderr.txt @@ -0,0 +1,348 @@ + + #blaaaaaa // blaaaaaa is not a known command;; + ^^^^^^^^^ + +stdin(219,1): warning FS3353: Invalid directive '#blaaaaaa ' + + + type Regression4319_T0 = static member (+-+-+) = "0 arguments";; + -----------------------------------------^^^^^ + +stdin(571,42): warning FS1172: Infix operator member '+-+-+' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1 = static member (+-+-+) x = "1 argument";; + -----------------------------------------^^^^^ + +stdin(572,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1b = static member (+-+-+) (x) = "1 (argument) [brackets make no diff]";; + -----------------------------------------^^^^^ + +stdin(573,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1c = static member (+-+-+) x = let a,b = x in "1 argument, tuple typed from RHS. Still not OK";; + -----------------------------------------^^^^^ + +stdin(574,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1d = static member (+-+-+) (x:int*int) = "1 argument, tuple typed from LHS. Still not OK";; + -----------------------------------------^^^^^ + +stdin(575,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T3 = static member (+-+-+) (x,y,z) = "3 arguments";; + -----------------------------------------^^^^^ + +stdin(577,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(578,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(578,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; + -----------------------------------------^^^^^ + +stdin(579,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; + -----------------------------------------^^^^^ + +stdin(579,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U2 = static member (+-+-+) (x,y) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(580,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(581,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(581,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (:=) = "COLON_EQUALS" + -------------------^^ + +stdin(584,20): warning FS1172: Infix operator member ':=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (:=) = "COLON_EQUALS" + -------------------^^ + +stdin(584,20): warning FS0086: The name '(:=)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (&) = "AMP" + -------------------^ + +stdin(588,20): warning FS1172: Infix operator member '&' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (&) = "AMP" + -------------------^ + +stdin(588,20): warning FS0086: The name '(&)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name 'op_Amp' instead. + + + static member (&^) = "AMP_AMP" + -------------------^^ + +stdin(589,20): warning FS1172: Infix operator member '&^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (=) = "EQUALS" + -------------------^ + +stdin(590,20): warning FS1172: Infix operator member '=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (=) = "EQUALS" + -------------------^ + +stdin(590,20): warning FS0086: The name '(=)' should not be used as a member name. To define equality semantics for a type, override the 'Object.Equals' member. If defining a static member for use from other CLI languages then use the name 'op_Equality' instead. + + + static member (!=) = "INFIX_COMPARE_OP" + -------------------^^ + +stdin(592,20): warning FS1172: Infix operator member '!=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...=) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(596,20): warning FS1172: Infix operator member '...=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...!=) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^^ + +stdin(597,20): warning FS1172: Infix operator member '...!=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...<) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(598,20): warning FS1172: Infix operator member '...<' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...>) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(599,20): warning FS1172: Infix operator member '...>' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ($) = "DOLLAR" + -------------------^ + +stdin(601,20): warning FS1172: Infix operator member '$' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (<) = "LESS" + -------------------^ + +stdin(602,20): warning FS1172: Infix operator member '<' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (<) = "LESS" + -------------------^ + +stdin(602,20): warning FS0086: The name '(<)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name 'op_LessThan' instead. + + + static member (>) = "GREATER" + -------------------^ + +stdin(603,20): warning FS1172: Infix operator member '>' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (>) = "GREATER" + -------------------^ + +stdin(603,20): warning FS0086: The name '(>)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name 'op_GreaterThan' instead. + + + static member (@) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(604,20): warning FS1172: Infix operator member '@' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (@) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(604,20): warning FS0086: The name '(@)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (^) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(605,20): warning FS1172: Infix operator member '^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (^) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(605,20): warning FS0086: The name '(^)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (...@) = "INFIX_AT_HAT_OP" // with $. prefix + -------------------^^^^ + +stdin(606,20): warning FS1172: Infix operator member '...@' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...^) = "INFIX_AT_HAT_OP" // with $. prefix + -------------------^^^^ + +stdin(607,20): warning FS1172: Infix operator member '...^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (%) = "PERCENT_OP" + -------------------^ + +stdin(608,20): warning FS1172: Infix operator member '%' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (-) = "MINUS" + -------------------^ + +stdin(610,20): warning FS1172: Infix operator member '-' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( * ) = "STAR" + --------------------^ + +stdin(611,21): warning FS1172: Infix operator member '*' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (/) = "INFIX_STAR_DIV_MOD_OP" + -------------------^ + +stdin(613,20): warning FS1172: Infix operator member '/' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ...* ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(615,21): warning FS1172: Infix operator member '...*' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( .../ ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(616,21): warning FS1172: Infix operator member '.../' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ...% ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(617,21): warning FS1172: Infix operator member '...%' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ** ) = "INFIX_STAR_STAR_OP" + --------------------^^ + +stdin(618,21): warning FS1172: Infix operator member '**' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + member this.ToString() = "ABC" + ----------------^^^^^^^^ + +stdin(623,17): warning FS0864: This new member hides the abstract member 'System.Object.ToString() : string'. Rename the member or use 'override' instead. + + + let x,f = it, (fun () -> !it);; // this will read from the static storage for 'it' + -------------------------^ + +stdin(643,26): info FS3370: The use of '!' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change '!cell' to 'cell.Value'. + + + x := 3;; + --^^ + +stdin(645,3): info FS3370: The use of ':=' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change 'cell := expr' to 'cell.Value <- expr'. + + + member this.M() = "string" + ----------------^ + +stdin(764,17): error FS0438: Duplicate method. The method 'M' has the same name and signature as another method in type 'ExpectDupMethod'. + + + member this.P = "string" + ----------------^ + +stdin(771,17): error FS0438: Duplicate method. The method 'get_P' has the same name and signature as another method in type 'ExpectDupProperty'. + + + type public IBPublic = interface inherit IAPrivate abstract Q : int end + ------------------^^^^^^^^ + +stdin(778,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBPublic' it is used in. + + + type internal IBInternal = interface inherit IAPrivate abstract Q : int end + ------------------^^^^^^^^^^ + +stdin(783,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBInternal' it is used in. + + + type public IBPublic = interface inherit IAInternal abstract Q : int end + ------------------^^^^^^^^ + +stdin(792,19): error FS0410: The type 'IAInternal' is less accessible than the value, member or type 'IBPublic' it is used in. + + + override x.M(a:string) = 1 + -------------------^ + +stdin(824,20): error FS0361: The override 'M: string -> int' implements more than one abstract slot, e.g. 'abstract Regression4232.D.M: 'U -> int' and 'abstract Regression4232.D.M: 'T -> int' + + + let (|A|B|) (x:int) = A x;; + -----^^^^^ + +stdin(832,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) (x:'a) = A x;; + -----^^^^^ + +stdin(835,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) (p:'a) (x:int) = A p;; + -----^^^^^ + +stdin(838,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) = failwith "" : Choice;; + -----^^^^^ + +stdin(844,6): error FS1209: Active pattern '|A|B|' is not a function + diff --git a/tests/fsharp/core/printing/output.off.stdout.txt b/tests/fsharp/core/printing/output.off.stdout.txt new file mode 100644 index 00000000000..adf47672324 --- /dev/null +++ b/tests/fsharp/core/printing/output.off.stdout.txt @@ -0,0 +1,1764 @@ + +> val it: unit = () + +> val repeatId: string + +> val repeatId: string + +namespace FSI_0005 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile1 = + new: unit -> ClassInFile1 + +namespace FSI_0006 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile1 = + new: unit -> ClassInFile1 + +namespace FSI_0006 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile2 = + new: unit -> ClassInFile2 + +> val x1: seq +val x2: seq +val x3: seq +val f1: System.Windows.Forms.Form +val fs: System.Windows.Forms.Form[] +val xs: string list +val xa: string[] +val xa2: string[,] +val sxs0: Set + +> val sxs1: Set + +> val sxs2: Set + +> val sxs3: Set + +> val sxs4: Set + +> val sxs200: Set + +> val msxs0: Map + +> val msxs1: Map + +> val msxs2: Map + +> val msxs3: Map + +> val msxs4: Map + +> val msxs200: Map + +> module M = + val a: string + val b: + (seq * seq * seq * System.Windows.Forms.Form) option * + (string list * string list * string[,]) option +type T = + new: a: int * b: int -> T + member AMethod: x: int -> int + static member StaticMethod: x: int -> int + member AProperty: int + static member StaticProperty: int +val f_as_method: x: int -> int +val f_as_thunk: (int -> int) +val refCell: string ref +module D1 = + val words: System.Collections.Generic.IDictionary + val words2000: System.Collections.Generic.IDictionary + +> > module D2 = + val words: IDictionary + val words2000: IDictionary +val opt1: 'a option +val opt1b: int option +val opt4: 'a option option option option +val opt4b: int option option option option +val opt5: int list option option option option option list +val mkStr: n: int -> string +val strs: string[] +val str7s: string[] +val grids: string[,] + +> type tree = + | L + | N of tree list +val mkT: w: int -> d: int -> tree +val tree: w: int -> d: int -> tree + +> [Building 2 4...done] +val tree_2_4: tree + +> [Building 2 6...done] +val tree_2_6: tree + +> [Building 2 8...done] +val tree_2_8: tree + +> [Building 2 10...done] +val tree_2_10: tree + +> [Building 2 12...done] +val tree_2_12: tree + +> [Building 2 14...done] +val tree_2_14: tree + +> [Building 3 8...done] +val tree_3_8: tree + +> [Building 4 8...done] +val tree_4_8: tree + +> [Building 5 8...done] +val tree_5_8: tree + +> [Building 6 8...done] +val tree_6_8: tree + +> [Building 5 3...done] +val tree_5_3: tree + +> > type X = + | Var of int + | Bop of int * X * X +val generate: x: int -> X + +> val exps: X list + +> module Exprs = + val x1: X + val x2: X + val x3: X + val x4: X + val x5: X + val x6: X + val x7: X + val x8: X + val x9: X + val x10: X + val x11: X + +> type C = + new: x: string -> C + override ToString: unit -> string +val c1: C +val csA: C[] +val csB: C[] +val csC: C[] + +> exception Abc + +> exception AbcInt of int + +> exception AbcString of string + +> exception AbcExn of exn list + +> exception AbcException of System.Exception list + +> val exA1: exn +val exA2: exn +val exA3: exn +val exA4: exn +val exA5: exn +exception Ex0 +exception ExUnit of unit +exception ExUnits of unit * unit +exception ExUnitOption of unit option +val ex0: exn +val exU: exn +val exUs: exn +val exUSome: exn +val exUNone: exn +type 'a T4063 = | AT4063 of 'a + +> val valAT3063_12: int T4063 + +> val valAT3063_True: bool T4063 + +> val valAT3063_text: string T4063 + +> val valAT3063_null: System.Object T4063 + +> type M4063<'a> = + new: x: 'a -> M4063<'a> + +> val v4063: M4063 + +> type Taaaaa<'a> = + new: unit -> Taaaaa<'a> + +> type Taaaaa2<'a> = + inherit Taaaaa<'a> + new: unit -> Taaaaa2<'a> + member M: unit -> Taaaaa2<'a> + +> type Tbbbbb<'a> = + new: x: 'a -> Tbbbbb<'a> + member M: unit -> 'a + +> type Tbbbbb2 = + inherit Tbbbbb + new: x: string -> Tbbbbb2 + +> val it: (unit -> string) = + +> module RepeatedModule = + val repeatedByteLiteral: byte[] + +> module RepeatedModule = + val repeatedByteLiteral: byte[] + +> val it: string = "Check #help" + +> + F# Interactive directives: + + #r "file.dll";; // Reference (dynamically load) the given DLL + #i "package source uri";; // Include package source uri when searching for packages + #I "path";; // Add the given search path for referenced DLLs + #load "file.fs" ...;; // Load the given file(s) as if compiled and referenced + #time ["on"|"off"];; // Toggle timing on/off + #help;; // Display help + #r "nuget:FSharp.Data, 3.1.2";; // Load Nuget Package 'FSharp.Data' version '3.1.2' + #r "nuget:FSharp.Data";; // Load Nuget Package 'FSharp.Data' with the highest version + #quit;; // Exit + + F# Interactive command line options: + + + +> val it: string = "Check #time on and then off" + +> +--> Timing now on + +> +--> Timing now off + +> val it: string = "Check #unknown command" + +> val it: string = + "Check #I with a known directory (to avoid a warning, which includes the location of this file, which is fragile...)" + +> +--> Added '/' to library include path + +> type internal T1 = + | A + | B + +> type internal T2 = + { x: int } + +> type internal T3 + +> type internal T4 = + new: unit -> T4 + +> type T1 = + internal | A + | B + +> type T2 = + internal { x: int } + +> type private T1 = + | A + | B + +> type private T2 = + { x: int } + +> type T1 = + private | A + | B + +> type T2 = + private { x: int } + +> type internal T1 = + private | A + | B + +> type internal T2 = + private { x: int } + +> type private T3 + +> type private T4 = + new: unit -> T4 + +> exception X1 of int + +> exception private X2 of int + +> exception internal X3 of int + +> type T0 = + new: unit -> T0 +type T1Post<'a> = + new: unit -> T1Post<'a> +type 'a T1Pre = + new: unit -> 'a T1Pre + +> type T0 with + member M: unit -> T0 list +type T0 with + member P: T0 * T0 +type T0 with + member E: IEvent + +> type T1Post<'a> with + member M: unit -> T1Post<'a> list +type T1Post<'a> with + member P: T1Post<'a> * T1Post<'a> +type T1Post<'a> with + member E: IEvent + +> type 'a T1Pre with + member M: unit -> 'a T1Pre list +type 'a T1Pre with + member P: 'a T1Pre * 'a T1Pre +type 'a T1Pre with + member E: IEvent + +> type T1Post<'a> with + member M: unit -> T1Post<'a> list +type T1Post<'a> with + member P: T1Post<'a> * T1Post<'a> +type T1Post<'a> with + member E: IEvent + +> type 'a T1Pre with + member M: unit -> 'a T1Pre list +type 'a T1Pre with + member P: 'a T1Pre * 'a T1Pre +type 'a T1Pre with + member E: IEvent + +> type r = + { + f0: int + f1: int + f2: int + f3: int + f4: int + f5: int + f6: int + f7: int + f8: int + f9: int + } +val r10: r +val r10s: r[] +val r10s': string * r[] + +> val x1564_A1: int + + +--> Added '\' to library include path + +val x1564_A2: int + + +--> Added '\' to library include path + +val x1564_A3: int + +> type internal Foo2 = + private new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member private Prop3: int + +> module internal InternalM = + val x: int + type Foo2 = + private new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member private Prop3: int + type private Foo3 = + new: x: int * y: int * z: int -> Foo3 + 3 overloads + member Prop1: int + member Prop2: int + member Prop3: int + type T1 = + | A + | B + type T2 = + { x: int } + type T3 + type T4 = + new: unit -> T4 + type T5 = + | A + | B + type T6 = + { x: int } + type private T7 = + | A + | B + type private T8 = + { x: int } + type T9 = + private | A + | B + type T10 = + private { x: int } + type T11 = + private | A + | B + type T12 = + private { x: int } + type private T13 + type private T14 = + new: unit -> T14 +module internal PrivateM = + val private x: int + type private Foo2 = + new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member Prop3: int + type T1 = + | A + | B + type T2 = + { x: int } + type T3 + type T4 = + new: unit -> T4 + type T5 = + | A + | B + type T6 = + { x: int } + type private T7 = + | A + | B + type private T8 = + { x: int } + type T9 = + private | A + | B + type T10 = + private { x: int } + type T11 = + private | A + | B + type T12 = + private { x: int } + type private T13 + type private T14 = + new: unit -> T14 + +> val it: seq = + seq + [(43, "10/28/2008", 1); (46, "11/18/2008", 1); (56, "1/27/2009", 2); + (58, "2/10/2009", 1)] + +> module Test4343a = + val mk: i: int -> string + val x100: string + val x90: string + val x80: string + val x75: string + val x74: string + val x73: string + val x72: string + val x71: string + val x70: string +module Test4343b = + val fA: x: int -> int + val fB: x: 'a -> y: 'a -> 'a list + val gA: (int -> int) + val gB: ('a -> 'a -> 'a list) + val gAB: (int -> int) * ('a -> 'a -> 'a list) + val hB: ('a -> 'a -> 'a list) + val hA: (int -> int) +module Test4343c = + val typename<'a> : string + val typename2<'a> : string * string +module Test4343d = + val xList: int list + val xArray: int[] + val xString: string + val xOption: int option + val xArray2: (int * int)[,] + val xSeq: seq +module Test4343e = + type C = + new: x: int -> C + val cA: C + val cB: C + val cAB: C * C * C list + type D = + new: x: int -> D + override ToString: unit -> string + val dA: D + val dB: D + val dAB: D * D * D list + module Generic = + type CGeneric<'a> = + new: x: 'a -> CGeneric<'a> + val cA: C + val cB: C + val cAB: C * C * C list + type D<'a> = + new: x: 'a -> D<'a> + override ToString: unit -> string + val dA: D + val dB: D + val dAB: D * D * D list + val dC: D + val boxed_dABC: obj list +type F1 = + inherit System.Windows.Forms.Form + interface System.IDisposable + val x: F1 + val x2: F1 + member B: unit -> int + member D: x: int -> int + 2 overloads + abstract MMM: bool -> bool + override ToString: unit -> string + static member A: unit -> int + static member C: unit -> int + abstract AAA: int + abstract BBB: bool with set + member D2: int + member E: int + abstract ZZZ: int + static val mutable private sx: F1 + static val mutable private sx2: F1 +[] +type IP = + new: x: int * y: int -> IP + static val mutable private AA: IP +module Regression4643 = + [] + type RIP = + new: x: int -> RIP + static val mutable private y: RIP + [] + type arg_unused_is_RIP = + new: x: RIP -> arg_unused_is_RIP + [] + type arg_used_is_RIP = + new: x: RIP -> arg_used_is_RIP + member X: RIP + [] + type field_is_RIP = + val x: RIP +type Either<'a,'b> = + | This of 'a + | That of 'b +val catch: f: (unit -> 'a) -> Either<'a,(string * string)> +val seqFindIndexFailure: Either +val seqFindFailure: Either +val seqPickFailure: Either +module Regression5218 = + val t1: int + val t2: int * int + val t3: int * int * int + val t4: int * int * int * int + val t5: int * int * int * int * int + val t6: int * int * int * int * int * int + val t7: int * int * int * int * int * int * int + val t8: int * int * int * int * int * int * int * int + val t9: int * int * int * int * int * int * int * int * int + val t10: int * int * int * int * int * int * int * int * int * int + val t11: int * int * int * int * int * int * int * int * int * int * int + val t12: + int * int * int * int * int * int * int * int * int * int * int * int + val t13: + int * int * int * int * int * int * int * int * int * int * int * int * + int + val t14: + int * int * int * int * int * int * int * int * int * int * int * int * + int * int + val t15: + int * int * int * int * int * int * int * int * int * int * int * int * + int * int * int + +> module Regression3739 = + type IB = + abstract AbstractMember: int -> int + type C<'a when 'a :> IB> = + new: unit -> C<'a> + static member StaticMember: x: 'a -> int + +> module Regression3739 = + type IB = + abstract AbstractMember: int -> int + type C<'a when 'a :> IB> = + new: unit -> C<'a> + static member StaticMember: x: 'a -> int + +> module Regression3740 = + type Writer<'a> = + abstract get_path: unit -> string + type MyClass = + interface Writer + val path: string + +> type Regression4319_T2 = + static member (+-+-+) : x: 'a * y: 'b -> string + +> type Regression4319_T0 = + static member (+-+-+) : string + +> type Regression4319_T1 = + static member (+-+-+) : x: 'a -> string + +> type Regression4319_T1b = + static member (+-+-+) : x: 'a -> string + +> type Regression4319_T1c = + static member (+-+-+) : x: ('a * 'b) -> string + +> type Regression4319_T1d = + static member (+-+-+) : x: (int * int) -> string + +> type Regression4319_T3 = + static member (+-+-+) : x: 'a * y: 'b * z: 'c -> string + +> type Regression4319_U1 = + static member (+-+-+) : x: 'a -> moreArgs: 'b -> string + +> type Regression4319_U1b = + static member (+-+-+) : x: 'a -> moreArgs: 'b -> string + +> type Regression4319_U2 = + static member (+-+-+) : x: 'a * y: 'b -> moreArgs: 'c -> string + +> type Regression4319_U3 = + static member (+-+-+) : x: 'a * y: 'b * z: 'c -> moreArgs: 'd -> string + +> type Regression4319_check = + static member (&) : string + static member (&^) : string + static member (@) : string + static member (!=) : string + static member (:=) : string + static member (^) : string + static member (/) : string + static member ($) : string + static member (...@) : string + static member (...!=) : string + static member (.../) : string + static member (...=) : string + static member (...>) : string + static member (...^) : string + static member (...<) : string + static member ( ...* ) : string + static member (...%) : string + static member (=) : string + static member ( ** ) : string + static member (>) : string + static member (<) : string + static member (%) : string + static member ( * ) : string + static member (-) : string + +> Expect ABC = ABC +type Regression4469 = + new: unit -> Regression4469 + member ToString: unit -> string +val r4469: Regression4469 +val it: unit + +> Expect ABC = ABC +val it: unit = () + +> module Regression1019_short = + val double_nan: float + val double_infinity: float + val single_nan: float32 + val single_infinity: float32 +module Regression1019_long = + val double_nan: float + val double_infinity: float + val single_nan: float32 + val single_infinity: float32 + +> val it: int ref = { contents = 1 } + +> val x: int ref +val f: (unit -> int) + +> val it: int = 1 + +> val it: unit = () + +> val it: int = 3 + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: 'a list + +> val it: 'a list list + +> val it: 'a option + +> val it: 'a list * 'b list + +> val it: x: 'a -> 'a + +> val fff: x: 'a -> 'a + +> val it: ('a -> 'a) + +> val note_ExpectDupMethod: string + +> > val note_ExpectDupProperty: string + +> > > val it: string = "NOTE: Expect IAPrivate less accessible IBPublic" + +> > val it: string = "NOTE: Expect IAPrivate less accessible IBInternal" + +> > module Regression5265_PriPri = + type private IAPrivate = + abstract P: int + type private IBPrivate = + inherit IAPrivate + abstract Q: int + +> val it: string = "NOTE: Expect IAInternal less accessible IBPublic" + +> > module Regression5265_IntInt = + type internal IAInternal = + abstract P: int + type internal IBInternal = + inherit IAInternal + abstract Q: int + +> module Regression5265_IntPri = + type internal IAInternal = + abstract P: int + type private IBPrivate = + inherit IAInternal + abstract Q: int + +> module Regression5265_PubPub = + type IAPublic = + abstract P: int + type IBPublic = + inherit IAPublic + abstract Q: int + +> module Regression5265_PubInt = + type IAPublic = + abstract P: int + type internal IBInternal = + inherit IAPublic + abstract Q: int + +> module Regression5265_PubPri = + type IAPublic = + abstract P: int + type private IBPrivate = + inherit IAPublic + abstract Q: int + +> val it: string = + "Regression4232: Expect an error about duplicate virtual methods from parent type" + +> > val it: string = + "** Expect AnAxHostSubClass to be accepted. AxHost has a newslot virtual RightToLeft property outscope RightToLeft on Control" + +> type AnAxHostSubClass = + inherit System.Windows.Forms.AxHost + new: x: string -> AnAxHostSubClass + +> val it: string = + "** Expect error because the active pattern result contains free type variables" + +> > val it: string = + "** Expect error because the active pattern result contains free type variables (match value generic)" + +> > val it: string = + "** Expect error because the active pattern result contains free type variables (when active pattern also has parameters)" + +> > val it: string = + "** Expect OK, since error message says constraint should work!" + +> val (|A|B|) : x: int -> Choice + +> val it: string = "** Expect error since active pattern is not a function!" + +> > val it: string = + "** Expect OK since active pattern result is not too generic, typars depend on match val" + +> val (|A|B|) : p: bool -> 'a * 'b -> Choice<'a,'b> + +> val it: string = + "** Expect OK since active pattern result is not too generic, typars depend on parameters" + +> val (|A|B|) : aval: 'a -> bval: 'b -> x: bool -> Choice<'a,'b> + +> val it: string = + "** Expect OK since active pattern result is generic, but it typar from closure, so OK" + +> val outer: x: 'a -> (int -> 'a option) + +> val it: string = + "** Expect OK, BUG 472278: revert unintended breaking change to Active Patterns in F# 3.0" + +> val (|Check1|) : a: int -> int * 'a option + +> > module ReflectionEmit = + type IA = + abstract M: #IB -> int + and IB = + abstract M: #IA -> int + type IA2<'a when 'a :> IB2<'a> and 'a :> IA2<'a>> = + abstract M: int + and IB2<'b when 'b :> IA2<'b> and 'b :> IB2<'b>> = + abstract M: int + +> val it: string = + "Regression_139182: Expect the follow code to be accepted without error" + +> [] +type S = + member TheMethod: unit -> int64 +val theMethod: s: S -> int64 +type T = + new: unit -> T + member Prop5: int64 + static member Prop1: int64 + static member Prop2: int64 + static member Prop3: int64 + static member Prop4: string + +> val it: System.Threading.ThreadLocal list = [0 {IsValueCreated = false; + Values = ?;}] + +> type MyDU = + | Case1 of Val1: int * Val2: string + | Case2 of string * V2: bool * float + | Case3 of int + | Case4 of Item1: bool + | Case5 of bool * string + | Case6 of Val1: int * bool * string + | Case7 of ``Big Name`` : int +val namedFieldVar1: MyDU +val namedFieldVar2: MyDU + +> exception MyNamedException1 of Val1: int * Val2: string +exception MyNamedException2 of string * V2: bool * float +exception MyNamedException3 of Data: int +exception MyNamedException4 of bool +exception MyNamedException5 of int * string +exception MyNamedException6 of Val1: int * bool * string * Data8: float +exception MyNamedException7 of ``Big Named Field`` : int +val namedEx1: exn +val namedEx2: exn + +> type optionRecord = + { x: int option } +val x: optionRecord + +> type optionRecord = + { x: obj } +val x: optionRecord + +> type RecordWithMembers = + { x: obj } + member Method: unit -> int + member Property: int + +> type UnionWithMembers = + | Case1 + | Case2 of int + member Method: unit -> int + member Property: int + +> type OneFieldRecordNoXmlDoc = + { OneField: obj } + +> type OneFieldRecordXmlDoc = + { + OneField: obj + } + +> type TwoFieldRecordNoXmlDoc = + { + TwoFields1: obj + TwoFields2: obj + } + +> type TwoFieldRecordXmlDoc = + { + TwoFields1: obj + TwoFields2: obj + } + +> type Int32 with + member ExtrinsicExtensionProperty: int +type Int32 with + member ExtrinsicExtensionMethod: unit -> int + +> val ``value with spaces in name`` : bool + +> val functionWhichTakesLongNameMixedParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int * + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int + -> ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int * + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesLongNameTupledParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int * + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int * + ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int * + ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesLongNameCurriedParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int + -> bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int + -> cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int + -> dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesMixedLengthCurriedParametersA: + a: 'a -> b: 'b -> c: 'c -> ddddddddddddddddddddddddddddddddddddddddddddd: 'd + -> int + +> val functionWhichTakesMixedLengthCurriedParametersB: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: 'a -> b: 'b -> c: 'c -> d: 'd -> int + +> val f: ``parameter with spaces in name`` : int -> int + +> val functionWhichTakesAParameterPeeciselyPlusButNotOpAddition: + ``+`` : (int -> int -> int) -> int + +> val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int + +> val functionWhichTakesAParameterCalled_land: + ``land`` : (int -> int -> int) -> int + +> type RecordWithStrangeNames = + { + ``funky name`` : obj + op_Addition: obj + ``+`` : obj + ``land`` : obj + ``base`` : obj + } + +> type UnionWithSpacesInNamesOfCases = + | ``Funky name`` + | ``Funky name 2`` + +> type ``Type with spaces in name`` = + | A + | B + +> type op_Addition = + | A + | B + +> type ``land`` = + | A + | B + +> module ``Module with spaces in name`` = + val x: int + +> module op_Addition = + val x: int + +> module ``land`` = + val x: int + +> val ``+`` : x: 'a -> y: 'b -> int + +> val (+) : x: int -> y: int -> int + +> val ``base`` : int + +> val (mod) : int + +> val ``or`` : int + +> val ``land`` : int + +> val ``.ctor`` : int + +> val ``.cctor`` : int + +> [] +val SomeLiteralWithASomewhatLongName: string + = "SomeVeryLongLiteralValueWithLotsOfCharacters" +[] +val SomeLiteralWithASomewhatLongName2: string + = + "SomeVeryLongLiteralValueWithLotsOfCharactersSomeVeryLongLiteralValueWithLotsOfCharactersSomeVeryLongLiteralValueWithLotsOfCharacters" +[] +val ShortName: string = "hi" + +> val it: System.DayOfWeek = Tuesday + +> val internal f: unit -> int + +> val it: int = 1 + +> type internal CInternal = + new: unit -> CInternal + +> val it: unit = () + +> type internal CPublic = + new: unit -> CPublic + member MInternal: unit -> unit + +> val it: unit = () + +> type internal CPublic2 = + new: unit -> CPublic2 + member MPublic: unit -> int + +> val it: int = 1 + +> val inst1: TestLoadFile.ClassInFile1 + +> val inst2: TestLoadFile2.ClassInFile2 + +> > > diff --git a/tests/fsharp/core/printing/output.quiet.stderr.txt b/tests/fsharp/core/printing/output.quiet.stderr.txt new file mode 100644 index 00000000000..6926dcc9f34 --- /dev/null +++ b/tests/fsharp/core/printing/output.quiet.stderr.txt @@ -0,0 +1,348 @@ + + #blaaaaaa // blaaaaaa is not a known command;; + ^^^^^^^^^ + +stdin(219,1): warning FS3353: Invalid directive '#blaaaaaa ' + + + type Regression4319_T0 = static member (+-+-+) = "0 arguments";; + -----------------------------------------^^^^^ + +stdin(571,42): warning FS1172: Infix operator member '+-+-+' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1 = static member (+-+-+) x = "1 argument";; + -----------------------------------------^^^^^ + +stdin(572,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1b = static member (+-+-+) (x) = "1 (argument) [brackets make no diff]";; + -----------------------------------------^^^^^ + +stdin(573,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1c = static member (+-+-+) x = let a,b = x in "1 argument, tuple typed from RHS. Still not OK";; + -----------------------------------------^^^^^ + +stdin(574,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1d = static member (+-+-+) (x:int*int) = "1 argument, tuple typed from LHS. Still not OK";; + -----------------------------------------^^^^^ + +stdin(575,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T3 = static member (+-+-+) (x,y,z) = "3 arguments";; + -----------------------------------------^^^^^ + +stdin(577,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(578,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(578,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; + -----------------------------------------^^^^^ + +stdin(579,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; + -----------------------------------------^^^^^ + +stdin(579,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U2 = static member (+-+-+) (x,y) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(580,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(581,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(581,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (:=) = "COLON_EQUALS" + -------------------^^ + +stdin(584,20): warning FS1172: Infix operator member ':=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (:=) = "COLON_EQUALS" + -------------------^^ + +stdin(584,20): warning FS0086: The name '(:=)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (&) = "AMP" + -------------------^ + +stdin(588,20): warning FS1172: Infix operator member '&' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (&) = "AMP" + -------------------^ + +stdin(588,20): warning FS0086: The name '(&)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name 'op_Amp' instead. + + + static member (&^) = "AMP_AMP" + -------------------^^ + +stdin(589,20): warning FS1172: Infix operator member '&^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (=) = "EQUALS" + -------------------^ + +stdin(590,20): warning FS1172: Infix operator member '=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (=) = "EQUALS" + -------------------^ + +stdin(590,20): warning FS0086: The name '(=)' should not be used as a member name. To define equality semantics for a type, override the 'Object.Equals' member. If defining a static member for use from other CLI languages then use the name 'op_Equality' instead. + + + static member (!=) = "INFIX_COMPARE_OP" + -------------------^^ + +stdin(592,20): warning FS1172: Infix operator member '!=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...=) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(596,20): warning FS1172: Infix operator member '...=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...!=) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^^ + +stdin(597,20): warning FS1172: Infix operator member '...!=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...<) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(598,20): warning FS1172: Infix operator member '...<' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...>) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(599,20): warning FS1172: Infix operator member '...>' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ($) = "DOLLAR" + -------------------^ + +stdin(601,20): warning FS1172: Infix operator member '$' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (<) = "LESS" + -------------------^ + +stdin(602,20): warning FS1172: Infix operator member '<' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (<) = "LESS" + -------------------^ + +stdin(602,20): warning FS0086: The name '(<)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name 'op_LessThan' instead. + + + static member (>) = "GREATER" + -------------------^ + +stdin(603,20): warning FS1172: Infix operator member '>' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (>) = "GREATER" + -------------------^ + +stdin(603,20): warning FS0086: The name '(>)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name 'op_GreaterThan' instead. + + + static member (@) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(604,20): warning FS1172: Infix operator member '@' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (@) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(604,20): warning FS0086: The name '(@)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (^) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(605,20): warning FS1172: Infix operator member '^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (^) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(605,20): warning FS0086: The name '(^)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (...@) = "INFIX_AT_HAT_OP" // with $. prefix + -------------------^^^^ + +stdin(606,20): warning FS1172: Infix operator member '...@' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...^) = "INFIX_AT_HAT_OP" // with $. prefix + -------------------^^^^ + +stdin(607,20): warning FS1172: Infix operator member '...^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (%) = "PERCENT_OP" + -------------------^ + +stdin(608,20): warning FS1172: Infix operator member '%' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (-) = "MINUS" + -------------------^ + +stdin(610,20): warning FS1172: Infix operator member '-' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( * ) = "STAR" + --------------------^ + +stdin(611,21): warning FS1172: Infix operator member '*' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (/) = "INFIX_STAR_DIV_MOD_OP" + -------------------^ + +stdin(613,20): warning FS1172: Infix operator member '/' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ...* ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(615,21): warning FS1172: Infix operator member '...*' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( .../ ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(616,21): warning FS1172: Infix operator member '.../' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ...% ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(617,21): warning FS1172: Infix operator member '...%' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ** ) = "INFIX_STAR_STAR_OP" + --------------------^^ + +stdin(618,21): warning FS1172: Infix operator member '**' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + member this.ToString() = "ABC" + ----------------^^^^^^^^ + +stdin(623,17): warning FS0864: This new member hides the abstract member 'System.Object.ToString() : string'. Rename the member or use 'override' instead. + + + let x,f = it, (fun () -> !it);; // this will read from the static storage for 'it' + -------------------------^ + +stdin(643,26): info FS3370: The use of '!' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change '!cell' to 'cell.Value'. + + + x := 3;; + --^^ + +stdin(645,3): info FS3370: The use of ':=' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change 'cell := expr' to 'cell.Value <- expr'. + + + member this.M() = "string" + ----------------^ + +stdin(764,17): error FS0438: Duplicate method. The method 'M' has the same name and signature as another method in type 'ExpectDupMethod'. + + + member this.P = "string" + ----------------^ + +stdin(771,17): error FS0438: Duplicate method. The method 'get_P' has the same name and signature as another method in type 'ExpectDupProperty'. + + + type public IBPublic = interface inherit IAPrivate abstract Q : int end + ------------------^^^^^^^^ + +stdin(778,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBPublic' it is used in. + + + type internal IBInternal = interface inherit IAPrivate abstract Q : int end + ------------------^^^^^^^^^^ + +stdin(783,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBInternal' it is used in. + + + type public IBPublic = interface inherit IAInternal abstract Q : int end + ------------------^^^^^^^^ + +stdin(792,19): error FS0410: The type 'IAInternal' is less accessible than the value, member or type 'IBPublic' it is used in. + + + override x.M(a:string) = 1 + -------------------^ + +stdin(824,20): error FS0361: The override 'M: string -> int' implements more than one abstract slot, e.g. 'abstract Regression4232.D.M: 'U -> int' and 'abstract Regression4232.D.M: 'T -> int' + + + let (|A|B|) (x:int) = A x;; + -----^^^^^ + +stdin(832,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) (x:'a) = A x;; + -----^^^^^ + +stdin(835,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) (p:'a) (x:int) = A p;; + -----^^^^^ + +stdin(838,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) = failwith "" : Choice;; + -----^^^^^ + +stdin(844,6): error FS1209: Active pattern '|A|B|' is not a function + diff --git a/tests/fsharp/core/printing/output.quiet.stdout.txt b/tests/fsharp/core/printing/output.quiet.stdout.txt new file mode 100644 index 00000000000..26683b52103 --- /dev/null +++ b/tests/fsharp/core/printing/output.quiet.stdout.txt @@ -0,0 +1,13 @@ +[Building 2 4...done] +[Building 2 6...done] +[Building 2 8...done] +[Building 2 10...done] +[Building 2 12...done] +[Building 2 14...done] +[Building 3 8...done] +[Building 4 8...done] +[Building 5 8...done] +[Building 6 8...done] +[Building 5 3...done] +Expect ABC = ABC +Expect ABC = ABC diff --git a/tests/fsharp/core/printing/output.stderr.txt b/tests/fsharp/core/printing/output.stderr.txt new file mode 100644 index 00000000000..6926dcc9f34 --- /dev/null +++ b/tests/fsharp/core/printing/output.stderr.txt @@ -0,0 +1,348 @@ + + #blaaaaaa // blaaaaaa is not a known command;; + ^^^^^^^^^ + +stdin(219,1): warning FS3353: Invalid directive '#blaaaaaa ' + + + type Regression4319_T0 = static member (+-+-+) = "0 arguments";; + -----------------------------------------^^^^^ + +stdin(571,42): warning FS1172: Infix operator member '+-+-+' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1 = static member (+-+-+) x = "1 argument";; + -----------------------------------------^^^^^ + +stdin(572,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1b = static member (+-+-+) (x) = "1 (argument) [brackets make no diff]";; + -----------------------------------------^^^^^ + +stdin(573,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1c = static member (+-+-+) x = let a,b = x in "1 argument, tuple typed from RHS. Still not OK";; + -----------------------------------------^^^^^ + +stdin(574,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T1d = static member (+-+-+) (x:int*int) = "1 argument, tuple typed from LHS. Still not OK";; + -----------------------------------------^^^^^ + +stdin(575,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_T3 = static member (+-+-+) (x,y,z) = "3 arguments";; + -----------------------------------------^^^^^ + +stdin(577,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(578,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1 = static member (+-+-+) x moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(578,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; + -----------------------------------------^^^^^ + +stdin(579,42): warning FS1173: Infix operator member '+-+-+' has 1 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U1b = static member (+-+-+) (x) moreArgs = "1 (argument) [brackets make no diff] and further args";; + -----------------------------------------^^^^^ + +stdin(579,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U2 = static member (+-+-+) (x,y) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(580,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(581,42): warning FS1173: Infix operator member '+-+-+' has 3 initial argument(s). Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + type Regression4319_U3 = static member (+-+-+) (x,y,z) moreArgs = "1 argument and further args";; + -----------------------------------------^^^^^ + +stdin(581,42): warning FS1174: Infix operator member '+-+-+' has extra curried arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (:=) = "COLON_EQUALS" + -------------------^^ + +stdin(584,20): warning FS1172: Infix operator member ':=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (:=) = "COLON_EQUALS" + -------------------^^ + +stdin(584,20): warning FS0086: The name '(:=)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (&) = "AMP" + -------------------^ + +stdin(588,20): warning FS1172: Infix operator member '&' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (&) = "AMP" + -------------------^ + +stdin(588,20): warning FS0086: The name '(&)' should not be used as a member name. If defining a static member for use from other CLI languages then use the name 'op_Amp' instead. + + + static member (&^) = "AMP_AMP" + -------------------^^ + +stdin(589,20): warning FS1172: Infix operator member '&^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (=) = "EQUALS" + -------------------^ + +stdin(590,20): warning FS1172: Infix operator member '=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (=) = "EQUALS" + -------------------^ + +stdin(590,20): warning FS0086: The name '(=)' should not be used as a member name. To define equality semantics for a type, override the 'Object.Equals' member. If defining a static member for use from other CLI languages then use the name 'op_Equality' instead. + + + static member (!=) = "INFIX_COMPARE_OP" + -------------------^^ + +stdin(592,20): warning FS1172: Infix operator member '!=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...=) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(596,20): warning FS1172: Infix operator member '...=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...!=) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^^ + +stdin(597,20): warning FS1172: Infix operator member '...!=' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...<) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(598,20): warning FS1172: Infix operator member '...<' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...>) = "INFIX_COMPARE_OP" // with $. prefix + -------------------^^^^ + +stdin(599,20): warning FS1172: Infix operator member '...>' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ($) = "DOLLAR" + -------------------^ + +stdin(601,20): warning FS1172: Infix operator member '$' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (<) = "LESS" + -------------------^ + +stdin(602,20): warning FS1172: Infix operator member '<' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (<) = "LESS" + -------------------^ + +stdin(602,20): warning FS0086: The name '(<)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name 'op_LessThan' instead. + + + static member (>) = "GREATER" + -------------------^ + +stdin(603,20): warning FS1172: Infix operator member '>' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (>) = "GREATER" + -------------------^ + +stdin(603,20): warning FS0086: The name '(>)' should not be used as a member name. To define comparison semantics for a type, implement the 'System.IComparable' interface. If defining a static member for use from other CLI languages then use the name 'op_GreaterThan' instead. + + + static member (@) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(604,20): warning FS1172: Infix operator member '@' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (@) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(604,20): warning FS0086: The name '(@)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (^) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(605,20): warning FS1172: Infix operator member '^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (^) = "INFIX_AT_HAT_OP" + -------------------^ + +stdin(605,20): warning FS0086: The name '(^)' should not be used as a member name because it is given a standard definition in the F# library over fixed types + + + static member (...@) = "INFIX_AT_HAT_OP" // with $. prefix + -------------------^^^^ + +stdin(606,20): warning FS1172: Infix operator member '...@' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (...^) = "INFIX_AT_HAT_OP" // with $. prefix + -------------------^^^^ + +stdin(607,20): warning FS1172: Infix operator member '...^' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (%) = "PERCENT_OP" + -------------------^ + +stdin(608,20): warning FS1172: Infix operator member '%' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (-) = "MINUS" + -------------------^ + +stdin(610,20): warning FS1172: Infix operator member '-' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( * ) = "STAR" + --------------------^ + +stdin(611,21): warning FS1172: Infix operator member '*' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member (/) = "INFIX_STAR_DIV_MOD_OP" + -------------------^ + +stdin(613,20): warning FS1172: Infix operator member '/' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ...* ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(615,21): warning FS1172: Infix operator member '...*' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( .../ ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(616,21): warning FS1172: Infix operator member '.../' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ...% ) = "INFIX_STAR_DIV_MOD_OP" // with $. prefix + --------------------^^^^ + +stdin(617,21): warning FS1172: Infix operator member '...%' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + static member ( ** ) = "INFIX_STAR_STAR_OP" + --------------------^^ + +stdin(618,21): warning FS1172: Infix operator member '**' has no arguments. Expected a tuple of 2 arguments, e.g. static member (+) (x,y) = ... + + + member this.ToString() = "ABC" + ----------------^^^^^^^^ + +stdin(623,17): warning FS0864: This new member hides the abstract member 'System.Object.ToString() : string'. Rename the member or use 'override' instead. + + + let x,f = it, (fun () -> !it);; // this will read from the static storage for 'it' + -------------------------^ + +stdin(643,26): info FS3370: The use of '!' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change '!cell' to 'cell.Value'. + + + x := 3;; + --^^ + +stdin(645,3): info FS3370: The use of ':=' from the F# library is deprecated. See https://aka.ms/fsharp-refcell-ops. For example, please change 'cell := expr' to 'cell.Value <- expr'. + + + member this.M() = "string" + ----------------^ + +stdin(764,17): error FS0438: Duplicate method. The method 'M' has the same name and signature as another method in type 'ExpectDupMethod'. + + + member this.P = "string" + ----------------^ + +stdin(771,17): error FS0438: Duplicate method. The method 'get_P' has the same name and signature as another method in type 'ExpectDupProperty'. + + + type public IBPublic = interface inherit IAPrivate abstract Q : int end + ------------------^^^^^^^^ + +stdin(778,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBPublic' it is used in. + + + type internal IBInternal = interface inherit IAPrivate abstract Q : int end + ------------------^^^^^^^^^^ + +stdin(783,19): error FS0410: The type 'IAPrivate' is less accessible than the value, member or type 'IBInternal' it is used in. + + + type public IBPublic = interface inherit IAInternal abstract Q : int end + ------------------^^^^^^^^ + +stdin(792,19): error FS0410: The type 'IAInternal' is less accessible than the value, member or type 'IBPublic' it is used in. + + + override x.M(a:string) = 1 + -------------------^ + +stdin(824,20): error FS0361: The override 'M: string -> int' implements more than one abstract slot, e.g. 'abstract Regression4232.D.M: 'U -> int' and 'abstract Regression4232.D.M: 'T -> int' + + + let (|A|B|) (x:int) = A x;; + -----^^^^^ + +stdin(832,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) (x:'a) = A x;; + -----^^^^^ + +stdin(835,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) (p:'a) (x:int) = A p;; + -----^^^^^ + +stdin(838,6): error FS1210: Active pattern '|A|B|' has a result type containing type variables that are not determined by the input. The common cause is a when a result case is not mentioned, e.g. 'let (|A|B|) (x:int) = A x'. This can be fixed with a type constraint, e.g. 'let (|A|B|) (x:int) : Choice = A x' + + + let (|A|B|) = failwith "" : Choice;; + -----^^^^^ + +stdin(844,6): error FS1209: Active pattern '|A|B|' is not a function + diff --git a/tests/fsharp/core/printing/output.stdout.txt b/tests/fsharp/core/printing/output.stdout.txt new file mode 100644 index 00000000000..77a168f1190 --- /dev/null +++ b/tests/fsharp/core/printing/output.stdout.txt @@ -0,0 +1,6296 @@ + +> val repeatId: string = "A" + +> val repeatId: string = "B" + +namespace FSI_0004 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile1 = + new: unit -> ClassInFile1 + +namespace FSI_0005 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile1 = + new: unit -> ClassInFile1 + +namespace FSI_0005 + val x1: int + val x2: string + val x3: 'a option + val x4: int option + val x5: 'a list + val x6: int list + val x7: System.Windows.Forms.Form + val x8: int[,] + val x9: Lazy + type ClassInFile2 = + new: unit -> ClassInFile2 + +> val x1: seq +val x2: seq +val x3: seq +val f1: System.Windows.Forms.Form = System.Windows.Forms.Form, Text: f1 form +val fs: System.Windows.Forms.Form[] = + [|System.Windows.Forms.Form, Text: fs #0; + System.Windows.Forms.Form, Text: fs #1; + System.Windows.Forms.Form, Text: fs #2; + System.Windows.Forms.Form, Text: fs #3; + System.Windows.Forms.Form, Text: fs #4; + System.Windows.Forms.Form, Text: fs #5; + System.Windows.Forms.Form, Text: fs #6; + System.Windows.Forms.Form, Text: fs #7; + System.Windows.Forms.Form, Text: fs #8; + System.Windows.Forms.Form, Text: fs #9; + System.Windows.Forms.Form, Text: fs #10; + System.Windows.Forms.Form, Text: fs #11; + System.Windows.Forms.Form, Text: fs #12; + System.Windows.Forms.Form, Text: fs #13; + System.Windows.Forms.Form, Text: fs #14; + System.Windows.Forms.Form, Text: fs #15; + System.Windows.Forms.Form, Text: fs #16; + System.Windows.Forms.Form, Text: fs #17; + System.Windows.Forms.Form, Text: fs #18; + System.Windows.Forms.Form, Text: fs #19; + System.Windows.Forms.Form, Text: fs #20; + System.Windows.Forms.Form, Text: fs #21; + System.Windows.Forms.Form, Text: fs #22; + System.Windows.Forms.Form, Text: fs #23; + System.Windows.Forms.Form, Text: fs #24; + System.Windows.Forms.Form, Text: fs #25; + System.Windows.Forms.Form, Text: fs #26; + System.Windows.Forms.Form, Text: fs #27; + System.Windows.Forms.Form, Text: fs #28; + System.Windows.Forms.Form, Text: fs #29; + System.Windows.Forms.Form, Text: fs #30; + System.Windows.Forms.Form, Text: fs #31; + System.Windows.Forms.Form, Text: fs #32; + System.Windows.Forms.Form, Text: fs #33; + System.Windows.Forms.Form, Text: fs #34; + System.Windows.Forms.Form, Text: fs #35; + System.Windows.Forms.Form, Text: fs #36; + System.Windows.Forms.Form, Text: fs #37; + System.Windows.Forms.Form, Text: fs #38; + System.Windows.Forms.Form, Text: fs #39; + System.Windows.Forms.Form, Text: fs #40; + System.Windows.Forms.Form, Text: fs #41; + System.Windows.Forms.Form, Text: fs #42; + System.Windows.Forms.Form, Text: fs #43; + System.Windows.Forms.Form, Text: fs #44; + System.Windows.Forms.Form, Text: fs #45; + System.Windows.Forms.Form, Text: fs #46; + System.Windows.Forms.Form, Text: fs #47; + System.Windows.Forms.Form, Text: fs #48; + System.Windows.Forms.Form, Text: fs #49; + System.Windows.Forms.Form, Text: fs #50; + System.Windows.Forms.Form, Text: fs #51; + System.Windows.Forms.Form, Text: fs #52; + System.Windows.Forms.Form, Text: fs #53; + System.Windows.Forms.Form, Text: fs #54; + System.Windows.Forms.Form, Text: fs #55; + System.Windows.Forms.Form, Text: fs #56; + System.Windows.Forms.Form, Text: fs #57; + System.Windows.Forms.Form, Text: fs #58; + System.Windows.Forms.Form, Text: fs #59; + System.Windows.Forms.Form, Text: fs #60; + System.Windows.Forms.Form, Text: fs #61; + System.Windows.Forms.Form, Text: fs #62; + System.Windows.Forms.Form, Text: fs #63; + System.Windows.Forms.Form, Text: fs #64; + System.Windows.Forms.Form, Text: fs #65; + System.Windows.Forms.Form, Text: fs #66; + System.Windows.Forms.Form, Text: fs #67; + System.Windows.Forms.Form, Text: fs #68; + System.Windows.Forms.Form, Text: fs #69; + System.Windows.Forms.Form, Text: fs #70; + System.Windows.Forms.Form, Text: fs #71; + System.Windows.Forms.Form, Text: fs #72; + System.Windows.Forms.Form, Text: fs #73; + System.Windows.Forms.Form, Text: fs #74; + System.Windows.Forms.Form, Text: fs #75; + System.Windows.Forms.Form, Text: fs #76; + System.Windows.Forms.Form, Text: fs #77; + System.Windows.Forms.Form, Text: fs #78; + System.Windows.Forms.Form, Text: fs #79; + System.Windows.Forms.Form, Text: fs #80; + System.Windows.Forms.Form, Text: fs #81; + System.Windows.Forms.Form, Text: fs #82; + System.Windows.Forms.Form, Text: fs #83; + System.Windows.Forms.Form, Text: fs #84; + System.Windows.Forms.Form, Text: fs #85; + System.Windows.Forms.Form, Text: fs #86; + System.Windows.Forms.Form, Text: fs #87; + System.Windows.Forms.Form, Text: fs #88; + System.Windows.Forms.Form, Text: fs #89; + System.Windows.Forms.Form, Text: fs #90; + System.Windows.Forms.Form, Text: fs #91; + System.Windows.Forms.Form, Text: fs #92; + System.Windows.Forms.Form, Text: fs #93; + System.Windows.Forms.Form, Text: fs #94; + System.Windows.Forms.Form, Text: fs #95; + System.Windows.Forms.Form, Text: fs #96; + System.Windows.Forms.Form, Text: fs #97; + System.Windows.Forms.Form, Text: fs #98; + System.Windows.Forms.Form, Text: fs #99; ...|] +val xs: string list = + ["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; "13"; + "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; "22"; "23"; "24"; "25"; + "26"; "27"; "28"; "29"; "30"; "31"; "32"; "33"; "34"; "35"; "36"; "37"; + "38"; "39"; "40"; "41"; "42"; "43"; "44"; "45"; "46"; "47"; "48"; "49"; + "50"; "51"; "52"; "53"; "54"; "55"; "56"; "57"; "58"; "59"; "60"; "61"; + "62"; "63"; "64"; "65"; "66"; "67"; "68"; "69"; "70"; "71"; "72"; "73"; + "74"; "75"; "76"; "77"; "78"; "79"; "80"; "81"; "82"; "83"; "84"; "85"; + "86"; "87"; "88"; "89"; "90"; "91"; "92"; "93"; "94"; "95"; "96"; "97"; + "98"; "99"; ...] +val xa: string[] = + [|"0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; "13"; + "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; "22"; "23"; "24"; "25"; + "26"; "27"; "28"; "29"; "30"; "31"; "32"; "33"; "34"; "35"; "36"; "37"; + "38"; "39"; "40"; "41"; "42"; "43"; "44"; "45"; "46"; "47"; "48"; "49"; + "50"; "51"; "52"; "53"; "54"; "55"; "56"; "57"; "58"; "59"; "60"; "61"; + "62"; "63"; "64"; "65"; "66"; "67"; "68"; "69"; "70"; "71"; "72"; "73"; + "74"; "75"; "76"; "77"; "78"; "79"; "80"; "81"; "82"; "83"; "84"; "85"; + "86"; "87"; "88"; "89"; "90"; "91"; "92"; "93"; "94"; "95"; "96"; "97"; + "98"; "99"; ...|] +val xa2: string[,] = [["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"] + ["10"; "11"; "12"; "13"; "14"; "15"; "16"; "17"] + ["20"; "21"; "22"; "23"; "24"; "25"; "26"; "27"] + ["30"; "31"; "32"; "33"; "34"; "35"; "36"; "37"] + ["40"; "41"; "42"; "43"; "44"; "45"; "46"; "47"] + ["50"; "51"; "52"; "53"; "54"; "55"; "56"; "57"] + ["60"; "61"; "62"; "63"; "64"; "65"; "66"; "67"] + ["70"; "71"; "72"; "73"; "74"; "75"; "76"; "77"]] +val sxs0: Set = set [] + +> val sxs1: Set = set ["0"] + +> val sxs2: Set = set ["0"; "1"] + +> val sxs3: Set = set ["0"; "1"; "2"] + +> val sxs4: Set = set ["0"; "1"; "2"; "3"] + +> val sxs200: Set = + set ["0"; "1"; "10"; "100"; "101"; "102"; "103"; "104"; "105"; ...] + +> val msxs0: Map = map [] + +> val msxs1: Map = map [(0, "0")] + +> val msxs2: Map = map [(0, "0"); (1, "1")] + +> val msxs3: Map = map [(0, "0"); (1, "1"); (2, "2")] + +> val msxs4: Map = map [(0, "0"); (1, "1"); (2, "2"); (3, "3")] + +> val msxs200: Map = + map + [(0, "0"); (1, "1"); (2, "2"); (3, "3"); (4, "4"); (5, "5"); (6, "6"); + (7, "7"); (8, "8"); ...] + +> module M = + val a: string = "sub-binding" + val b: + (seq * seq * seq * System.Windows.Forms.Form) option * + (string list * string list * string[,]) option = + (Some (, , , System.Windows.Forms.Form, Text: f1 form), + Some + (["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; + "13"; "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; "22"; "23"; + "24"; "25"; "26"; "27"; "28"; "29"; "30"; "31"; "32"; "33"; "34"; + "35"; "36"; "37"; "38"; "39"; "40"; "41"; "42"; "43"; "44"; "45"; + "46"; "47"; "48"; "49"; "50"; "51"; "52"; "53"; "54"; "55"; "56"; + "57"; "58"; "59"; "60"; "61"; "62"; "63"; "64"; "65"; "66"; "67"; + "68"; "69"; "70"; "71"; "72"; "73"; "74"; "75"; "76"; "77"; "78"; + "79"; "80"; "81"; "82"; "83"; "84"; "85"; "86"; "87"; "88"; "89"; + "90"; "91"; "92"; "93"; "94"; "95"; "96"; "97"; "98"; "99"; ...], + ["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"; "8"; "9"; "10"; "11"; "12"; + "13"; "14"; "15"; "16"; "17"; "18"; "19"; "20"; "21"; "22"; "23"; + "24"; "25"; "26"; "27"; "28"; "29"; "30"; "31"; "32"; "33"; "34"; + "35"; "36"; "37"; "38"; "39"; "40"; "41"; "42"; "43"; "44"; "45"; + "46"; "47"; "48"; "49"; "50"; "51"; "52"; "53"; "54"; "55"; "56"; + "57"; "58"; "59"; "60"; "61"; "62"; "63"; "64"; "65"; "66"; "67"; + "68"; "69"; "70"; "71"; "72"; "73"; "74"; "75"; "76"; "77"; "78"; + "79"; "80"; "81"; "82"; "83"; "84"; "85"; "86"; "87"; "88"; "89"; + "90"; "91"; "92"; "93"; "94"; "95"; "96"; "97"; "98"; "99"; ...], + [["0"; "1"; "2"; "3"; "4"; "5"; "6"; "7"] + ["10"; "11"; "12"; "13"; "14"; "15"; "16"; "17"] + ["20"; "21"; "22"; "23"; "24"; "25"; "26"; "27"] + ["30"; "31"; "32"; "33"; "34"; "35"; "36"; "37"] + ["40"; "41"; "42"; "43"; "44"; "45"; "46"; "47"] + ["50"; "51"; "52"; "53"; "54"; "55"; "56"; "57"] + ["60"; "61"; "62"; "63"; "64"; "65"; "66"; "67"] + ["70"; "71"; "72"; "73"; "74"; "75"; "76"; "77"]])) +type T = + new: a: int * b: int -> T + member AMethod: x: int -> int + static member StaticMethod: x: int -> int + member AProperty: int + static member StaticProperty: int +val f_as_method: x: int -> int +val f_as_thunk: (int -> int) +val refCell: string ref = { contents = "value" } +module D1 = + val words: System.Collections.Generic.IDictionary + val words2000: System.Collections.Generic.IDictionary + +> > module D2 = + val words: IDictionary + val words2000: IDictionary +val opt1: 'a option +val opt1b: int option = None +val opt4: 'a option option option option +val opt4b: int option option option option = Some (Some (Some None)) +val opt5: int list option option option option option list = + [Some (Some (Some (Some None))); + Some (Some (Some (Some (Some [1; 2; 3; 4; 5; 6])))); + Some + (Some + (Some + (Some + (Some + [1; 2; 3; 4; 5; 6; 7; 8; 9; 0; 1; 2; 3; 4; 5; 6; 7; 8; 9; 1; + 2; 3; 4; 5; 6; 7; 8; 9; 1; 2; 3; 4; 5; 6; 7; 8; 9; 1; 2; 3; + 4; 5; 6; 7; 8; 9; 1; 2; 3; 4; 5; 6; 7; 8; 9; 0]))))] +val mkStr: n: int -> string +val strs: string[] = + [|""; "-"; "--"; "---"; "----"; "-----"; "------"; "-------"; "--------"; + "---------"; "----------"; "-----------"; "------------"; "-------------"; + "--------------"; "---------------"; "----------------"; + "-----------------"; "------------------"; "-------------------"; + "--------------------"; "---------------------"; "----------------------"; + "-----------------------"; "------------------------"; + "-------------------------"; "--------------------------"; + "---------------------------"; "----------------------------"; + "-----------------------------"; "------------------------------"; + "-------------------------------"; "--------------------------------"; + "---------------------------------"; "----------------------------------"; + "-----------------------------------"; + "------------------------------------"; + "-------------------------------------"; + "--------------------------------------"; + "---------------------------------------"; + "----------------------------------------"; + "-----------------------------------------"; + "------------------------------------------"; + "-------------------------------------------"; + "--------------------------------------------"; + "---------------------------------------------"; + "----------------------------------------------"; + "-----------------------------------------------"; + "------------------------------------------------"; + "-------------------------------------------------"; + "--------------------------------------------------"; + "---------------------------------------------------"; + "----------------------------------------------------"; + "-----------------------------------------------------"; + "------------------------------------------------------"; + "-------------------------------------------------------"; + "--------------------------------------------------------"; + "---------------------------------------------------------"; + "----------------------------------------------------------"; + "-----------------------------------------------------------"; + "------------------------------------------------------------"; + "-------------------------------------------------------------"; + "--------------------------------------------------------------"; + "---------------------------------------------------------------"; + "----------------------------------------------------------------"; + "-----------------------------------------------------------------"; + "------------------------------------------------------------------"; + "-------------------------------------------------------------------"; + "--------------------------------------------------------------------"; + "---------------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-----------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[12 chars]; + "-------------------------------------------------------------"+[13 chars]; + "-------------------------------------------------------------"+[14 chars]; + "-------------------------------------------------------------"+[15 chars]; + "-------------------------------------------------------------"+[16 chars]; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[18 chars]; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[20 chars]; + "-------------------------------------------------------------"+[21 chars]; + "-------------------------------------------------------------"+[22 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[24 chars]; + "-------------------------------------------------------------"+[25 chars]; + "-------------------------------------------------------------"+[26 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[28 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[30 chars]; + "-------------------------------------------------------------"+[31 chars]; + "-------------------------------------------------------------"+[32 chars]; + "-------------------------------------------------------------"+[33 chars]; + "-------------------------------------------------------------"+[34 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[36 chars]; + "-------------------------------------------------------------"+[37 chars]; + "-------------------------------------------------------------"+[38 chars]|] +val str7s: string[] = + [|""; "-------"; "--------------"; "---------------------"; + "----------------------------"; "-----------------------------------"; + "------------------------------------------"; + "-------------------------------------------------"; + "--------------------------------------------------------"; + "---------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[16 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[30 chars]; + "-------------------------------------------------------------"+[37 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[58 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[72 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[86 chars]; + "-------------------------------------------------------------"+[93 chars]; + "-------------------------------------------------------------"+[100 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[114 chars]; + "-------------------------------------------------------------"+[121 chars]; + "-------------------------------------------------------------"+[128 chars]; + "-------------------------------------------------------------"+[135 chars]; + "-------------------------------------------------------------"+[142 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[156 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[170 chars]; + "-------------------------------------------------------------"+[177 chars]; + "-------------------------------------------------------------"+[184 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[198 chars]; + "-------------------------------------------------------------"+[205 chars]; + "-------------------------------------------------------------"+[212 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[226 chars]; + "-------------------------------------------------------------"+[233 chars]; + "-------------------------------------------------------------"+[240 chars]; + "-------------------------------------------------------------"+[247 chars]; + "-------------------------------------------------------------"+[254 chars]; + "-------------------------------------------------------------"+[261 chars]; + "-------------------------------------------------------------"+[268 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[282 chars]; + "-------------------------------------------------------------"+[289 chars]; + "-------------------------------------------------------------"+[296 chars]; + "-------------------------------------------------------------"+[303 chars]; + "-------------------------------------------------------------"+[310 chars]; + "-------------------------------------------------------------"+[317 chars]; + "-------------------------------------------------------------"+[324 chars]; + "-------------------------------------------------------------"+[331 chars]; + "-------------------------------------------------------------"+[338 chars]; + "-------------------------------------------------------------"+[345 chars]; + "-------------------------------------------------------------"+[352 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[366 chars]; + "-------------------------------------------------------------"+[373 chars]; + "-------------------------------------------------------------"+[380 chars]; + "-------------------------------------------------------------"+[387 chars]; + "-------------------------------------------------------------"+[394 chars]; + "-------------------------------------------------------------"+[401 chars]; + "-------------------------------------------------------------"+[408 chars]; + "-------------------------------------------------------------"+[415 chars]; + "-------------------------------------------------------------"+[422 chars]; + "-------------------------------------------------------------"+[429 chars]; + "-------------------------------------------------------------"+[436 chars]; + "-------------------------------------------------------------"+[443 chars]; + "-------------------------------------------------------------"+[450 chars]; + "-------------------------------------------------------------"+[457 chars]; + "-------------------------------------------------------------"+[464 chars]; + "-------------------------------------------------------------"+[471 chars]; + "-------------------------------------------------------------"+[478 chars]; + "-------------------------------------------------------------"+[485 chars]; + "-------------------------------------------------------------"+[492 chars]; + "-------------------------------------------------------------"+[499 chars]; + "-------------------------------------------------------------"+[506 chars]; + "-------------------------------------------------------------"+[513 chars]; + "-------------------------------------------------------------"+[520 chars]; + "-------------------------------------------------------------"+[527 chars]; + "-------------------------------------------------------------"+[534 chars]; + "-------------------------------------------------------------"+[541 chars]; + "-------------------------------------------------------------"+[548 chars]; + "-------------------------------------------------------------"+[555 chars]; + "-------------------------------------------------------------"+[562 chars]; + "-------------------------------------------------------------"+[569 chars]; + "-------------------------------------------------------------"+[576 chars]; + "-------------------------------------------------------------"+[583 chars]; + "-------------------------------------------------------------"+[590 chars]; + "-------------------------------------------------------------"+[597 chars]; + "-------------------------------------------------------------"+[604 chars]; + "-------------------------------------------------------------"+[611 chars]; + "-------------------------------------------------------------"+[618 chars]; + "-------------------------------------------------------------"+[625 chars]; + "-------------------------------------------------------------"+[632 chars]|] +val grids: string[,] = + [[""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; + ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; + ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""; ""] + [""; "-"; "--"; "---"; "----"; "-----"; "------"; "-------"; "--------"; + "---------"; "----------"; "-----------"; "------------"; "-------------"; + "--------------"; "---------------"; "----------------"; + "-----------------"; "------------------"; "-------------------"; + "--------------------"; "---------------------"; "----------------------"; + "-----------------------"; "------------------------"; + "-------------------------"; "--------------------------"; + "---------------------------"; "----------------------------"; + "-----------------------------"; "------------------------------"; + "-------------------------------"; "--------------------------------"; + "---------------------------------"; "----------------------------------"; + "-----------------------------------"; + "------------------------------------"; + "-------------------------------------"; + "--------------------------------------"; + "---------------------------------------"; + "----------------------------------------"; + "-----------------------------------------"; + "------------------------------------------"; + "-------------------------------------------"; + "--------------------------------------------"; + "---------------------------------------------"; + "----------------------------------------------"; + "-----------------------------------------------"; + "------------------------------------------------"; + "-------------------------------------------------"] + [""; "--"; "----"; "------"; "--------"; "----------"; "------------"; + "--------------"; "----------------"; "------------------"; + "--------------------"; "----------------------"; + "------------------------"; "--------------------------"; + "----------------------------"; "------------------------------"; + "--------------------------------"; "----------------------------------"; + "------------------------------------"; + "--------------------------------------"; + "----------------------------------------"; + "------------------------------------------"; + "--------------------------------------------"; + "----------------------------------------------"; + "------------------------------------------------"; + "--------------------------------------------------"; + "----------------------------------------------------"; + "------------------------------------------------------"; + "--------------------------------------------------------"; + "----------------------------------------------------------"; + "------------------------------------------------------------"; + "--------------------------------------------------------------"; + "----------------------------------------------------------------"; + "------------------------------------------------------------------"; + "--------------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[13 chars]; + "-------------------------------------------------------------"+[15 chars]; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[21 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[25 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[31 chars]; + "-------------------------------------------------------------"+[33 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[37 chars]] + [""; "---"; "------"; "---------"; "------------"; "---------------"; + "------------------"; "---------------------"; "------------------------"; + "---------------------------"; "------------------------------"; + "---------------------------------"; + "------------------------------------"; + "---------------------------------------"; + "------------------------------------------"; + "---------------------------------------------"; + "------------------------------------------------"; + "---------------------------------------------------"; + "------------------------------------------------------"; + "---------------------------------------------------------"; + "------------------------------------------------------------"; + "---------------------------------------------------------------"; + "------------------------------------------------------------------"; + "---------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[14 chars]; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[20 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[26 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[32 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[38 chars]; + "-------------------------------------------------------------"+[41 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[50 chars]; + "-------------------------------------------------------------"+[53 chars]; + "-------------------------------------------------------------"+[56 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[62 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[68 chars]; + "-------------------------------------------------------------"+[71 chars]; + "-------------------------------------------------------------"+[74 chars]; + "-------------------------------------------------------------"+[77 chars]; + "-------------------------------------------------------------"+[80 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[86 chars]] + [""; "----"; "--------"; "------------"; "----------------"; + "--------------------"; "------------------------"; + "----------------------------"; "--------------------------------"; + "------------------------------------"; + "----------------------------------------"; + "--------------------------------------------"; + "------------------------------------------------"; + "----------------------------------------------------"; + "--------------------------------------------------------"; + "------------------------------------------------------------"; + "----------------------------------------------------------------"; + "--------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[15 chars]; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[31 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[39 chars]; + "-------------------------------------------------------------"+[43 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[55 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[63 chars]; + "-------------------------------------------------------------"+[67 chars]; + "-------------------------------------------------------------"+[71 chars]; + "-------------------------------------------------------------"+[75 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[87 chars]; + "-------------------------------------------------------------"+[91 chars]; + "-------------------------------------------------------------"+[95 chars]; + "-------------------------------------------------------------"+[99 chars]; + "-------------------------------------------------------------"+[103 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[111 chars]; + "-------------------------------------------------------------"+[115 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[123 chars]; + "-------------------------------------------------------------"+[127 chars]; + "-------------------------------------------------------------"+[131 chars]; + "-------------------------------------------------------------"+[135 chars]] + [""; "-----"; "----------"; "---------------"; "--------------------"; + "-------------------------"; "------------------------------"; + "-----------------------------------"; + "----------------------------------------"; + "---------------------------------------------"; + "--------------------------------------------------"; + "-------------------------------------------------------"; + "------------------------------------------------------------"; + "-----------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[14 chars]; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[24 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[34 chars]; + "-------------------------------------------------------------"+[39 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[49 chars]; + "-------------------------------------------------------------"+[54 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[64 chars]; + "-------------------------------------------------------------"+[69 chars]; + "-------------------------------------------------------------"+[74 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[84 chars]; + "-------------------------------------------------------------"+[89 chars]; + "-------------------------------------------------------------"+[94 chars]; + "-------------------------------------------------------------"+[99 chars]; + "-------------------------------------------------------------"+[104 chars]; + "-------------------------------------------------------------"+[109 chars]; + "-------------------------------------------------------------"+[114 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[124 chars]; + "-------------------------------------------------------------"+[129 chars]; + "-------------------------------------------------------------"+[134 chars]; + "-------------------------------------------------------------"+[139 chars]; + "-------------------------------------------------------------"+[144 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[154 chars]; + "-------------------------------------------------------------"+[159 chars]; + "-------------------------------------------------------------"+[164 chars]; + "-------------------------------------------------------------"+[169 chars]; + "-------------------------------------------------------------"+[174 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[184 chars]] + [""; "------"; "------------"; "------------------"; + "------------------------"; "------------------------------"; + "------------------------------------"; + "------------------------------------------"; + "------------------------------------------------"; + "------------------------------------------------------"; + "------------------------------------------------------------"; + "------------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[41 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[53 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[71 chars]; + "-------------------------------------------------------------"+[77 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[89 chars]; + "-------------------------------------------------------------"+[95 chars]; + "-------------------------------------------------------------"+[101 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[113 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[125 chars]; + "-------------------------------------------------------------"+[131 chars]; + "-------------------------------------------------------------"+[137 chars]; + "-------------------------------------------------------------"+[143 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[155 chars]; + "-------------------------------------------------------------"+[161 chars]; + "-------------------------------------------------------------"+[167 chars]; + "-------------------------------------------------------------"+[173 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[185 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[197 chars]; + "-------------------------------------------------------------"+[203 chars]; + "-------------------------------------------------------------"+[209 chars]; + "-------------------------------------------------------------"+[215 chars]; + "-------------------------------------------------------------"+[221 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[233 chars]] + [""; "-------"; "--------------"; "---------------------"; + "----------------------------"; "-----------------------------------"; + "------------------------------------------"; + "-------------------------------------------------"; + "--------------------------------------------------------"; + "---------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[16 chars]; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[30 chars]; + "-------------------------------------------------------------"+[37 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[58 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[72 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[86 chars]; + "-------------------------------------------------------------"+[93 chars]; + "-------------------------------------------------------------"+[100 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[114 chars]; + "-------------------------------------------------------------"+[121 chars]; + "-------------------------------------------------------------"+[128 chars]; + "-------------------------------------------------------------"+[135 chars]; + "-------------------------------------------------------------"+[142 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[156 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[170 chars]; + "-------------------------------------------------------------"+[177 chars]; + "-------------------------------------------------------------"+[184 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[198 chars]; + "-------------------------------------------------------------"+[205 chars]; + "-------------------------------------------------------------"+[212 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[226 chars]; + "-------------------------------------------------------------"+[233 chars]; + "-------------------------------------------------------------"+[240 chars]; + "-------------------------------------------------------------"+[247 chars]; + "-------------------------------------------------------------"+[254 chars]; + "-------------------------------------------------------------"+[261 chars]; + "-------------------------------------------------------------"+[268 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[282 chars]] + [""; "--------"; "----------------"; "------------------------"; + "--------------------------------"; + "----------------------------------------"; + "------------------------------------------------"; + "--------------------------------------------------------"; + "----------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[43 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[67 chars]; + "-------------------------------------------------------------"+[75 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[91 chars]; + "-------------------------------------------------------------"+[99 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[115 chars]; + "-------------------------------------------------------------"+[123 chars]; + "-------------------------------------------------------------"+[131 chars]; + "-------------------------------------------------------------"+[139 chars]; + "-------------------------------------------------------------"+[147 chars]; + "-------------------------------------------------------------"+[155 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[171 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[187 chars]; + "-------------------------------------------------------------"+[195 chars]; + "-------------------------------------------------------------"+[203 chars]; + "-------------------------------------------------------------"+[211 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[235 chars]; + "-------------------------------------------------------------"+[243 chars]; + "-------------------------------------------------------------"+[251 chars]; + "-------------------------------------------------------------"+[259 chars]; + "-------------------------------------------------------------"+[267 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[283 chars]; + "-------------------------------------------------------------"+[291 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[307 chars]; + "-------------------------------------------------------------"+[315 chars]; + "-------------------------------------------------------------"+[323 chars]; + "-------------------------------------------------------------"+[331 chars]] + [""; "---------"; "------------------"; "---------------------------"; + "------------------------------------"; + "---------------------------------------------"; + "------------------------------------------------------"; + "---------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[20 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[38 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[56 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[74 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[92 chars]; + "-------------------------------------------------------------"+[101 chars]; + "-------------------------------------------------------------"+[110 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[128 chars]; + "-------------------------------------------------------------"+[137 chars]; + "-------------------------------------------------------------"+[146 chars]; + "-------------------------------------------------------------"+[155 chars]; + "-------------------------------------------------------------"+[164 chars]; + "-------------------------------------------------------------"+[173 chars]; + "-------------------------------------------------------------"+[182 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[200 chars]; + "-------------------------------------------------------------"+[209 chars]; + "-------------------------------------------------------------"+[218 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[236 chars]; + "-------------------------------------------------------------"+[245 chars]; + "-------------------------------------------------------------"+[254 chars]; + "-------------------------------------------------------------"+[263 chars]; + "-------------------------------------------------------------"+[272 chars]; + "-------------------------------------------------------------"+[281 chars]; + "-------------------------------------------------------------"+[290 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[308 chars]; + "-------------------------------------------------------------"+[317 chars]; + "-------------------------------------------------------------"+[326 chars]; + "-------------------------------------------------------------"+[335 chars]; + "-------------------------------------------------------------"+[344 chars]; + "-------------------------------------------------------------"+[353 chars]; + "-------------------------------------------------------------"+[362 chars]; + "-------------------------------------------------------------"+[371 chars]; + "-------------------------------------------------------------"+[380 chars]] + [""; "----------"; "--------------------"; "------------------------------"; + "----------------------------------------"; + "--------------------------------------------------"; + "------------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[39 chars]; + "-------------------------------------------------------------"+[49 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[69 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[89 chars]; + "-------------------------------------------------------------"+[99 chars]; + "-------------------------------------------------------------"+[109 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[129 chars]; + "-------------------------------------------------------------"+[139 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[159 chars]; + "-------------------------------------------------------------"+[169 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[189 chars]; + "-------------------------------------------------------------"+[199 chars]; + "-------------------------------------------------------------"+[209 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[229 chars]; + "-------------------------------------------------------------"+[239 chars]; + "-------------------------------------------------------------"+[249 chars]; + "-------------------------------------------------------------"+[259 chars]; + "-------------------------------------------------------------"+[269 chars]; + "-------------------------------------------------------------"+[279 chars]; + "-------------------------------------------------------------"+[289 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[309 chars]; + "-------------------------------------------------------------"+[319 chars]; + "-------------------------------------------------------------"+[329 chars]; + "-------------------------------------------------------------"+[339 chars]; + "-------------------------------------------------------------"+[349 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[369 chars]; + "-------------------------------------------------------------"+[379 chars]; + "-------------------------------------------------------------"+[389 chars]; + "-------------------------------------------------------------"+[399 chars]; + "-------------------------------------------------------------"+[409 chars]; + "-------------------------------------------------------------"+[419 chars]; + "-------------------------------------------------------------"+[429 chars]] + [""; "-----------"; "----------------------"; + "---------------------------------"; + "--------------------------------------------"; + "-------------------------------------------------------"; + "------------------------------------------------------------------"; + "-------------------------------------------------------------"+[16 chars]; + "-------------------------------------------------------------"+[27 chars]; + "-------------------------------------------------------------"+[38 chars]; + "-------------------------------------------------------------"+[49 chars]; + "-------------------------------------------------------------"+[60 chars]; + "-------------------------------------------------------------"+[71 chars]; + "-------------------------------------------------------------"+[82 chars]; + "-------------------------------------------------------------"+[93 chars]; + "-------------------------------------------------------------"+[104 chars]; + "-------------------------------------------------------------"+[115 chars]; + "-------------------------------------------------------------"+[126 chars]; + "-------------------------------------------------------------"+[137 chars]; + "-------------------------------------------------------------"+[148 chars]; + "-------------------------------------------------------------"+[159 chars]; + "-------------------------------------------------------------"+[170 chars]; + "-------------------------------------------------------------"+[181 chars]; + "-------------------------------------------------------------"+[192 chars]; + "-------------------------------------------------------------"+[203 chars]; + "-------------------------------------------------------------"+[214 chars]; + "-------------------------------------------------------------"+[225 chars]; + "-------------------------------------------------------------"+[236 chars]; + "-------------------------------------------------------------"+[247 chars]; + "-------------------------------------------------------------"+[258 chars]; + "-------------------------------------------------------------"+[269 chars]; + "-------------------------------------------------------------"+[280 chars]; + "-------------------------------------------------------------"+[291 chars]; + "-------------------------------------------------------------"+[302 chars]; + "-------------------------------------------------------------"+[313 chars]; + "-------------------------------------------------------------"+[324 chars]; + "-------------------------------------------------------------"+[335 chars]; + "-------------------------------------------------------------"+[346 chars]; + "-------------------------------------------------------------"+[357 chars]; + "-------------------------------------------------------------"+[368 chars]; + "-------------------------------------------------------------"+[379 chars]; + "-------------------------------------------------------------"+[390 chars]; + "-------------------------------------------------------------"+[401 chars]; + "-------------------------------------------------------------"+[412 chars]; + "-------------------------------------------------------------"+[423 chars]; + "-------------------------------------------------------------"+[434 chars]; + "-------------------------------------------------------------"+[445 chars]; + "-------------------------------------------------------------"+[456 chars]; + "-------------------------------------------------------------"+[467 chars]; + "-------------------------------------------------------------"+[478 chars]] + [""; "------------"; "------------------------"; + "------------------------------------"; + "------------------------------------------------"; + "------------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[71 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[95 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[131 chars]; + "-------------------------------------------------------------"+[143 chars]; + "-------------------------------------------------------------"+[155 chars]; + "-------------------------------------------------------------"+[167 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[203 chars]; + "-------------------------------------------------------------"+[215 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[239 chars]; + "-------------------------------------------------------------"+[251 chars]; + "-------------------------------------------------------------"+[263 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[287 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[311 chars]; + "-------------------------------------------------------------"+[323 chars]; + "-------------------------------------------------------------"+[335 chars]; + "-------------------------------------------------------------"+[347 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[371 chars]; + "-------------------------------------------------------------"+[383 chars]; + "-------------------------------------------------------------"+[395 chars]; + "-------------------------------------------------------------"+[407 chars]; + "-------------------------------------------------------------"+[419 chars]; + "-------------------------------------------------------------"+[431 chars]; + "-------------------------------------------------------------"+[443 chars]; + "-------------------------------------------------------------"+[455 chars]; + "-------------------------------------------------------------"+[467 chars]; + "-------------------------------------------------------------"+[479 chars]; + "-------------------------------------------------------------"+[491 chars]; + "-------------------------------------------------------------"+[503 chars]; + "-------------------------------------------------------------"+[515 chars]; + "-------------------------------------------------------------"+[527 chars]] + [""; "-------------"; "--------------------------"; + "---------------------------------------"; + "----------------------------------------------------"; + "-----------------------------------------------------------------"; + "-------------------------------------------------------------"+[17 chars]; + "-------------------------------------------------------------"+[30 chars]; + "-------------------------------------------------------------"+[43 chars]; + "-------------------------------------------------------------"+[56 chars]; + "-------------------------------------------------------------"+[69 chars]; + "-------------------------------------------------------------"+[82 chars]; + "-------------------------------------------------------------"+[95 chars]; + "-------------------------------------------------------------"+[108 chars]; + "-------------------------------------------------------------"+[121 chars]; + "-------------------------------------------------------------"+[134 chars]; + "-------------------------------------------------------------"+[147 chars]; + "-------------------------------------------------------------"+[160 chars]; + "-------------------------------------------------------------"+[173 chars]; + "-------------------------------------------------------------"+[186 chars]; + "-------------------------------------------------------------"+[199 chars]; + "-------------------------------------------------------------"+[212 chars]; + "-------------------------------------------------------------"+[225 chars]; + "-------------------------------------------------------------"+[238 chars]; + "-------------------------------------------------------------"+[251 chars]; + "-------------------------------------------------------------"+[264 chars]; + "-------------------------------------------------------------"+[277 chars]; + "-------------------------------------------------------------"+[290 chars]; + "-------------------------------------------------------------"+[303 chars]; + "-------------------------------------------------------------"+[316 chars]; + "-------------------------------------------------------------"+[329 chars]; + "-------------------------------------------------------------"+[342 chars]; + "-------------------------------------------------------------"+[355 chars]; + "-------------------------------------------------------------"+[368 chars]; + "-------------------------------------------------------------"+[381 chars]; + "-------------------------------------------------------------"+[394 chars]; + "-------------------------------------------------------------"+[407 chars]; + "-------------------------------------------------------------"+[420 chars]; + "-------------------------------------------------------------"+[433 chars]; + "-------------------------------------------------------------"+[446 chars]; + "-------------------------------------------------------------"+[459 chars]; + "-------------------------------------------------------------"+[472 chars]; + "-------------------------------------------------------------"+[485 chars]; + "-------------------------------------------------------------"+[498 chars]; + "-------------------------------------------------------------"+[511 chars]; + "-------------------------------------------------------------"+[524 chars]; + "-------------------------------------------------------------"+[537 chars]; + "-------------------------------------------------------------"+[550 chars]; + "-------------------------------------------------------------"+[563 chars]; + "-------------------------------------------------------------"+[576 chars]] + [""; "--------------"; "----------------------------"; + "------------------------------------------"; + "--------------------------------------------------------"; + "----------------------------------------------------------------------"; + "-------------------------------------------------------------"+[23 chars]; + "-------------------------------------------------------------"+[37 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[79 chars]; + "-------------------------------------------------------------"+[93 chars]; + "-------------------------------------------------------------"+[107 chars]; + "-------------------------------------------------------------"+[121 chars]; + "-------------------------------------------------------------"+[135 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[177 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[205 chars]; + "-------------------------------------------------------------"+[219 chars]; + "-------------------------------------------------------------"+[233 chars]; + "-------------------------------------------------------------"+[247 chars]; + "-------------------------------------------------------------"+[261 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[289 chars]; + "-------------------------------------------------------------"+[303 chars]; + "-------------------------------------------------------------"+[317 chars]; + "-------------------------------------------------------------"+[331 chars]; + "-------------------------------------------------------------"+[345 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[373 chars]; + "-------------------------------------------------------------"+[387 chars]; + "-------------------------------------------------------------"+[401 chars]; + "-------------------------------------------------------------"+[415 chars]; + "-------------------------------------------------------------"+[429 chars]; + "-------------------------------------------------------------"+[443 chars]; + "-------------------------------------------------------------"+[457 chars]; + "-------------------------------------------------------------"+[471 chars]; + "-------------------------------------------------------------"+[485 chars]; + "-------------------------------------------------------------"+[499 chars]; + "-------------------------------------------------------------"+[513 chars]; + "-------------------------------------------------------------"+[527 chars]; + "-------------------------------------------------------------"+[541 chars]; + "-------------------------------------------------------------"+[555 chars]; + "-------------------------------------------------------------"+[569 chars]; + "-------------------------------------------------------------"+[583 chars]; + "-------------------------------------------------------------"+[597 chars]; + "-------------------------------------------------------------"+[611 chars]; + "-------------------------------------------------------------"+[625 chars]] + [""; "---------------"; "------------------------------"; + "---------------------------------------------"; + "------------------------------------------------------------"; + "-------------------------------------------------------------"+[14 chars]; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[44 chars]; + "-------------------------------------------------------------"+[59 chars]; + "-------------------------------------------------------------"+[74 chars]; + "-------------------------------------------------------------"+[89 chars]; + "-------------------------------------------------------------"+[104 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[134 chars]; + "-------------------------------------------------------------"+[149 chars]; + "-------------------------------------------------------------"+[164 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[194 chars]; + "-------------------------------------------------------------"+[209 chars]; + "-------------------------------------------------------------"+[224 chars]; + "-------------------------------------------------------------"+[239 chars]; + "-------------------------------------------------------------"+[254 chars]; + "-------------------------------------------------------------"+[269 chars]; + "-------------------------------------------------------------"+[284 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[314 chars]; + "-------------------------------------------------------------"+[329 chars]; + "-------------------------------------------------------------"+[344 chars]; + "-------------------------------------------------------------"+[359 chars]; + "-------------------------------------------------------------"+[374 chars]; + "-------------------------------------------------------------"+[389 chars]; + "-------------------------------------------------------------"+[404 chars]; + "-------------------------------------------------------------"+[419 chars]; + "-------------------------------------------------------------"+[434 chars]; + "-------------------------------------------------------------"+[449 chars]; + "-------------------------------------------------------------"+[464 chars]; + "-------------------------------------------------------------"+[479 chars]; + "-------------------------------------------------------------"+[494 chars]; + "-------------------------------------------------------------"+[509 chars]; + "-------------------------------------------------------------"+[524 chars]; + "-------------------------------------------------------------"+[539 chars]; + "-------------------------------------------------------------"+[554 chars]; + "-------------------------------------------------------------"+[569 chars]; + "-------------------------------------------------------------"+[584 chars]; + "-------------------------------------------------------------"+[599 chars]; + "-------------------------------------------------------------"+[614 chars]; + "-------------------------------------------------------------"+[629 chars]; + "-------------------------------------------------------------"+[644 chars]; + "-------------------------------------------------------------"+[659 chars]; + "-------------------------------------------------------------"+[674 chars]] + [""; "----------------"; "--------------------------------"; + "------------------------------------------------"; + "----------------------------------------------------------------"; + "-------------------------------------------------------------"+[19 chars]; + "-------------------------------------------------------------"+[35 chars]; + "-------------------------------------------------------------"+[51 chars]; + "-------------------------------------------------------------"+[67 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[99 chars]; + "-------------------------------------------------------------"+[115 chars]; + "-------------------------------------------------------------"+[131 chars]; + "-------------------------------------------------------------"+[147 chars]; + "-------------------------------------------------------------"+[163 chars]; + "-------------------------------------------------------------"+[179 chars]; + "-------------------------------------------------------------"+[195 chars]; + "-------------------------------------------------------------"+[211 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[243 chars]; + "-------------------------------------------------------------"+[259 chars]; + "-------------------------------------------------------------"+[275 chars]; + "-------------------------------------------------------------"+[291 chars]; + "-------------------------------------------------------------"+[307 chars]; + "-------------------------------------------------------------"+[323 chars]; + "-------------------------------------------------------------"+[339 chars]; + "-------------------------------------------------------------"+[355 chars]; + "-------------------------------------------------------------"+[371 chars]; + "-------------------------------------------------------------"+[387 chars]; + "-------------------------------------------------------------"+[403 chars]; + "-------------------------------------------------------------"+[419 chars]; + "-------------------------------------------------------------"+[435 chars]; + "-------------------------------------------------------------"+[451 chars]; + "-------------------------------------------------------------"+[467 chars]; + "-------------------------------------------------------------"+[483 chars]; + "-------------------------------------------------------------"+[499 chars]; + "-------------------------------------------------------------"+[515 chars]; + "-------------------------------------------------------------"+[531 chars]; + "-------------------------------------------------------------"+[547 chars]; + "-------------------------------------------------------------"+[563 chars]; + "-------------------------------------------------------------"+[579 chars]; + "-------------------------------------------------------------"+[595 chars]; + "-------------------------------------------------------------"+[611 chars]; + "-------------------------------------------------------------"+[627 chars]; + "-------------------------------------------------------------"+[643 chars]; + "-------------------------------------------------------------"+[659 chars]; + "-------------------------------------------------------------"+[675 chars]; + "-------------------------------------------------------------"+[691 chars]; + "-------------------------------------------------------------"+[707 chars]; + "-------------------------------------------------------------"+[723 chars]] + [""; "-----------------"; "----------------------------------"; + "---------------------------------------------------"; + "--------------------------------------------------------------------"; + "-------------------------------------------------------------"+[24 chars]; + "-------------------------------------------------------------"+[41 chars]; + "-------------------------------------------------------------"+[58 chars]; + "-------------------------------------------------------------"+[75 chars]; + "-------------------------------------------------------------"+[92 chars]; + "-------------------------------------------------------------"+[109 chars]; + "-------------------------------------------------------------"+[126 chars]; + "-------------------------------------------------------------"+[143 chars]; + "-------------------------------------------------------------"+[160 chars]; + "-------------------------------------------------------------"+[177 chars]; + "-------------------------------------------------------------"+[194 chars]; + "-------------------------------------------------------------"+[211 chars]; + "-------------------------------------------------------------"+[228 chars]; + "-------------------------------------------------------------"+[245 chars]; + "-------------------------------------------------------------"+[262 chars]; + "-------------------------------------------------------------"+[279 chars]; + "-------------------------------------------------------------"+[296 chars]; + "-------------------------------------------------------------"+[313 chars]; + "-------------------------------------------------------------"+[330 chars]; + "-------------------------------------------------------------"+[347 chars]; + "-------------------------------------------------------------"+[364 chars]; + "-------------------------------------------------------------"+[381 chars]; + "-------------------------------------------------------------"+[398 chars]; + "-------------------------------------------------------------"+[415 chars]; + "-------------------------------------------------------------"+[432 chars]; + "-------------------------------------------------------------"+[449 chars]; + "-------------------------------------------------------------"+[466 chars]; + "-------------------------------------------------------------"+[483 chars]; + "-------------------------------------------------------------"+[500 chars]; + "-------------------------------------------------------------"+[517 chars]; + "-------------------------------------------------------------"+[534 chars]; + "-------------------------------------------------------------"+[551 chars]; + "-------------------------------------------------------------"+[568 chars]; + "-------------------------------------------------------------"+[585 chars]; + "-------------------------------------------------------------"+[602 chars]; + "-------------------------------------------------------------"+[619 chars]; + "-------------------------------------------------------------"+[636 chars]; + "-------------------------------------------------------------"+[653 chars]; + "-------------------------------------------------------------"+[670 chars]; + "-------------------------------------------------------------"+[687 chars]; + "-------------------------------------------------------------"+[704 chars]; + "-------------------------------------------------------------"+[721 chars]; + "-------------------------------------------------------------"+[738 chars]; + "-------------------------------------------------------------"+[755 chars]; + "-------------------------------------------------------------"+[772 chars]] + [""; "------------------"; "------------------------------------"; + "------------------------------------------------------"; + "------------------------------------------------------------------------"; + "-------------------------------------------------------------"+[29 chars]; + "-------------------------------------------------------------"+[47 chars]; + "-------------------------------------------------------------"+[65 chars]; + "-------------------------------------------------------------"+[83 chars]; + "-------------------------------------------------------------"+[101 chars]; + "-------------------------------------------------------------"+[119 chars]; + "-------------------------------------------------------------"+[137 chars]; + "-------------------------------------------------------------"+[155 chars]; + "-------------------------------------------------------------"+[173 chars]; + "-------------------------------------------------------------"+[191 chars]; + "-------------------------------------------------------------"+[209 chars]; + "-------------------------------------------------------------"+[227 chars]; + "-------------------------------------------------------------"+[245 chars]; + "-------------------------------------------------------------"+[263 chars]; + "-------------------------------------------------------------"+[281 chars]; + "-------------------------------------------------------------"+[299 chars]; + "-------------------------------------------------------------"+[317 chars]; + "-------------------------------------------------------------"+[335 chars]; + "-------------------------------------------------------------"+[353 chars]; + "-------------------------------------------------------------"+[371 chars]; + "-------------------------------------------------------------"+[389 chars]; + "-------------------------------------------------------------"+[407 chars]; + "-------------------------------------------------------------"+[425 chars]; + "-------------------------------------------------------------"+[443 chars]; + "-------------------------------------------------------------"+[461 chars]; + "-------------------------------------------------------------"+[479 chars]; + "-------------------------------------------------------------"+[497 chars]; + "-------------------------------------------------------------"+[515 chars]; + "-------------------------------------------------------------"+[533 chars]; + "-------------------------------------------------------------"+[551 chars]; + "-------------------------------------------------------------"+[569 chars]; + "-------------------------------------------------------------"+[587 chars]; + "-------------------------------------------------------------"+[605 chars]; + "-------------------------------------------------------------"+[623 chars]; + "-------------------------------------------------------------"+[641 chars]; + "-------------------------------------------------------------"+[659 chars]; + "-------------------------------------------------------------"+[677 chars]; + "-------------------------------------------------------------"+[695 chars]; + "-------------------------------------------------------------"+[713 chars]; + "-------------------------------------------------------------"+[731 chars]; + "-------------------------------------------------------------"+[749 chars]; + "-------------------------------------------------------------"+[767 chars]; + "-------------------------------------------------------------"+[785 chars]; + "-------------------------------------------------------------"+[803 chars]; + "-------------------------------------------------------------"+[821 chars]] + [""; "-------------------"; "--------------------------------------"; + "---------------------------------------------------------"; + "-------------------------------------------------------------"+[15 chars]; + "-------------------------------------------------------------"+[34 chars]; + "-------------------------------------------------------------"+[53 chars]; + "-------------------------------------------------------------"+[72 chars]; + "-------------------------------------------------------------"+[91 chars]; + "-------------------------------------------------------------"+[110 chars]; + "-------------------------------------------------------------"+[129 chars]; + "-------------------------------------------------------------"+[148 chars]; + "-------------------------------------------------------------"+[167 chars]; + "-------------------------------------------------------------"+[186 chars]; + "-------------------------------------------------------------"+[205 chars]; + "-------------------------------------------------------------"+[224 chars]; + "-------------------------------------------------------------"+[243 chars]; + "-------------------------------------------------------------"+[262 chars]; + "-------------------------------------------------------------"+[281 chars]; + "-------------------------------------------------------------"+[300 chars]; + "-------------------------------------------------------------"+[319 chars]; + "-------------------------------------------------------------"+[338 chars]; + "-------------------------------------------------------------"+[357 chars]; + "-------------------------------------------------------------"+[376 chars]; + "-------------------------------------------------------------"+[395 chars]; + "-------------------------------------------------------------"+[414 chars]; + "-------------------------------------------------------------"+[433 chars]; + "-------------------------------------------------------------"+[452 chars]; + "-------------------------------------------------------------"+[471 chars]; + "-------------------------------------------------------------"+[490 chars]; + "-------------------------------------------------------------"+[509 chars]; + "-------------------------------------------------------------"+[528 chars]; + "-------------------------------------------------------------"+[547 chars]; + "-------------------------------------------------------------"+[566 chars]; + "-------------------------------------------------------------"+[585 chars]; + "-------------------------------------------------------------"+[604 chars]; + "-------------------------------------------------------------"+[623 chars]; + "-------------------------------------------------------------"+[642 chars]; + "-------------------------------------------------------------"+[661 chars]; + "-------------------------------------------------------------"+[680 chars]; + "-------------------------------------------------------------"+[699 chars]; + "-------------------------------------------------------------"+[718 chars]; + "-------------------------------------------------------------"+[737 chars]; + "-------------------------------------------------------------"+[756 chars]; + "-------------------------------------------------------------"+[775 chars]; + "-------------------------------------------------------------"+[794 chars]; + "-------------------------------------------------------------"+[813 chars]; + "-------------------------------------------------------------"+[832 chars]; + "-------------------------------------------------------------"+[851 chars]; + "-------------------------------------------------------------"+[870 chars]; + ...] + ...] + +> type tree = + | L + | N of tree list +val mkT: w: int -> d: int -> tree +val tree: w: int -> d: int -> tree + +> [Building 2 4...done] +val tree_2_4: tree = + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]] + +> [Building 2 6...done] +val tree_2_6: tree = + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]] + +> [Building 2 8...done] +val tree_2_8: tree = + N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]] + +> [Building 2 10...done] +val tree_2_10: tree = + N [N [N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]]; + N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N ...; ...]; ...]; ...]; ...]; ...]; + ...]; ...]; ...]; ...] + +> [Building 2 12...done] +val tree_2_12: tree = + N [N [N [N [N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]]; + N [N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; ...]; ...]; ...]; ...]; ...]; ...]; + ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 2 14...done] +val tree_2_14: tree = + N [N [N [N [N [N [N [N [N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]]]; + N [N [N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]]; + N [N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]]; + N [N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]]; + N [N [N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]; + N [N [N [L; L]; N [L; L]]; + N [N [L; L]; N [L; L]]]]; + N [N [N ...; ...]; ...]; ...]; ...]; ...]; ...]; + ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 3 8...done] +val tree_3_8: tree = + N [N [N [N [N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]]; + N [N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]]; + N [N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]; + N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; L; L]]]]; + N [N [N [N [L; L; L]; N [L; L; L]; N [L; L; L]]; + N [N [L; L; L]; N [L; L; L]; N [L; ...]; ...]; ...]; ...]; + ...]; ...]; ...]; ...] + +> [Building 4 8...done] +val tree_4_8: tree = + N [N [N [N [N [N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]]; + N [N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]]; + N [N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]]; + N [N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; L]; + N [L; L; L; L]]; + N [N [L; L; L; L]; N [L; L; L; L]; N [L; L; L; ...]; ...]; + ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 5 8...done] +val tree_5_8: tree = + N [N [N [N [N [N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]; + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]; + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]; + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]; + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]]; + N [N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]]; + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N ...; ...]; ...]; ...]; ...]; ...]; + ...]; ...] + +> [Building 6 8...done] +val tree_6_8: tree = + N [N [N [N [N [N [N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]]; + N [N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]]; + N [N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]]; + N [N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]; + N [L; L; L; L; L; L]; N [L; L; L; L; L; L]]; + N [N ...; ...]; ...]; ...]; ...]; ...]; ...]; ...] + +> [Building 5 3...done] +val tree_5_3: tree = + N [N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]; + N [N [L; L; L; L; L]; N [L; L; L; L; L]; N [L; L; L; L; L]; + N [L; L; L; L; L]; N [L; L; L; L; L]]] + +> > type X = + | Var of int + | Bop of int * X * X +val generate: x: int -> X + +> val exps: X list = + [Bop (1, Var 0, Var 0); Var 2; + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)); Var 4; + Bop (5, Var 2, Bop (1, Var 0, Var 0)); Var 6; + Bop (7, Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)), Var 2); + Var 8; + Bop (9, Var 4, Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0))); + Var 10; + Bop + (213, Var 106, + Bop + (71, + Bop + (35, Bop (17, Var 8, Bop (5, Var 2, Bop (1, Var 0, Var 0))), + Bop + (11, Bop (5, Var 2, Bop (1, Var 0, Var 0)), + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)))), + Bop + (23, + Bop + (11, Bop (5, Var 2, Bop (1, Var 0, Var 0)), + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0))), + Bop + (7, Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)), Var 2)))); + Var 21342314; Var 3214; Bop (1231357, Var 615678, Var 410452); + Bop + (5234547, Bop (2617273, Var 1308636, Var 872424), + Bop (1744849, Var 872424, Var 581616)); + Bop + (923759825, Var 461879912, Bop (307919941, Var 153959970, Var 102639980)); + Var 2435234; + Bop + (12396777, Var 6198388, + Bop + (4132259, + Bop + (2066129, Var 1033064, + Bop + (688709, Var 344354, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502))))), + Bop + (1377419, + Bop + (688709, Var 344354, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502)))), + Bop + (459139, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502))), + Var 153046)))); + Bop + (3333333, Var 1666666, + Bop + (1111111, + Bop + (555555, Bop (277777, Var 138888, Var 92592), + Bop (185185, Var 92592, Var 61728)), Var 370370)); + Bop + (1312311237, Var 656155618, + Bop + (437437079, + Bop + (218718539, + Bop + (109359269, Var 54679634, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38))))), + Var 6250), + Bop + (12501, Var 6250, + Bop + (4167, + Bop + (2083, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38))), + Var 694), + Bop + (1389, Var 694, + Bop + (463, + Bop + (231, + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38), + Bop + (77, Var 38, + Bop + (25, Var 12, Var 8))), + Var 154)))))), Var 75006))), + Var 1350114)))), + Bop + (72906179, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38))))), + Var 6250), + Bop + (12501, Var 6250, + Bop + (4167, + Bop + (2083, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38))), + Var 694), + Bop + (1389, Var 694, + Bop + (463, + Bop + (231, + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), Var 38), + Bop + (77, Var 38, + Bop + (25, Var 12, Var 8))), + Var 154)))))), Var 75006))), + Var 1350114))), + Bop (24302059, Bop (12151029, ..., ...), ...))), ...)); ...] + +> module Exprs = + val x1: X = + Bop + (213, Var 106, + Bop + (71, + Bop + (35, Bop (17, Var 8, Bop (5, Var 2, Bop (1, Var 0, Var 0))), + Bop + (11, Bop (5, Var 2, Bop (1, Var 0, Var 0)), + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)))), + Bop + (23, + Bop + (11, Bop (5, Var 2, Bop (1, Var 0, Var 0)), + Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0))), + Bop + (7, Bop (3, Bop (1, Var 0, Var 0), Bop (1, Var 0, Var 0)), + Var 2)))) + val x2: X = Var 21342314 + val x3: X = Var 3214 + val x4: X = Bop (1231357, Var 615678, Var 410452) + val x5: X = + Bop + (5234547, Bop (2617273, Var 1308636, Var 872424), + Bop (1744849, Var 872424, Var 581616)) + val x6: X = + Bop + (923759825, Var 461879912, Bop (307919941, Var 153959970, Var 102639980)) + val x7: X = Var 2435234 + val x8: X = + Bop + (12396777, Var 6198388, + Bop + (4132259, + Bop + (2066129, Var 1033064, + Bop + (688709, Var 344354, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502))))), + Bop + (1377419, + Bop + (688709, Var 344354, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502)))), + Bop + (459139, + Bop + (229569, Var 114784, + Bop + (76523, + Bop + (38261, Var 19130, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472)))), + Bop + (25507, + Bop + (12753, Var 6376, + Bop + (4251, Bop (2125, Var 1062, Var 708), + Bop (1417, Var 708, Var 472))), Var 8502))), + Var 153046)))) + val x9: X = + Bop + (3333333, Var 1666666, + Bop + (1111111, + Bop + (555555, Bop (277777, Var 138888, Var 92592), + Bop (185185, Var 92592, Var 61728)), Var 370370)) + val x10: X = + Bop + (1312311237, Var 656155618, + Bop + (437437079, + Bop + (218718539, + Bop + (109359269, Var 54679634, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop + (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))))), + Var 6250), + Bop + (12501, Var 6250, + Bop + (4167, + Bop + (2083, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))), Var 694), + Bop + (1389, Var 694, + Bop + (463, + Bop + (231, + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38), + Bop + (77, Var 38, + Bop + (25, Var 12, Var 8))), + Var 154)))))), Var 75006))), + Var 1350114)))), + Bop + (72906179, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop + (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))))), + Var 6250), + Bop + (12501, Var 6250, + Bop + (4167, + Bop + (2083, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))), Var 694), + Bop + (1389, Var 694, + Bop + (463, + Bop + (231, + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38), + Bop + (77, Var 38, + Bop + (25, Var 12, Var 8))), + Var 154)))))), Var 75006))), + Var 1350114))), + Bop + (24302059, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop + (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))))), + Var 6250), + Bop + (12501, Var 6250, + Bop + (4167, + Bop + (2083, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6))), + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38))), Var 694), + Bop + (1389, Var 694, + Bop + (463, + Bop + (231, + Bop + (115, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + Bop + (3, + Bop + (1, + Var 0, + Var 0), + Bop + (1, + Var 0, + Var 0))), + Var 6)), + Var 38), + Bop + (77, Var 38, + Bop + (25, Var 12, Var 8))), + Var 154)))))), Var 75006))), + Var 1350114)), Var 8100686))), + Bop + (145812359, + Bop + (72906179, + Bop + (36453089, Var 18226544, + Bop + (12151029, Var 6075514, + Bop + (4050343, + Bop + (2025171, Bop (1012585, Var 506292, Var 337528), + Bop + (675057, Var 337528, + Bop + (225019, + Bop + (112509, Var 56254, + Bop + (37503, + Bop + (18751, + Bop + (9375, + Bop + (4687, + Bop + (2343, + Bop + (1171, + Bop + (585, Var 292, + Bop + (195, + Bop + (97, Var 48, + Var 32), + Bop + (65, Var 32, + Bop + (21, Var 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))), + Var 390), + Bop + (781, Var 390, Var 260)), + Var 1562), + Bop + (3125, Var 1562, + Bop + (1041, Var 520, + Bop + (347, + Bop + (173, Var 86, + Bop + (57, Var 28, + Bop + (19, + Bop + (9, Var 4, + ...), ...))), + ...)))), ...), ...)), + ...))), ...))), ...), ...))) + val x11: X = + Bop + (2147483647, + Bop + (1073741823, + Bop + (536870911, + Bop + (268435455, + Bop + (134217727, + Bop + (67108863, + Bop + (33554431, + Bop + (16777215, + Bop + (8388607, + Bop + (4194303, + Bop + (2097151, + Bop + (1048575, + Bop + (524287, + Bop + (262143, + Bop + (131071, + Bop + (65535, + Bop + (32767, + Bop + (16383, + Bop + (8191, + Bop + (4095, + Bop + (2047, + Bop + (1023, + Bop + (511, + Bop + (255, + Bop + (127, + Bop + (63, + Bop + (31, + Bop + (15, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var + 2), + Bop + (5, + Var + 2, + Bop + (1, + Var + 0, + Var + 0))), + Var + 10), + Bop + (21, + Var + 10, + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var + 2))), + Var + 42), + Bop + (85, + Var + 42, + Var + 28)), + Var + 170), + Bop + (341, + Var + 170, + Bop + (113, + Var + 56, + Bop + (37, + Var + 18, + Var + 12)))), + Var 682), + Bop + (1365, + Var 682, + Bop + (455, + Bop + (227, + Bop + (113, + Var + 56, + Bop + (37, + Var + 18, + Var + 12)), + Bop + (75, + Bop + (37, + Var + 18, + Var + 12), + Bop + (25, + Var + 12, + Var + 8))), + Bop + (151, + Bop + (75, + Bop + (37, + Var + 18, + Var + 12), + Bop + (25, + Var + 12, + Var + 8)), + Var + 50)))), + Var 2730), + Bop + (5461, Var 2730, + Var 1820)), + Var 10922), + Bop + (21845, Var 10922, + Bop + (7281, Var 3640, + Bop + (2427, + Bop + (1213, Var 606, + Var 404), + Bop + (809, Var 404, + Bop + (269, + Var 134, + Bop + (89, + Var 44, + Bop + (29, + Var + 14, + Bop + (9, + Var + 4, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))))))))))), + Var 43690), + Bop + (87381, Var 43690, + Bop + (29127, + Bop + (14563, + Bop + (7281, Var 3640, + Bop + (2427, + Bop + (1213, Var 606, + Var 404), + Bop + (809, Var 404, + Bop + (269, + Var 134, + Bop + (89, + Var 44, + Bop + (29, + Var + 14, + Bop + (9, + Var + 4, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))))))))), + Var 4854), + Bop + (9709, Var 4854, + Var 3236)))), + Var 174762), + Bop (349525, Var 174762, Var 116508)), + Var 699050), + Bop + (1398101, Var 699050, + Bop (466033, Var 233016, Var 155344))), + Var 2796202), + Bop + (5592405, Var 2796202, + Bop + (1864135, + Bop + (932067, + Bop (466033, Var 233016, Var 155344), + Bop + (310689, Var 155344, + Bop + (103563, + Bop (51781, Var 25890, Var 17260), + Bop + (34521, Var 17260, + Bop + (11507, + Bop + (5753, Var 2876, + Bop + (1917, Var 958, + Bop + (639, + Bop + (319, + Bop + (159, + Bop + (79, + Bop + (39, + Bop + (19, + Bop + (9, + Var + 4, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))), + Var 6), + Bop + (13, + Var 6, + Var 4)), + Var 26), + Bop + (53, Var 26, + Bop + (17, + Var 8, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0))))), + Var 106), + Bop + (213, Var 106, + Bop + (71, + Bop + (35, + Bop + (17, + Var 8, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0))), + Bop + (11, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0)), + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)))), + Bop + (23, + Bop + (11, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0)), + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))), + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2))))))), + Bop + (3835, + Bop + (1917, Var 958, + Bop + (639, + Bop + (319, + Bop + (159, + Bop + (79, + Bop + (39, + Bop + (19, + Bop + (9, + Var + 4, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))), + Var 6), + Bop + (13, + Var 6, + Var 4)), + Var 26), + Bop + (53, Var 26, + Bop + (17, + Var 8, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0))))), + Var 106), + Bop + (213, Var 106, + Bop + (71, + Bop + (35, + Bop + (17, + Var 8, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0))), + Bop + (11, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0)), + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)))), + Bop + (23, + Bop + (11, + Bop + (5, + Var 2, + Bop + (1, + Var + 0, + Var + 0)), + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0))), + Bop + (7, + Bop + (3, + Bop + (1, + Var + 0, + Var + 0), + Bop + (1, + Var + 0, + Var + 0)), + Var 2)))))), + Var 1278)))))), Var 621378))), + Var 11184810), + Bop (22369621, Var 11184810, Var 7456540)), Var 44739242), + Bop + (89478485, Var 44739242, + Bop + (29826161, Var 14913080, + Bop + (9942053, Var 4971026, + Bop (3314017, Var 1657008, Var 1104672))))), + Var 178956970), + Bop + (357913941, Var 178956970, + Bop + (119304647, + Bop + (59652323, + Bop + (29826161, Var 14913080, + Bop + (9942053, Var 4971026, + Bop (3314017, Var 1657008, Var 1104672))), + Bop + (19884107, + Bop + (9942053, Var 4971026, + Bop (3314017, Var 1657008, Var 1104672)), + Bop + (6628035, Bop (3314017, Var 1657008, Var 1104672), + Bop (2209345, Var 1104672, Var 736448)))), + Bop + (39768215, + Bop + (19884107, + Bop + (9942053, Var 4971026, + Bop (3314017, Var 1657008, Var 1104672)), + Bop + (6628035, Bop (3314017, Var 1657008, Var 1104672), + Bop (2209345, Var 1104672, Var 736448))), + Bop + (13256071, + Bop + (6628035, Bop (3314017, Var 1657008, Var 1104672), + Bop (2209345, Var 1104672, Var 736448)), Var 4418690))))), + Var 715827882) + +> type C = + new: x: string -> C + override ToString: unit -> string +val c1: C = +val csA: C[] = + [|; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; ...|] +val csB: C[] = + [|; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; ...|] +val csC: C[] = + [|; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; + ; ; ...|] + +> exception Abc + +> exception AbcInt of int + +> exception AbcString of string + +> exception AbcExn of exn list + +> exception AbcException of System.Exception list + +> val exA1: exn = Abc +val exA2: exn = AbcInt 2 +val exA3: exn = AbcString "3" +val exA4: exn = AbcExn [Abc; AbcInt 2; AbcString "3"] +val exA5: exn = AbcException [AbcExn [Abc; AbcInt 2; AbcString "3"]] +exception Ex0 +exception ExUnit of unit +exception ExUnits of unit * unit +exception ExUnitOption of unit option +val ex0: exn = Ex0 +val exU: exn = ExUnit () +val exUs: exn = ExUnits ((), ()) +val exUSome: exn = ExUnitOption (Some ()) +val exUNone: exn = ExUnitOption None +type 'a T4063 = | AT4063 of 'a + +> val valAT3063_12: int T4063 = AT4063 12 + +> val valAT3063_True: bool T4063 = AT4063 true + +> val valAT3063_text: string T4063 = AT4063 "text" + +> val valAT3063_null: System.Object T4063 = AT4063 null + +> type M4063<'a> = + new: x: 'a -> M4063<'a> + +> val v4063: M4063 + +> type Taaaaa<'a> = + new: unit -> Taaaaa<'a> + +> type Taaaaa2<'a> = + inherit Taaaaa<'a> + new: unit -> Taaaaa2<'a> + member M: unit -> Taaaaa2<'a> + +> type Tbbbbb<'a> = + new: x: 'a -> Tbbbbb<'a> + member M: unit -> 'a + +> type Tbbbbb2 = + inherit Tbbbbb + new: x: string -> Tbbbbb2 + +> val it: (unit -> string) = + +> module RepeatedModule = + val repeatedByteLiteral: byte[] = [|12uy; 13uy; 14uy|] + +> module RepeatedModule = + val repeatedByteLiteral: byte[] = [|12uy; 13uy; 14uy|] + +> val it: string = "Check #help" + +> + F# Interactive directives: + + #r "file.dll";; // Reference (dynamically load) the given DLL + #i "package source uri";; // Include package source uri when searching for packages + #I "path";; // Add the given search path for referenced DLLs + #load "file.fs" ...;; // Load the given file(s) as if compiled and referenced + #time ["on"|"off"];; // Toggle timing on/off + #help;; // Display help + #r "nuget:FSharp.Data, 3.1.2";; // Load Nuget Package 'FSharp.Data' version '3.1.2' + #r "nuget:FSharp.Data";; // Load Nuget Package 'FSharp.Data' with the highest version + #quit;; // Exit + + F# Interactive command line options: + + + +> val it: string = "Check #time on and then off" + +> +--> Timing now on + +> +--> Timing now off + +> val it: string = "Check #unknown command" + +> val it: string = + "Check #I with a known directory (to avoid a warning, which includes the location of this file, which is fragile...)" + +> +--> Added '/' to library include path + +> type internal T1 = + | A + | B + +> type internal T2 = + { x: int } + +> type internal T3 + +> type internal T4 = + new: unit -> T4 + +> type T1 = + internal | A + | B + +> type T2 = + internal { x: int } + +> type private T1 = + | A + | B + +> type private T2 = + { x: int } + +> type T1 = + private | A + | B + +> type T2 = + private { x: int } + +> type internal T1 = + private | A + | B + +> type internal T2 = + private { x: int } + +> type private T3 + +> type private T4 = + new: unit -> T4 + +> exception X1 of int + +> exception private X2 of int + +> exception internal X3 of int + +> type T0 = + new: unit -> T0 +type T1Post<'a> = + new: unit -> T1Post<'a> +type 'a T1Pre = + new: unit -> 'a T1Pre + +> type T0 with + member M: unit -> T0 list +type T0 with + member P: T0 * T0 +type T0 with + member E: IEvent + +> type T1Post<'a> with + member M: unit -> T1Post<'a> list +type T1Post<'a> with + member P: T1Post<'a> * T1Post<'a> +type T1Post<'a> with + member E: IEvent + +> type 'a T1Pre with + member M: unit -> 'a T1Pre list +type 'a T1Pre with + member P: 'a T1Pre * 'a T1Pre +type 'a T1Pre with + member E: IEvent + +> type T1Post<'a> with + member M: unit -> T1Post<'a> list +type T1Post<'a> with + member P: T1Post<'a> * T1Post<'a> +type T1Post<'a> with + member E: IEvent + +> type 'a T1Pre with + member M: unit -> 'a T1Pre list +type 'a T1Pre with + member P: 'a T1Pre * 'a T1Pre +type 'a T1Pre with + member E: IEvent + +> type r = + { + f0: int + f1: int + f2: int + f3: int + f4: int + f5: int + f6: int + f7: int + f8: int + f9: int + } +val r10: r = { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 } +val r10s: r[] = + [|{ f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }|] +val r10s': string * r[] = + ("one extra node", + [|{ f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }; + { f0 = 0 + f1 = 1 + f2 = 2 + f3 = 3 + f4 = 4 + f5 = 5 + f6 = 6 + f7 = 7 + f8 = 8 + f9 = 9 }|]) + +> val x1564_A1: int = 1 + + +--> Added '\' to library include path + +val x1564_A2: int = 2 + + +--> Added '\' to library include path + +val x1564_A3: int = 3 + +> type internal Foo2 = + private new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member private Prop3: int + +> module internal InternalM = + val x: int = 1 + type Foo2 = + private new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member private Prop3: int + type private Foo3 = + new: x: int * y: int * z: int -> Foo3 + 3 overloads + member Prop1: int + member Prop2: int + member Prop3: int + type T1 = + | A + | B + type T2 = + { x: int } + type T3 + type T4 = + new: unit -> T4 + type T5 = + | A + | B + type T6 = + { x: int } + type private T7 = + | A + | B + type private T8 = + { x: int } + type T9 = + private | A + | B + type T10 = + private { x: int } + type T11 = + private | A + | B + type T12 = + private { x: int } + type private T13 + type private T14 = + new: unit -> T14 +module internal PrivateM = + val private x: int = 1 + type private Foo2 = + new: x: int * y: int * z: int -> Foo2 + 3 overloads + member Prop1: int + member Prop2: int + member Prop3: int + type T1 = + | A + | B + type T2 = + { x: int } + type T3 + type T4 = + new: unit -> T4 + type T5 = + | A + | B + type T6 = + { x: int } + type private T7 = + | A + | B + type private T8 = + { x: int } + type T9 = + private | A + | B + type T10 = + private { x: int } + type T11 = + private | A + | B + type T12 = + private { x: int } + type private T13 + type private T14 = + new: unit -> T14 + +> val it: seq = + seq + [(43, "10/28/2008", 1); (46, "11/18/2008", 1); (56, "1/27/2009", 2); + (58, "2/10/2009", 1)] + +> module Test4343a = + val mk: i: int -> string + val x100: string = + "0123456789012345678901234567890123456789012345678901234567890"+[39 chars] + val x90: string = + "0123456789012345678901234567890123456789012345678901234567890"+[29 chars] + val x80: string = + "0123456789012345678901234567890123456789012345678901234567890"+[19 chars] + val x75: string = + "0123456789012345678901234567890123456789012345678901234567890"+[14 chars] + val x74: string = + "0123456789012345678901234567890123456789012345678901234567890"+[13 chars] + val x73: string = + "0123456789012345678901234567890123456789012345678901234567890"+[12 chars] + val x72: string = + "012345678901234567890123456789012345678901234567890123456789012345678901" + val x71: string = + "01234567890123456789012345678901234567890123456789012345678901234567890" + val x70: string = + "0123456789012345678901234567890123456789012345678901234567890123456789" +module Test4343b = + val fA: x: int -> int + val fB: x: 'a -> y: 'a -> 'a list + val gA: (int -> int) + val gB: ('a -> 'a -> 'a list) + val gAB: (int -> int) * ('a -> 'a -> 'a list) + val hB: ('a -> 'a -> 'a list) + val hA: (int -> int) +module Test4343c = + val typename<'a> : string + val typename2<'a> : string * string +module Test4343d = + val xList: int list = [1; 2; 3] + val xArray: int[] = [|1; 2; 3|] + val xString: string = "abcdef" + val xOption: int option = Some 12 + val xArray2: (int * int)[,] = [[(0, 0); (0, 1)] + [(1, 0); (1, 1)]] + val xSeq: seq +module Test4343e = + type C = + new: x: int -> C + val cA: C + val cB: C + val cAB: C * C * C list = + (FSI_0090+Test4343e+C, FSI_0090+Test4343e+C, + [FSI_0090+Test4343e+C; FSI_0090+Test4343e+C]) + type D = + new: x: int -> D + override ToString: unit -> string + val dA: D = D(1) + val dB: D = D(2) + val dAB: D * D * D list = (D(1), D(2), [D(1); D(2)]) + module Generic = + type CGeneric<'a> = + new: x: 'a -> CGeneric<'a> + val cA: C + val cB: C + val cAB: C * C * C list = + (FSI_0090+Test4343e+C, FSI_0090+Test4343e+C, + [FSI_0090+Test4343e+C; FSI_0090+Test4343e+C]) + type D<'a> = + new: x: 'a -> D<'a> + override ToString: unit -> string + val dA: D = D(1) + val dB: D = D(2) + val dAB: D * D * D list = (D(1), D(2), [D(1); D(2)]) + val dC: D = D(True) + val boxed_dABC: obj list = [D(1); D(2); D(True)] +type F1 = + inherit System.Windows.Forms.Form + interface System.IDisposable + val x: F1 + val x2: F1 + member B: unit -> int + member D: x: int -> int + 2 overloads + abstract MMM: bool -> bool + override ToString: unit -> string + static member A: unit -> int + static member C: unit -> int + abstract AAA: int + abstract BBB: bool with set + member D2: int + member E: int + abstract ZZZ: int + static val mutable private sx: F1 + static val mutable private sx2: F1 +[] +type IP = + new: x: int * y: int -> IP + static val mutable private AA: IP +module Regression4643 = + [] + type RIP = + new: x: int -> RIP + static val mutable private y: RIP + [] + type arg_unused_is_RIP = + new: x: RIP -> arg_unused_is_RIP + [] + type arg_used_is_RIP = + new: x: RIP -> arg_used_is_RIP + member X: RIP + [] + type field_is_RIP = + val x: RIP +type Either<'a,'b> = + | This of 'a + | That of 'b +val catch: f: (unit -> 'a) -> Either<'a,(string * string)> +val seqFindIndexFailure: Either = + That + ("System.Collections.Generic.KeyNotFoundException", + "An index satisfying the predicate was not found in the collection.") +val seqFindFailure: Either = + That + ("System.Collections.Generic.KeyNotFoundException", + "An index satisfying the predicate was not found in the collection.") +val seqPickFailure: Either = + That + ("System.Collections.Generic.KeyNotFoundException", + "An index satisfying the predicate was not found in the collection.") +module Regression5218 = + val t1: int = 1 + val t2: int * int = (1, 2) + val t3: int * int * int = (1, 2, 3) + val t4: int * int * int * int = (1, 2, 3, 4) + val t5: int * int * int * int * int = (1, 2, 3, 4, 5) + val t6: int * int * int * int * int * int = (1, 2, 3, 4, 5, 6) + val t7: int * int * int * int * int * int * int = (1, 2, 3, 4, 5, 6, 7) + val t8: int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8) + val t9: int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9) + val t10: int * int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) + val t11: int * int * int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11) + val t12: + int * int * int * int * int * int * int * int * int * int * int * int = + (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12) + val t13: + int * int * int * int * int * int * int * int * int * int * int * int * + int = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13) + val t14: + int * int * int * int * int * int * int * int * int * int * int * int * + int * int = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14) + val t15: + int * int * int * int * int * int * int * int * int * int * int * int * + int * int * int = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15) + +> module Regression3739 = + type IB = + abstract AbstractMember: int -> int + type C<'a when 'a :> IB> = + new: unit -> C<'a> + static member StaticMember: x: 'a -> int + +> module Regression3739 = + type IB = + abstract AbstractMember: int -> int + type C<'a when 'a :> IB> = + new: unit -> C<'a> + static member StaticMember: x: 'a -> int + +> module Regression3740 = + type Writer<'a> = + abstract get_path: unit -> string + type MyClass = + interface Writer + val path: string + +> type Regression4319_T2 = + static member (+-+-+) : x: 'a * y: 'b -> string + +> type Regression4319_T0 = + static member (+-+-+) : string + +> type Regression4319_T1 = + static member (+-+-+) : x: 'a -> string + +> type Regression4319_T1b = + static member (+-+-+) : x: 'a -> string + +> type Regression4319_T1c = + static member (+-+-+) : x: ('a * 'b) -> string + +> type Regression4319_T1d = + static member (+-+-+) : x: (int * int) -> string + +> type Regression4319_T3 = + static member (+-+-+) : x: 'a * y: 'b * z: 'c -> string + +> type Regression4319_U1 = + static member (+-+-+) : x: 'a -> moreArgs: 'b -> string + +> type Regression4319_U1b = + static member (+-+-+) : x: 'a -> moreArgs: 'b -> string + +> type Regression4319_U2 = + static member (+-+-+) : x: 'a * y: 'b -> moreArgs: 'c -> string + +> type Regression4319_U3 = + static member (+-+-+) : x: 'a * y: 'b * z: 'c -> moreArgs: 'd -> string + +> type Regression4319_check = + static member (&) : string + static member (&^) : string + static member (@) : string + static member (!=) : string + static member (:=) : string + static member (^) : string + static member (/) : string + static member ($) : string + static member (...@) : string + static member (...!=) : string + static member (.../) : string + static member (...=) : string + static member (...>) : string + static member (...^) : string + static member (...<) : string + static member ( ...* ) : string + static member (...%) : string + static member (=) : string + static member ( ** ) : string + static member (>) : string + static member (<) : string + static member (%) : string + static member ( * ) : string + static member (-) : string + +> Expect ABC = ABC +type Regression4469 = + new: unit -> Regression4469 + member ToString: unit -> string +val r4469: Regression4469 = FSI_0106+Regression4469 +val it: unit = () + +> Expect ABC = ABC +val it: unit = () + +> module Regression1019_short = + val double_nan: float = nan + val double_infinity: float = infinity + val single_nan: float32 = nanf + val single_infinity: float32 = infinityf +module Regression1019_long = + val double_nan: float = nan + val double_infinity: float = infinity + val single_nan: float32 = nanf + val single_infinity: float32 = infinityf + +> val it: int ref = { contents = 1 } + +> val x: int ref = { contents = 1 } +val f: (unit -> int) + +> val it: int = 1 + +> val it: unit = () + +> val it: int = 3 + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: int[] = + [|0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; + ...|] + +> val it: 'a list + +> val it: 'a list list + +> val it: 'a option + +> val it: 'a list * 'b list + +> val it: x: 'a -> 'a + +> val fff: x: 'a -> 'a + +> val it: ('a -> 'a) + +> val note_ExpectDupMethod: string = + "Regression4927: Expect error due to duplicate methods in the "+[20 chars] + +> > val note_ExpectDupProperty: string = + "Regression4927: Expect error due to duplicate properties in t"+[23 chars] + +> > > val it: string = "NOTE: Expect IAPrivate less accessible IBPublic" + +> > val it: string = "NOTE: Expect IAPrivate less accessible IBInternal" + +> > module Regression5265_PriPri = + type private IAPrivate = + abstract P: int + type private IBPrivate = + inherit IAPrivate + abstract Q: int + +> val it: string = "NOTE: Expect IAInternal less accessible IBPublic" + +> > module Regression5265_IntInt = + type internal IAInternal = + abstract P: int + type internal IBInternal = + inherit IAInternal + abstract Q: int + +> module Regression5265_IntPri = + type internal IAInternal = + abstract P: int + type private IBPrivate = + inherit IAInternal + abstract Q: int + +> module Regression5265_PubPub = + type IAPublic = + abstract P: int + type IBPublic = + inherit IAPublic + abstract Q: int + +> module Regression5265_PubInt = + type IAPublic = + abstract P: int + type internal IBInternal = + inherit IAPublic + abstract Q: int + +> module Regression5265_PubPri = + type IAPublic = + abstract P: int + type private IBPrivate = + inherit IAPublic + abstract Q: int + +> val it: string = + "Regression4232: Expect an error about duplicate virtual methods from parent type" + +> > val it: string = + "** Expect AnAxHostSubClass to be accepted. AxHost has a newslot virtual RightToLeft property outscope RightToLeft on Control" + +> type AnAxHostSubClass = + inherit System.Windows.Forms.AxHost + new: x: string -> AnAxHostSubClass + +> val it: string = + "** Expect error because the active pattern result contains free type variables" + +> > val it: string = + "** Expect error because the active pattern result contains free type variables (match value generic)" + +> > val it: string = + "** Expect error because the active pattern result contains free type variables (when active pattern also has parameters)" + +> > val it: string = + "** Expect OK, since error message says constraint should work!" + +> val (|A|B|) : x: int -> Choice + +> val it: string = "** Expect error since active pattern is not a function!" + +> > val it: string = + "** Expect OK since active pattern result is not too generic, typars depend on match val" + +> val (|A|B|) : p: bool -> 'a * 'b -> Choice<'a,'b> + +> val it: string = + "** Expect OK since active pattern result is not too generic, typars depend on parameters" + +> val (|A|B|) : aval: 'a -> bval: 'b -> x: bool -> Choice<'a,'b> + +> val it: string = + "** Expect OK since active pattern result is generic, but it typar from closure, so OK" + +> val outer: x: 'a -> (int -> 'a option) + +> val it: string = + "** Expect OK, BUG 472278: revert unintended breaking change to Active Patterns in F# 3.0" + +> val (|Check1|) : a: int -> int * 'a option + +> > module ReflectionEmit = + type IA = + abstract M: #IB -> int + and IB = + abstract M: #IA -> int + type IA2<'a when 'a :> IB2<'a> and 'a :> IA2<'a>> = + abstract M: int + and IB2<'b when 'b :> IA2<'b> and 'b :> IB2<'b>> = + abstract M: int + +> val it: string = + "Regression_139182: Expect the follow code to be accepted without error" + +> [] +type S = + member TheMethod: unit -> int64 +val theMethod: s: S -> int64 +type T = + new: unit -> T + member Prop5: int64 + static member Prop1: int64 + static member Prop2: int64 + static member Prop3: int64 + static member Prop4: string + +> val it: System.Threading.ThreadLocal list = [0 {IsValueCreated = false; + Values = ?;}] + +> type MyDU = + | Case1 of Val1: int * Val2: string + | Case2 of string * V2: bool * float + | Case3 of int + | Case4 of Item1: bool + | Case5 of bool * string + | Case6 of Val1: int * bool * string + | Case7 of ``Big Name`` : int +val namedFieldVar1: MyDU = Case1 (5, "") +val namedFieldVar2: MyDU = Case7 25 + +> exception MyNamedException1 of Val1: int * Val2: string +exception MyNamedException2 of string * V2: bool * float +exception MyNamedException3 of Data: int +exception MyNamedException4 of bool +exception MyNamedException5 of int * string +exception MyNamedException6 of Val1: int * bool * string * Data8: float +exception MyNamedException7 of ``Big Named Field`` : int +val namedEx1: exn = MyNamedException1 (5, "") +val namedEx2: exn = MyNamedException7 25 + +> type optionRecord = + { x: int option } +val x: optionRecord = { x = None } + +> type optionRecord = + { x: obj } +val x: optionRecord = { x = null } + +> type RecordWithMembers = + { x: obj } + member Method: unit -> int + member Property: int + +> type UnionWithMembers = + | Case1 + | Case2 of int + member Method: unit -> int + member Property: int + +> type OneFieldRecordNoXmlDoc = + { OneField: obj } + +> type OneFieldRecordXmlDoc = + { + OneField: obj + } + +> type TwoFieldRecordNoXmlDoc = + { + TwoFields1: obj + TwoFields2: obj + } + +> type TwoFieldRecordXmlDoc = + { + TwoFields1: obj + TwoFields2: obj + } + +> type Int32 with + member ExtrinsicExtensionProperty: int +type Int32 with + member ExtrinsicExtensionMethod: unit -> int + +> val ``value with spaces in name`` : bool = true + +> val functionWhichTakesLongNameMixedParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int * + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int + -> ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int * + dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesLongNameTupledParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int * + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int * + ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int * + ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesLongNameCurriedParameters: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: int + -> bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb: int + -> cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc: int + -> dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd: int + -> int + +> val functionWhichTakesMixedLengthCurriedParametersA: + a: 'a -> b: 'b -> c: 'c -> ddddddddddddddddddddddddddddddddddddddddddddd: 'd + -> int + +> val functionWhichTakesMixedLengthCurriedParametersB: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa: 'a -> b: 'b -> c: 'c -> d: 'd -> int + +> val f: ``parameter with spaces in name`` : int -> int + +> val functionWhichTakesAParameterPeeciselyPlusButNotOpAddition: + ``+`` : (int -> int -> int) -> int + +> val functionWhichTakesAParameterOpAddition: (+) : (int -> int -> int) -> int + +> val functionWhichTakesAParameterCalled_land: + ``land`` : (int -> int -> int) -> int + +> type RecordWithStrangeNames = + { + ``funky name`` : obj + op_Addition: obj + ``+`` : obj + ``land`` : obj + ``base`` : obj + } + +> type UnionWithSpacesInNamesOfCases = + | ``Funky name`` + | ``Funky name 2`` + +> type ``Type with spaces in name`` = + | A + | B + +> type op_Addition = + | A + | B + +> type ``land`` = + | A + | B + +> module ``Module with spaces in name`` = + val x: int = 1 + +> module op_Addition = + val x: int = 1 + +> module ``land`` = + val x: int = 1 + +> val ``+`` : x: 'a -> y: 'b -> int + +> val (+) : x: int -> y: int -> int + +> val ``base`` : int = 2 + +> val (mod) : int = 2 + +> val ``or`` : int = 2 + +> val ``land`` : int = 2 + +> val ``.ctor`` : int = 2 + +> val ``.cctor`` : int = 2 + +> [] +val SomeLiteralWithASomewhatLongName: string + = "SomeVeryLongLiteralValueWithLotsOfCharacters" +[] +val SomeLiteralWithASomewhatLongName2: string + = + "SomeVeryLongLiteralValueWithLotsOfCharactersSomeVeryLongLiteralValueWithLotsOfCharactersSomeVeryLongLiteralValueWithLotsOfCharacters" +[] +val ShortName: string = "hi" + +> val it: System.DayOfWeek = Tuesday + +> val internal f: unit -> int + +> val it: int = 1 + +> type internal CInternal = + new: unit -> CInternal + +> val it: unit = () + +> type internal CPublic = + new: unit -> CPublic + member MInternal: unit -> unit + +> val it: unit = () + +> type internal CPublic2 = + new: unit -> CPublic2 + member MPublic: unit -> int + +> val it: int = 1 + +> val inst1: TestLoadFile.ClassInFile1 + +> val inst2: TestLoadFile2.ClassInFile2 + +> > > diff --git a/tests/fsharp/single-test.fs b/tests/fsharp/single-test.fs index c2ca34e092e..a365073cbbc 100644 --- a/tests/fsharp/single-test.fs +++ b/tests/fsharp/single-test.fs @@ -208,7 +208,7 @@ let singleTestBuildAndRunCore cfg copyFiles p languageVersion = let extraSources = ["testlib.fsi";"testlib.fs";"test.mli";"test.ml";"test.fsi";"test.fs";"test2.fsi";"test2.fs";"test.fsx";"test2.fsx"] let utilitySources = [__SOURCE_DIRECTORY__ ++ "coreclr_utilities.fs"] let referenceItems = if String.IsNullOrEmpty(copyFiles) then [] else [copyFiles] - let framework = "net5.0" + let framework = "net6.0" // Arguments: // outputType = OutputType.Exe, OutputType.Library or OutputType.Script @@ -304,8 +304,8 @@ let singleTestBuildAndRunCore cfg copyFiles p languageVersion = match p with #if NETCOREAPP - | FSC_NETCORE (optimized, buildOnly) -> executeSingleTestBuildAndRun OutputType.Exe "coreclr" "net5.0" optimized buildOnly - | FSI_NETCORE -> executeSingleTestBuildAndRun OutputType.Script "coreclr" "net5.0" true false + | FSC_NETCORE (optimized, buildOnly) -> executeSingleTestBuildAndRun OutputType.Exe "coreclr" "net6.0" optimized buildOnly + | FSI_NETCORE -> executeSingleTestBuildAndRun OutputType.Script "coreclr" "net6.0" true false #else | FSC_NETFX (optimized, buildOnly) -> executeSingleTestBuildAndRun OutputType.Exe "net40" "net472" optimized buildOnly | FSI_NETFX -> executeSingleTestBuildAndRun OutputType.Script "net40" "net472" true false diff --git a/tests/fsharp/tools/fsharp41/net45/providerDesigner.dll b/tests/fsharp/tools/fsharp41/net45/providerDesigner.dll index 7dc9ab96355ef86883407576d8242eb1b7c85aba..dba6bbd4f9af3a2afba0a370ac2964dd52bea07e 100644 GIT binary patch delta 4997 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 PkB$(6n>bX!_&WX{6>74f delta 4396 zcmZXY4R93Y8ONXJa(BCXce&fW-HUf{37eQ8NWg?7d`OT00a6Shd;|j%HPK+jh7v<$ zplB~qh60n)!_7dXWU72r>M&09C}bSlkrpr=sm3Wz83Y^ju<;8bO*K}EeZR6^+ndSm z{@(xp`Fi&*dr8|dXWLAS2tPq zv1NC9r=AUq9vuyFLNn3QnRd-T-Wp23$D0iW%ecPF`cgNnCH|O;x&p%0=%fy7Rp43I z<78PC%NdrbE+WOTVxf!xW7yE7}&a9rXUbB=GU z8;#pJ@B1>fE=eMF6VDiVw)$DcsL6O0|oL-XuOkCGVq8z2l@ql6F5L> zc1+@$Lp?9ggK$14pL$uI52b=~)ug-t>IIdmLxheBTA)r)7D4f39=BATtyIA4F@Zkm zCrTAmPT}HXYKO8EdIcR--&Cq0_b#sW1m?@j;eeoFb(LoYj0o~*+i?Y`1>BjzXo8>| zMrDEu7}XZUxV4O7vkQr8$ z$D2puY6WdkJC)Ut6m(Wg%5?xm+}SK`!a9gDdPcseb$RMw1|d@alyX(;CgMsi!mQw{ z?m8G^NUds1A4m$+-^?Yv& z91}EFzv0*j$0^0g^rkY^yAgW1D36i0<3>0wXo^m$Uj)w5FOtAZLZh3%8IpqNu5E_T z1ywN`5pnd!YzAiu-wS$Uwt&hgb{6QJ*$So*>7CgM`J80B`A62P*aq=YP5wKf10pV>;Qw49HSHNhOodZdbf8slnVM< zugBd`F34>hB3cC}pl_(%P{)Yw%o(B`5E?CL!7&j>hp^zdptw;_=ygG6O!>%bK~msB zV=WPf8R>AsnB%jcdODp#hg-%Ue7}Spf{ajo`U?=A$+f1?x%A&ao1kYy-=)6-aY3Jj zX8KQn^KR}O32pKJ9`XgL8L^lAXQ5P}neiw8TTm%zYR0GjKSP(G)fvTsw*hAHG*4$d z9e4+#f}YEGHP8<;1bvZ_qrM9hN~x3X%u)3((8uVMa{9JScpmyWp&C9OQ_sT%fe(a# zKxjzNE8(R49>}w4no~F&uEF=fCnykkO??kkLGj2n^#U{s`dj3k0!Ruf$TIg6TT_J%J7;)zil-bTNfFv<4k$ zGNL*68V<~7#P=x;%Wda=M;fl2$DV)O>cnj+q6<4y(zx-ot<|7}=TbBY2O04aGQ#}P zW|rwPs*Grb23q zTia`>*vE*srs06?e96#ogi?%^-)rb-mVe*3fd!0s-ytlswKhEit8MLwej7I1TE8B~ zHd{j@g3sGp*cgL7w$^Hl#ePOH`u5uIh~j`PzG7tJupL-~S$Nadt^~8txqvpxXBvl5 zM*K4}4s#jNwyy-oVSb9!#PSrUiIved8PN$N zp~+ami0{P|tY<`jcg_k;!8jxG&6+&aitu?sCVAi$VUM7pqHEqYdG;{u_up{egoOVtX`q(|$U%4~_&IgH6f_7WXg==7>0c3xk#4-Lz;bSb68eM>*{D0fIRrG-+r^s;sD znyu(cyt(En2aZWBxIZ&sZESiZ(9+VdW&VbyrnL{ZZfL15wEo(3duYXm^=qMW-Nx1w z0WAELp2%767^Bj^WsA?WzVPCLv}fpbqWEW@xUIb1^X8^wutYH-6l~W}2Z^17B~BBx zwNglHk6=)7nUJYNnKa5`Sy-*YpPP5KlQc@OBsftrF*B%WOI)E~1NuFH^sJNbNi;Z< z)UrO^J;$lh3lisOPq&u-;=VPcN=cq1Wd=)lZu>;LB8x$qzl7$OO-Hc3(623#xwE}6 zPjZi5+UM`Xo{bmYPO`U?^rJSByq%^U&2FuX7n#Ht$r-gpc(O>U>BV>#rYFkwTyvI_ zej;MCA|4aTn50D=?C}4dfM#J6M1m82Kz4|YlxW#|n?t4RWV`LVU_IAmk}9utRXNeL zl?`wQkzykF Qh-YBdNzEXEdkUog01bp@&j0`b diff --git a/tests/fsharp/tools/fsharp41/net461/providerDesigner.dll b/tests/fsharp/tools/fsharp41/net461/providerDesigner.dll index 7e7821bdd450daa0b6088a4c79150f9d3566b98a..06631eb3b9874bd10507d4f58236fdec891eeb97 100644 GIT binary patch delta 4997 zcmZXY4R93Y8ONXJa=F|4$ldPkUbw&|T+#%Ce3*~~K|(nQV4xucAsCp5i4p+~5W~p? z#a^NeB{apv%>Ys}MGaGnOeb&@sMQX1B-N2>Y;lG`un7k12Oq&kh)S`~`|g|N)V;ag z{k{MH^SsaV?j?J-jh)uU1J>4U8JA}U9s;rTf+yXD5`YH*tj1v4__qB^J+F^LsAdCU zgltP&x~iw+gU(Dh`9d`6(YIroC);8ec&Mx&!8=gXKgNtP*D0E9#q_p7B9zg|v3dYw z6hQh5z@fTb*OKtgSed0o!e;%vGez>@Eq@xoDE+##L7f7*YrxO4jLNaY89F-kKBr&u zS#J3=m}#f$E$a-J_N2bTy)khg>26ccV)_+#yLT+yTQ{7<3JrQ&k}=B|X4s#!(lr)x zmKlca`UzFjCwQWX4V24kO*1u@KP&+v*jf;I9d$y`Z|O6Sry1EhiP&vVfTPRO=6hnVhpxgeWqZBqzG{i^c z7RN&POwg1tw$j&h|r?M3nLs(EUrwTzCoazMSaN3p= zH3GvN_X@F0siHK;1wF{MGX_aJxi%!|BilxDYPm+1Du*>;G31-%OjrU-1Z{Wt5|%e_BAWk%!7QX>BL2T6;ASkGmQ?`g> z7p4L7O>!n|f-t9OH?S-76qE^(U74q#(jbW~{?ky!iLJ#d*VC|9XkBWXYYQ9@aqp|! zaSI$1gpRK)Tj2PxCjE!#l!)^>hKSA>6s7KO5%vn}eEV6Vo5IREYzFIO-aY?ZG=p0Z z>#!LD1_A4^88S_BCTxcsL9D?R2n%8jw!mzIq$ulf2NVnJQ#)KcpjOZgwF-AYM37B; zg|r5PfPJ8LKno|fGABtpB{Vjn4(CK1YeI*9L9JR9(Ir8lsN)lt4%*#Dhc9b2BxZ6_ z;fOZFtwW=rTiV~;zlCFhG=EjnOHe$O#i>y1Kb7w3zR$rt`9I09s9Fwt5YQOl^_+6-YCIHkPGY{VxQf z9N83&>L6sB;y(3jC^oeo^*U6T8frJ7!PElU5NtEGi1rPTeBvN^Fr0~+8IQ;TSb6{c2>7OXP0otgz}ITIACh!DC3Z+?bKwH zX0x)5(i9AFVomJV6r92+%BSC{saR!-i&PEkI2j)kKQ@|LqneDZrnXNVfnBE7qXzJ} zsiBsFy`~n>M&f{}MYK^U&tauSSv7ksK@4$Z6CTu3F`tvM+-X>7YJI*moXyGTX*5>G zIY;BlIOk}rjdO-@OPn)=Erv5n6LxDMY>%^M;(<78CLT7dvxVX8*_v>-!A#bV#L(SaRP2OwG{sZ z+{VdRi;1|G6Z_ve%|8))IMFw2x~b)1ub>d!@bYj#(7VwzCc?d}nr=9k)+|JdHYcN)d<@4q^Rd`;-tW)HC8l$Exvcx?lJ)6qyc5{Ig?kS0 z^9Vn0XM6q6CFyoHPbYpI>nl-_hu&C_$Bz?AcVSRJS-Ox>Y{bGZosMg^yX-UV9rk^? zYxz@Xi~VZ((-zE#B|ebqm1ox1S8pm>Ut3%AaAbXbRj!_1yGnndHr-#cWI<+wU&`G`#GF{GV;>z=OjGK&SQgHKetJCztWV1K8Jq(H?yWH=qqr9!0&7F zqY8F@^c7e`pwuLWAXSC1eb_I;ghjvB61uaA!X3T>-&lJHQ+*C)0rRF(%0$1f8a+-x zc2wzpr|;h}!|Er6#aWsZ-TU1A%c+WjEW16`S778e53Cv*^s)Q}EWZ@8_?mJ($^yx7 zHsxm7ZNsPL@phPg{JGqpQTiszKkO6Pn^@lA^t#rX7b0Iu#;`5L$d(dsTGhH6l|yY; zth1?}6tPGt&Ja?2RH6!I^bb2=Nq7e-zOing72++$ChZ(yk=Zycv$^{EvfUw6Vo&Za zwPLFN&WjIwD~j%^e5_{UnsxQn>o%-k8!PPirOmtIhl6@y$K*quCtcp6pNtp8oL!$T zJ$l)OHCD9kTI|BR(RTFLF1(7q3*s3D`%AZuM|$qjmY!_6K5kc=6Sbqqk}%m4MUY7i z05me!?G5>p4*Jd6czcYUQ5M?Rw4MgnQ207B=D@_bH)9q!JQ1_UyMOA> z=l(Kst%sHH1UyXT{y6GKb3|bYJ-b0#8rIh;-di=*H$3S&dW5x>CI+bEX*ZH%B`;() z?OExosB~7?L>jN97u#mj8)@ol8XwMddz}C>`5G@Fb!0V#Z=kShs&#lBSc)#|QF^v@ P9vvYBH*u(t@pb$^PgSyv delta 4396 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 P;u)BAQZq>4o&xDVbrNQ} diff --git a/tests/fsharp/tools/fsharp41/net472/providerDesigner.dll b/tests/fsharp/tools/fsharp41/net472/providerDesigner.dll new file mode 100644 index 0000000000000000000000000000000000000000..40cb04c3a2cff702c8cedf7a47cab9772a0629cf GIT binary patch literal 71168 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�Y;?8_M(t4g0WR%(Tpu~ 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 F{{XVQKWqR1 literal 0 HcmV?d00001 diff --git a/tests/fsharp/tools/fsharp41/netstandard2.0/providerDesigner.dll b/tests/fsharp/tools/fsharp41/netstandard2.0/providerDesigner.dll index c3d2de6083ba3305048580ffdf67fd3f59246a15..4cf009a4fdd2943b4ab16818d09a39ab7c42d511 100644 GIT binary patch delta 4997 zcmZXY4Nw&48ONXJIPUg7xZAzm!$S`|C>V@rK)_(cil0G?h*1nW#6TiZ5>$d02NTnS z#Ib6rfh?oOhN($#ni{8ro>iMB9qdG!Ol(40GvgRd!C;yXKQJXq5^MUr@4l>;WN&VF zfA9bQJn!?od$4!g)M;%xXl>n=c4KDXArM<1cv4*`0eBF=Y7C}iwH;XId3^#xH5({G z$h5Sjs(LCu=uCH$FGQmreFvs^GA)LIhsydv^xI%@9EPH^Lo?iCoUqr^hc-CsdD&ru zfAW2w2hj#rfjpC(aZ6#TpdAih+%gCY zI_U@!wdVkvzejp3VYjscx(rb&bW~vl3<^T;e0v3GlZ`1RxH?EH64d3&ptx;AKmCh=AoRzSKh~_`xxTtiHxWy1*n(wf!5<+<_jV9QP^w{T=3alkHR)VH++6qJ+uoNXU}py4#x#~)GSv6oD(!g{mQZd z1{g)C`;cR@YXf{{h|*~LR@?wXf+neqAm8X|ntGN3-3Cc)@f$%C#8#~lf`UppWr{d< zVHzRNBxl?vDB=|90d{4cf-)hpEAtdo8YHpBe;TSdv9(z3dK&f#txIilZGnR#?tOI! zZh_;1(D9XJ3v`cY(tn6fi8!xgnCOf_5$gUHVV|%ru%9KmDXgr+?O>h4yXT*a?cf%~ zI@}HcgMf9o9nwv5#_fP?L9D?RC=$dPY=JojNfFlJPAC@GuXeb0LY<%+Y8CE;uppcE z3Tcf70sBDhgceS0WloZIN@#3C9nOh3)`SiNf?BmIqDz885yvMk9kjcR4qw)4NKEIX z!clF8TZbk=x3s^xe+$P2Y5uB&m!Nnmi&LS_e=6Y*&?V@3|Mv-ppj*(F{;8g$kav&a z9QJSW{1qw%$%&Bzo*t+Z7)pG{^Db-_G&%7L&p)77(DKAQ?|V=*%}Dc1;xpd&p;FKb ziHE(t&?x9~Vw(H`tSMwpwlc5E{{m?`qZ5v|Ms38?ARB~o;7CM14FQ2G1M`Wp1sw_u zNFPG6prJrHeh4Lkyh*RiA3~X+)}$-)8R!)B@1!I0SvVpnZS;3UZy4lwadbfW2u=&S zP82x@mxOitn6b)v80N(4&Q(5!z|UFT^DNH<7b^X*M^MmPju)U)PUFaf+jyj}r|FZGnBe@<{~fK0})!4nTm@Jj()mn{pAdOzn@#r%+;Q?XZ^;6)Q80R1~na<0;L1;Cdnd&tdHnqj-S0K#<+E|uq^}i5^ zaAZ?7sY8%yiu={Cq1e=V)$34UYN*|SMpFxD!?4ZN!rC|Rs;MnjzlGzbR;_*qZ<|_^ zdK1pfjEq#XU;Q5pn_{ne3+N^4en&5AKDg&p0Tj5s@Hax$inu*h^SRwXPm zozebzi8XORQ?P(hgipUqQ?bev7pof9b22_Aerz(eCN&XTO>MtA3cF0LR}Emd zsiBsHeWn)BM&qEVg|#s#&t;`WST%bsK@4$Z6CTo%F^`k6+$mUSYW=%;~pm!rFOoV$`H9c@HrGrQk#BPLmhB&c{*6+*3Oio5Ic~}(V%)?^SdA~momzvHM<+gmRi?QZo*t913 z^RdaamfNP_9@F`NcM5iy&Nux9I25B5qPsX+G3$yn{U*HT`PN2%+@8DbIhISFt?0(D zJ?WNOVBb83K=yXWF9wb7C_@nRmfC|j%ln#LLpHAI&;H_-IAVQ#$@)|_-U)2q!aWE1 zd6=KKv%UW3l2kjJrxU-9_Lr#0LvJk1<;RJoyD_MrEM3GXI%?6EPRBLdUG|yw4*P!H zwc;tXMSr#8X$z)B;~z-&$}<}psyEGEUsqT2aCm(~RgRuow_1OpF4bRByCEDi4olXr ztpWYe@6_mpI?HI8{T$9a8Gh;abK{<6=h309pW7t6UujN2pF=$ZVXJ*<5{n`JNCe(I@wm zS}|FF=f#J;6|?WDe5__;?Yf5QbsN^NjTUzN(&kS4~w9bcs}jt z(K*}Rv|hb6l84`n`6%u9Hz+z<=^c}o%dC2&gkflaT383GDP1kpK@Fu|2amvda!K5i z4I{5Sc!tGXvsK^?KG|*rzg|8!HHcX0nGiHG!6ESd0>Z{u%&(rWZv39|Ab6#SbU%d1a;RsmTZpWXZ$0QHu6;mzoak)dPf?iHX<+r73$iCasdIIysWpIGgu)NZ<97Z^KlRK5%a&&IEVXOU{(#;LNvj)=Qq0 z6_Cwom!zhwgfdQNqzIwLe4zEuia$x+=d6V`OB73_daQ-FI1Tyd3bl~nfs?)6M3bjk zC3?I$B(9dzX1P;Z1qn`Pm4sLaP+&Qmg^gGT5k}97my|9~9n2&|>YtLXDcwX|VTn+z zzV5DrAx7@dlkRJtMkp&}X~gqtJw6T<7QsiV;C&owIenuBz0J_bX@ZdJeFAoH@@u)? z7C6RfoOaW(0gh9OlIaa;ns)>ATB0~s*p3_EG^eQ=rG6e*tX(33m$^nae-k7)(OugF zUvR2qG{WQPjoAdwB5N<`joAz`qv%nq3*=fP(#?Mc@)*&*__6mHXy#gv zw#T~-p5}4yX}fS6?BImbO~*EfjcVfG2_4{Z0cnKLQH!Ev`r8D1xOK5`iO@N2r4#Oi z3!LbLJK-`XI^j+jZCuJAFbZcHZUy5gu5Zc@v7GC-3=w2 zzR~J&HxYO|ZV}Ko)NZI_M0e&4(GGBp7Bt})kE27FaGX<2uP5{-CnG9->@^|5 z@u0qjh{KFDIHAw+nNU50PNBhV{SUrh!VXS)us-!A2+gvzrr^2M-#{Cu=Y!v;z6LQ) zp9g38Pk{3t%Q+I5e`3Ip!~6kBPw zrfm(p2N6y$q`e;KhnbwdOv{qb!^9Hmq&ss|{tNUmIwhSRvk@;qzeOmAjz{GSaFOGK zp&t<%;`CZ5A-)gdY?|g24u@*+eeiJ#gx`?g2bohWd|kc>jhy}#J}zH^R!&)Cza#Xt zMbd$>A>{+;}{9@r<d-A;gH5NBtX^X=@>U1j=o#RsR+qv$dt# zzhINCHE7?#4qI!}Zb8@FC@n#g9?|{{y|&n|-G)9p5cTh2(AGja;E1iY>WHCvqm9;} z0}Vzr=U&}`xs0rRO2IPQx!;k3E9SB1pJjF8wj|Mook?ljc-q!#P{4CZnt+3htP&!^ z{LyBXY9h*vXoUt%Lc`YDG!NzxBJ*3*d$HOU`!yfd+kvR3VwwDSC_Gmk=2@l1Ge)OUBMAbQC5DhuAx!(L*F{)F|zs&VyUgQX=zw(Ye%#(*lcV4 zS_s>04fQa-Xlo&TEcV!1t3D3<8Aa*aYri9c1Ge~@o{qzIU=3#AEnB;)W}tHcZPc1+ zJVqEf=No zl?B+(i9SXP@FF8?y9;oDk+t0gILOFqrVwG#4{aBs$cQ@c4;G@%h&or-xQj41$y$Vk zwly3q!cyB>k;#h_Z>t|QHtMR^|?p7Qc;?)1!fwmWIvq*Ecn-d8BoHOMSli*QPsy%h#`40~KpG zv?d8);;*!L);h;nnf@(Xc&7EGmlvcwORwXF&wc7Pb9T?0n~G|YWI#}DS5O0ioz)_z z0m>R7sI-Ssm0Sj-YfvhTGGFFaGymttUF{@|q!y`@1OwAmNm=3wstxG(0MfHYz9-S( zbW+RwZ1)_eLN7?1qdnEE`o;aLNtL1;K}c7NtlajAc10Fdn!kwV7Y&Enp6^$dh?cWG zKSywnUfSm$!k&-i-$Amslk}rDp1hr=9nEg8h!q&b7tR{Bg{@@aWYf#BE=-M=?z!$P zBmIQ=W`#Wlk}*k(8rb3gJps+aCJ3vOd_Z=HjTCR$JH{c?b+X;|T`*thGDwv-x+_pc-(~C3Eb@ClA-az#r|6c_CT%M-a#-7YH$BD`N&U;WlIg*NLj(w$mERYNY QAMp$npHy@bxF=8e4`i5T+W-In diff --git a/tests/fsharp/typeProviders/fsharp41/net45/providerDesigner.dll b/tests/fsharp/typeProviders/fsharp41/net45/providerDesigner.dll index 569260eff757f295fee0594c4f4c56bb335e5f86..f540ed8cf32ad5b46eb89715eba0cd3aec189aab 100644 GIT binary patch delta 4995 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 S3LhAczVJVk4rem} diff --git a/tests/fsharp/typeProviders/fsharp41/net461/providerDesigner.dll b/tests/fsharp/typeProviders/fsharp41/net461/providerDesigner.dll index 3e45a70c53be0282463188d0194f22c8312f0784..aae5e4c48a3ad9314414cad5133420ed210f6a2a 100644 GIT binary patch delta 4995 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 H_zM0XY<8>_ delta 4393 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 D;pRyF literal 0 HcmV?d00001 diff --git a/tests/fsharp/typeProviders/fsharp41/net48/providerDesigner.dll b/tests/fsharp/typeProviders/fsharp41/net48/providerDesigner.dll new file mode 100644 index 0000000000000000000000000000000000000000..1bb7a5e8dac5b20a562994b07679778d91c47557 GIT binary patch literal 71168 zcmb?^3t*g8mH)ZlydRm&E3Y<5C#5aZOd6U;Ur-?Fi-x{m&||2e43MHH6*g{z5b7W#fl z(Kb#)Zqh7gX6Z|>qF@Q(Z6XOGw7~xJ0$*ukXwOLIzzFcpAoN9^v~@!LAosTB^0_`_ zi*C?S8XCs6=&uXfx8^c~Sul#O&{=E{pTxJMsF)-}Y*+lTZU(t%JrWP(h^&&{2Z_Er zEG%yeyxYj46@Fuu;W!K#PQ!T^xU;#@IAmR!+#H+hre8oJkce@JN%16Ls--%I%dqCo z!Ylnr^r62w?*{anWDnAT>R@WvK8f;*Q2t+)knL4PyR*NtoxDX|S&<}_S~G4x=fIY!FsOvaFxa$S2KNQcp8 zwvm_GrC-=a%<6Z8b*ekyNmhY5?r^$7&U`hJZ^W}u+TWZz2UX{5k-VCS%XdsJUvHI{ z;vv^*1+?b&+R~;ZQGcqLT65nj&=PL6teG|%**etN;?5y}3^(U06d>wFpK~*tTXS`w zXsu3{o^KrDHpjD5xEc7=G^0HCpTBv!;m9|k`&eePF^b+d;%_)OKaVitZUznAuW9pj zy2VkGQq?GMS#As0Jq>b_P$p$$Aqf>+mg{5s^ojJ?Tn}A`deGVkOI&mSNVQ+r+OpCZ z;o1Y${=`=fF8Eu|A-J0}=$+%JPPx6=vmne}ztdgYw{`1Q&EfDIf@)6o;Zz~Z-E54o z#uYUtm+z3Dx!}tsTxdYMk(>#!*?P16vAHg~4=SN8TEC;L>?q_Le)pnVffzxrm_wT& z;O5a#M5yriI`*2)S*)9bVIj?mxt$T0=o@iswb9sAOB_UQCy0DW!sGqT)n*f79=9|l z=5XkrSC)y)nVvic3h{TG|-q)+1tg|+^lVEx(9A7b4Do+4HKjtXB9 z8gzR*229P*Gc|WQwC1jeQ!B3ZPeM^v+^H4U`cF{Y?a+#Q&@Q&VsXp`uR#tBeG(s0e zEOWQ`4L1fJe9MhS5?x{><47a&ai1gdvAICUIA8+DK%ty#^KrfG$D%+p=@UyKqAey2VVe9-H$Ucm?;WVLTq=0qy)j zJxnUR@g$m)Y6;}_+Tp+#mtL6@^JV8k(40W-b~`Uc#zestTCi9o6*oN({w+<;ws8Z| zNlv5sFruOJw8hzglZzwN`VS*?qKO=4eIa)e(bJ!D8~LxITMr|~IgOe(Vuul;xLfH8 z!`@r2Ah#bJ3x$L0anUI1fCEO#v6~&oQLV*D&D17E$FXMyz1c+&lk*rnow1K3 zWhT>|P~j7A=I}DdqqCbM&Rk#uGwR+|u3|Pcj9AW2l@MXgVP(s*pQ7wg8M*N|uN2(P zQxV5+K;7u-GVPA4H>w(mrh4GI?Ccf3{5NFe*2I$-La8h!VLzI`7?+kA-t76f##~qo zT!2JPM>t9m*IgK^DtRFYsUN1EipQKksq&7(Y%1oCxLdptceV?8&psP*&Wcj98)>La z3KleIA+-$<#t&40o;Bl6>%q*f{=PF_1$>P^^+=}R@@WuKyikX z=4(-v({N;0LS_;XCxt~%Aa@S?#Kj<8?Y?>7LtG6n0Bby6xA#ueq@<=}Ot;o)?Jsy> z@TrJ_ccCuyYMHvCuUiqw z;tr-&C%c16t_GhUEvas+a98UFfTWt^P}%g6*>uscWc!I`87zl51F7cHRoxchOe3fGgXDtY@F~vFolyvRU`xY?`}G>vUt8v6o#3 zP6tPy^<1QEd=egTY!D6|pUy?w(9vbu=Ey%G&R*;cB}PLFw9&Yq*+!VM%E;mIe)ik8 zQLSks7M|P)Mc>*+o47d>ZN#zn;Az_y!j1>prr_M?*#R%)igS!*;%5s)cRYzW&BU`D zR%mqOzjtQSAPk!R#I|8QAow)4NuJg=GtJ;<`OmblX&e@x+|0&#I`xAyJJ1$34(hk; z({@>D96;O3=yfduz+1%u7lclT157%`pfnCxF$c3)nYs)|;wTh!W-o!NJT8|bxXTtA zBb-u|@n&n3vgGF6hq)Ur1#c4aQjY94Bm*96&f-196)1;ks$5+%|L!#o@xrb;xr2pbR!X&CKjTV3PFFAFV?~i_-Z)txFL|-|o3sY{ zKc$yjAG~M}g45SurreX6*_t=(-o`DZ(= zfqfd?cwHxb?4&l>9mB7zZ(%I)LL3tzujhh#J*RgBGPm4ZMmOye?!*}6Hcv}5f2Iu2 zAzrU#cfxpjsVB*Fv+Oaj>>&778GRfrLB}YjdF)MFrlySQW_Q4lHKj*jvJdijV^}R` z9b7-$uZ$e0=(a;(hub+V(VJ3Ezr&q>p2v_3sGv9hA|oz$(ZWd94*{1RQL{YeU~;=; zoS$YSd75`lZhsQ{37meEUvpwQ<8^X#S)W4C<$f!h2cf!8U34>Kql+Vs{I8`+u!A$% z52;BQKIP2r;$$6?No+Wh$UfJ? zEZ{tx0N{Nvm%zEu?`^Md&7I}4MnG(?Lna8A2j^ZaRL;FT?&Mx>j`(pY4_7#u$2zm} zBO*0xL2_<{G#8L`YwmKpUg*UQV*R*%(C@=`-WkrVxJ~xCRco#=l0(zN&Hrs=2Q8z` z0wauuVr$BnUyeX*R~ zp&o8@vmZUUBIog7S6OtzO9Wf(vuuSS!?wc0M2s|>udeDO{3dlcB}CV?n5>;i^knLA z3sTL5Gel0F%5ORt8yR2i~tsn*shuh8^t1qp`BMwA1>Fng zm={(Ixv@#*M#S^m+3XQdabDcaH1qsso+Til1q4Ju32SZv6x3mq`w_iIaK}i z51AetaL=jsV4iCU=dMGE-1A)Q0Mxk}qFwHmU=m|FB^FPqxMu>+=Re60vf7Z}&Lwc@ z?@$_#&Gpe9(BY`4*NnIaAv&e%{UOh^uvMv=H1^yA zhmY_M4MyNytiG3186`vR=IE0OAcvq)i;%BD$|QqJQrM?10~O~!PTCC3Fn&ZPf|bZT zj7;l5r`DUr7{P5K9OF2Xe+BK5?*X1VdFE{lw#?QZFG4fsS$h~K?>Q-f`r`R9u;5TQ zKhCVuzR7v-HS;`l3gs}GBgUu!*Txblg2~*GM7&NR^c-P6Iqp_L?;>bPUK~sy2EhnE zo9lhd<*2?B;YIlzHxI;|)e+~`nr%GFYqr&FRrzj=Y9uI)^wIF)R!-*OUH-%8a5Cb`--F&mkU=-6Dh!V=|9RkiN|wZomWsK&BUqS% z@9;eE`?4QKQCP&4ML_YhIS!*fUV`yl$kLmq@EIB6>t&AId{n7V%y7IZe3-X3)_lkX z6=zm!lI%3OJo~#J_oR65cM)(52&`RL_uLA|$)fFktLT$EAVD@FQap>kg#o5DCzGf; zc^k0gM*-ji(z|p)&4&WI&SQLqjt#QK@18@&TG^&p0k4dNC9?9LP3a#zrY}}(c#0fJWCdTy73w!W=M)R?! zG}Bt+5GV2=;vSF8$;~+<`B}{~A6c;60=~EoFO(9zR`wHw%b#&bG7mAQcoxsbZtF8~SPE)R3BsKB5QU-i*aopF@ zx6R$TAHn?1dH`ZHeSr&J;LhHQYan?a#Cznlsin!Cd!8KD%OCN`20N zD^()5*-oG?+-v^x};><*0kXR+C~3VIi~FbX4% zHNLtW$*=Pjo4|e4OB6^bOGY zUfefz{spF9Zr?4{ViVFX~YW}Vg zepn0qOmk$vt@+Uw;Wzc|7Jlf%?PQI$km^4`cQ*8m3u2<-Ci7_JTklN7C{%MIxy8nQ6 zUnzB=ZnIx{1V_JcqD;SBEctv!SMVdI+5PfE)6S+Jtt#Q4Eq=i?yI+26@|%9Nx`bc% z3)Ad=d4~C|wzliG*6gtF%NO;{Pq=++L>}&Gn|-quIAY#9A=6(~YXQa~ChTa9T3y3z zwq+%*n)X>Q1z{gfl(EkS$uG4J(`@^^P->rzCH&exOtbCt^HTe4D&g1mVVZ59Uz+^i z)xNk{_%F8F#i(uQBhGICee_dYT15IGIwk4H}-m@BsP2xxntjF7Wyh`z8vbn^WM!D*I_K4 z@5qg1vXgnE>N+ut>mZ3~@dewDTK{LoATj4=kUrTpf>-)7#pQ z&DYpYX5+RX8gN?zers)2(iS`n`deuxBG|0BLQ4`Z~$9Af{4 zuz!oh112W_9l$#L!WhTAeTd6Avi|{y8^_G#Nj?jhe2$aNkc|<}vVY1K=i!sMOp?vS za#U-ZYXM z7}}j@j$1H!K|^m|^G?@TaPfw`7oypXJZMg80&De;@E+#X|qB zI{08*A=!`5h4}2jry7I{@Ie-x#0O>QT;Q;wJTKXfD}O5RL4=j^4qTaUEdPj|%)6pr1U(N#r&egGkRo+D~Ib`Gmo_4;!C1 z{PaCQH$4v?H`O{=!a@h9yCl6v;AVk`9J?HDdOvdgbeDrmeHU~;t#y6g*h}3m*6>>{ z&fVZ<$zK3GMEtCzn@+h|<{R!mxZTv@;q-+bE_=|!oF4^r(@%x|hS0C}e%=VtZC>Vl z$;(=O&G+{{H@)Kf0br9q8}Jn2pFP&t7MtKt7Mt&VU}=Rn6>>WU`To}L`Ndbb9t0` zcElJaKl5s^Q!%HC%Qlpr1x+PNKcKPjhul zxoXN2arC~xbUkbM?RwU5YQyK*;Rvw;<3v0yL3A4|qOqgEj+xIUqJx3m56p)r72PzR zh>Go8NXO~Du-t5X7;7S9MwnWG#c>X(v4w*9vA1(M!(we0)@8Eez!4o(NoIg@OQjC3E9?srj zbQvz(!#YN;nNi}S55LBm!gMFF5cW`?As4V80*hj{xks>H0js9@^m&o;iorE3qI(5< z-Nfz_%<1477STURxk?P>DRdtFvtTX28fh_oRWRJg#filE^pIfp1Diz`(ANd~A+Tn| zkmG{A1gw?1=o^CZ64~tN=EPme3=DO##+SOX=H!oeiv&meF?wYX{a&%jq$} zx&>Q7PYAYJu#4z>f?XomO8S9d1Hh(J58@5i$4}MHqKom|5Mv(#){MCIj9`BUtd&;N zvx0pASUatup9uDK!Pe6Af;|pwI_?+0AlOfU&7uwTbHRQG3}+qmOTl1h$lOFP3Kju2 zA7^a87OVl-6xu?+5p1?#m(a_C%>#BWT}rPA)+>2i=}&?k02acD>Fa`B53HRoqdyDw zH^45yF7OS(?gh4leNM5zJPxdhE+>cLw*L~?6xvCC!4%@#3XGo$!Gge+U>*ny)(Grk z?3!bOodaww?WQWcd2q!8Pihmrn4@Ce{@!JC{8`el$yy&U`iDE^9D z0jE~HAM}|OYXKKjFwgRePlA4lP{yOoe{=LXzk_a%a_(m&tu_2glxx`$W}b(|5!JVM2jx*x284hpg~aFfM-YC zbXEOYr<<;>KL=?|(a>LUJ19S^e?M{`4Bipxpt~D3s2Dxiu-4f@&oulv>PAan1l-!V zG=@mtI0!h@_+`L@jhDDiN9VG)B9^kA8ZzZmpp=)xxp&z7-;DgjX*mnh{yEO29ujy$ z;Ex18Ys+~s_`FbVfc|$^u_kOo%r#YPjc->ShW zu#jGlc!-&+cGSI1DcU30b#$Y<7q%ZZvA=d_fE^I*5gPXF2d4iX2|nbx9oS$K<1A%1 zdhSz#Jwg|I{tff#vo`h&W~BP*%=rjC;r*piNqnDyG3EOMu(=xZR{CB8w%EiHzBhm^ zGqL}0?^l(y-NY9AdV%$u*jmAcHAcNYr=yatu`$0ROdl|@8+}nnls;i%-}2Q1`;=e~ zv|)>i(=oxS={o-cN1W~z?0UM>f4!=vhs?Zx@^5ie)5B)oapcv|lP314|8`&}1-s5$ zAIJcEO|TUPTd;=0XK~wqL8-tKjv6{@W4EhXy4S?+4JclGY8u@n828^C*EIT+ zna5HRbdQO#lmtCwb1rZt=rJ>or8LpAcHXP5CR%(p>vxm5JRQ{#W06+I)`AySH+wcOyM!Vy}iT@o%CeFa4p5KXSd=L|rCUE!b8Q zn=aU}iOm)4118ob*ijQ(AL)gZ<0iI4@_wu_@5dzXH520zw~69yx^^B_o2b*q{Ep4E z*~EBMT|y%!#-r*Ix=mx=y%isKZl!xojK}R(dfCKOWsheo#d*tv_N4;1Bd^QE*vq%l z2Tbf>_%`1*LI@PjM9K0TcVLXjNdCZZol2o|eFs^ni(lVt9{$ zo;9(lu|F7jI;Amh!q*kd$-jrko1smsK;R}Rs76XRYvMB6pyWy>F?UcuNBy90;msF`aDngR>}!Qj0US7 ztN1kCYhr&@^=8F=blk*#U9~9mW$HYaYlzWnRR=>~r|l*duKrBu5gIhHMD=$+TOfL-(85^eO)X>>-W$J~gE_@*nh+iTw%Kv-Fb5dH&RC zk>}_&!C32#$WN&D0@iwk@!tA1k>}|XCRSg$Mg5G9nb>Xh*8}^uiQQShE%GyZ(!{=0 z|88I>1>@QGN?z@+J;2*H*~+5_ty=bz>-~DLyS%|tdIVd=9<{g8$KER9W6AmKMU3+ zSfn=CxW)ZD+A5e{>HLm*1!K*gN4Y&koG;Uu&H0SEA~fPY3Dr|`x9-o%c=N((E&TJHvSrYz|I?qzfO1Cc^hK? zO%K?4>Dd3!x9z;K*q`agcHUjF|E1ULyeDIC5GHj~PZfWY_>~piN40TM3+=oS9G-2p z^R_5M_1bwKiyLZCFl|qVI%0Ev(r~ETia4F>;i5d3da5YTt(;4(+P5f=3JS&+{8-$h z_#qM;sY;J|RhP}VA?8)C+j)1z0_qk!@5xwD9kugRyh0tf^J?QE z^`xCQ60cM*+j(15SiNTFeJmbU-em>NA}S#m_w;At5w%b--G-RzwevQ_;%eB=OUJ6z zn4LEkt5&zzd3VKX)V+4zld)QL+|E<+I(5>{tBp@lFWY$|@u@1j+_L8_|ye+CxEw=NXk2b1hf@xb%Q`?I;r>XuT&S`3}h%=#%6mcfhO*ZEv@r1gqh;xRz zr-*Zgy5Ht}J~~4^RKz(`JypaxQ$1^Q-Vm9oP8D&^Qh&BNKWWTT!4=$gZTYiRLNM-? z<?Yv*~ZW~&i9Z;P6vuCep#s^+K<2&OI3s*VcA5%avNR`sM{SVLnT>rf|6jOVxx z^|FaQ+Q@nGzzJ3}&of_a&o_1M zh>y!&18C6X^vC^7za3EFw1?pp0ft&;A+0G2r$ZC@nbXSsL6CEw1LRX6*5pAzm$U-+ z3vin4!MPBg@xlobzqR-nprR9?E1ZFF+2U5b1d5AZ0d&)AfF5a)mvDRy{)2#qwAVrJ zL)uBV0lI`!=UOtE)3OY6x`b29oXlBDsS6i$V>zX{#gcb`vz%mIO1G|9!sNav?xU|q z3iW;yX@|7eYSG)blJ=t8qby+@&?$Z4!U-E&^=3e;uYWB(EZHembO%VT{6~cUgOm902F1YX z9JlDpNIP*l$MSyyXi0l(t9psG`pfyxY|lcxQna#~Mlmh(lR89|yw5#g5)YX8BJ}i*wkT5Cjmk9GS;pezy z@w@?wL4gLA69rWC4+1q0Yo&0y%W!QY!>s}@7uY9okH8^;d4UH7UMuh~<^OM~ovp2C za#~Z~xlDsNo>-FqQaQz1>7F_wZM+fCAWrKZbV_e3xUeU ztqqKxzos#7Rw;T#ZnCE!^Ome%EX2&F!0+^SypA96e_oR10R4#j6*uhW9SeU9H# zHt<8o>-53EvyS`Jy@6jL{m+2`^%aqJ0`QXtOWW@J4&d$1ry$|DYc}8(?84t&aonY( zU9*W#-ewb@pFS%(`;221TimCF|0Te`buShj#ucBx&L%#0{WEs3(wF*L&%AU-jAmBN+BT^lHl-SVqcU%A#(ua;DP))QAukE{C1FMDRFD+P{K&M*s7yKd(e0> zyu?3lI;#K|0$}E&VYp3(WBt!GvXejBlE}ufQf>s<=r?-6pV&_;j$1LO6T- zl=Q_h>4g@xq1s(}4_bZPbwA+cl@AHrVBB5(IsXacht-c&o-j^UKP&L1N+12ax>x-9 z&C2hfmM!W<S2jOSMs?Um5A69#(I3lOity7M>PN`o3_RuG$el^@fpTn6;4}Ev)Z;}4#)ceER z=r@2pr0V|%>8kou-fh%a-vdf(eQjhLonOCS_0T$`@pU%PAujfON$Pq@>Z%t?o#XrU zhaxj1-6HT+v0lGu+k~>ejm)N<4cEheMjF_QKGZNX`e(FjdDLk<({MvH2zVkIH@Gi4 zMZ#i%FX67q4C5tg3ceD3iDHef0X8)LFW}jYM(ibOYxDq~*BAs`-WZ9U68>dUcA1Qz z)skK<>CKYfEa~l%uE)OSMx$TSg91kcUL$aZ!T0uB4ECscY0D9zcS?VCism;7WwB5e zODk>@$})rR=Pfh%-rj11y?3+7`IOc~TDsccnD8m#-!A;yh2M)e8Jcs6O?3r$ezEpJKXC=sw|WG9lBOgg#q%W}9i2)-62ULhlxOk9wENID3TB zBb2o8q=k|eN}u9(4S;jMb3o_=LLV2-aiNS0En_maP8ahegpv@- z454%hrAsJHZtmqKHzwSTPSIvq=k|e%D7O*g)*+?_{4@jv7t|F zD3orYbPFXdl(bONLKzpzxKPH0qWq$vUo`ZKhC*o)N|R8!h0-mQZlR=wk`_u@D7^ue z;H!qp} zxb`aMOb8_*lrBkkNqS7uW0F21oW}$n7y5CbKP;3}0;xLhdNty#mf8g#6L_+kYdl%a zHO{Ev+^!m?bk#6rnNa!#jtPBC=tqQdOyF^$9~U~+ivG1CtyZK7rAsKwgwii?Oz2}m zKO&T40*?#*xX`Iiq}8!BXB|tMA+Ss6T|!?blrf=<3FV}uPf9v5g(W1Wu!LSo_e%P> zq>oFQrb;bSnWszAU6LM?^q8cNOZvE^6ZImqUSvwTSJFo%eN@sXC4ExTi3Z_s5PnJb zO8Tgzk4l;vMTbV=k#w)5k4yTvq!ZIb&NSv3lk}LRk4yTvq$weC63o-p#ObakP9K%@ zQAyKu;h8RVNxE0kMfY>m#oC2)${wHAE`&+>20-x|P&#=G4L3EA4K#-pRj0Bl;MUXisQ?>=qcM+bAT?#lT zoUMxaMl(0T z0I(96fhSNa0jse$HL#Y70Zzv=ss^0}dmGrP)&ZVPQvs8BKGnc;jMD(;;Hg1_&HT;&kXEwKYT8X=h$(^k7t(0 zkzS$ZA-z~F0K7mg0&G|30d}eL0q3g=0XtPU;1abIaIRVoxJ+H7_2?iby^cc0_w_T28d z%X8c_%#8}?+Kp_ zS4O%b--s-V9*o`>{eJY^_bq6WF}@2>{MUsOb-1wor|4=) zgKYmrsLEhOfJwd8_*~Q4@Z@m>-W9=f z(~yWy9lUJ{K2!0j$EN|GMtr8>lfb75pXvCVh0hFpX5upopR@5v;xikcW_(ikwBR!b zpH_U%!DlW$ZTPg~(}7PXKJ)OIkIw>p7UHuApL6j!51+;OoR7~1_*{q&{|(bq4cwk# z`e6gNeVBfX(=wu*Nza+|9OxM0pug6@w#>;%8o`o}%lAcJP5)5M<*%k&tC{a=`bahN zT}>Zlv(Yu6b3NC9&V1K^&V1M41c~{sp^ppSwWhplArEAVsmF0Ti#PLCNbuQ8%bBgT zoY_jtnXR;(*-Fbvp&ZwjQd-V#rQ5k%>2~f`x}5_ieZZs-fX;diDBaEh#pi=Wdrf(J zA&>Rn3q6=`FZ5vj_d*X3t;vk+$)fFMUIC@`X?#0=W+aodGfOB^>5|cb zL3Ade4(U}|GtigI=Civ-T6LecF3sjL0Q-gq1~a)$ncV(?z6_dd>aGhFu~N^nf&6eb z&(@+IQ*3|14vWz*xslP~rTBjS8N(BN=>nQzDPpVuGH zRylvpJX$fxUAZEg+m{|0!TV!0gB!11PqWQiNJ~faBiVi3BY4AX=je!x08>U=NBf*M z+B`Z8_gP3w28Q|}L(61@jc;`n9G^WoXF1tLc>gRtXbu)sG0209d(#xx26K!Qd3V06 zZQlGj9cBZ0q-BTDmU2vZTSF|yP05$#C|izlnLO0!YMbANdWw+tVx+AIVcFU#q1}Qu z%Iwb!jUc(OgG0$MQj6M|XKe<9yE8+&)iOw%nA%x;Og)l)vCps2R(YGgqX0*3kPP3q6j+O4{SOCrUiK+8l z9rHVjoo^nQ!7$UmbTFGo-{xsII<(Z4xY(kChz0XeDY(Q3Ex8NlqQ;5D1q;F1Ke}(< zL72B^Xn%HZrmM4Uf$fa*XlX8kp(K&A&vwGDPPC+)8l9bUQFg!-gojc^wk3ET3tpOr zEv#PaT+pEjmkx~V>CWx$>RdQ?()3~4qh|8?n8lxS4-PL+4mQ6ICKyacmyYJ-1_NdT3)N-OtM4zjk}-&gIev zY5Bh4k%Jg?9IZKKkv5#vx;itodt?uF4-aRC`pt`uH?%oxYr`Q}rp-0!;bFv(f_*k+ zM{|8VVdZ5a(!phEdT=nmIV*a|2#~5KQ?*Jf(?k7;*c(TOFg>FSSxu8>*ONEZFCvJ& zmSy?|)BI+wbc8vr>alFP3-y<<>@MTv7>*$CxFkI|n&H&MQ6OU_JCq)TCynky46(JK z&!lZqrw&LtkdqJT|Egu-#1CJe{v^Bd}4nL8T2an~iMGKTx znKa?yJ*%-I!i3P1UzXX0rAdhPaEMVAevcMoA?@?uL?HoG&q zwb`L9`Am-I`2xR{xg?jpN|p#`$YP^ml;jI*hn~DNd~N2c0!^%)Ux>ARtevVEObQtGoXoe@O%&g!eYfO$uRu=Ukgo(OlSu0@K3=`<(JjaWzxqi>DVp2iW)qK0Hk*eLM$wA zbdTn(DU=5C%X28&Pl)J9z|hu0A7Lynjzc>w*=cLcBWHz6-;1#|Yo5XPt)!PF-^ z7wVf7dUM(ANWmlZ9I7?M!eJ3&)xb#C!UdFv@mL*RB8h!Wfo#>i!D@LCCb#(}lSC!x_T5MlJ9pZTqD|O@&AdF`&P4mQA{S!i<)j^`O z-EAz|$|>zS&au1iB7{6^>N0m|JWHWFLFUz>G>T)mIq8Xg3wbmmYgn0P&8U~nag>v0 zuSn-du!9@IoRKrPaH!D4d0AoQA)wnGU6)&n;ULwo#1dm2HsHI`n8ifC z=_Z^}I;Ck$Pyb>dlXJzuAm%|VP4ryKq6@Pq?4##2xY9soP&St=NDwO^2!FRHa$gPQ3j z2N49!^!n@oo5jMcrKgE6UAIOrR0W6Z<$B>Ejm88~gjyV&wIY|@SGq`Js!7=mCn*~R z&BvriCaKCog;yA<8sy^J1)?0{eZJgbhD{5RX#TqChn?^njkpjbJ=}nmtc4rIa zP-!D*E9XJEiOZ#~_62jL`>lFKCS>VF=zdv>^3w5uxPZ)yyc8J94y_;EIfw-nWP@D~ z7DjrQc|vToHAlV{ywP^@i5gMQ1PV0MM=X;fB7(a;RCLm=7c(6%-^B`OHddGx=LG38 z{x}ZHauE9?9EEX#$(5Cg5vGZi+STi>wAR{1eYr7xl{u=k9fmC)DUp>We0osl4dmC2 zj&yZ&%rDz<*j8g22Z!#y5;>ykgqrk5SE@m_)!n$&Q6>&!KE+pQ^Dz)cLk2rT4iZ{` zwP7CM&4Ng~B#Q-$&a|Zt6s`BQv-7-ercgb+@uJDjXvgA095%P-2Zyk-z}nibK+9mE z?ARt3Z(ItSc(QG)$AV>{_1V1cW;?&6N6aCryFd#zoqK{VCKdOgnU6OHaDCK%6hUt<&dnnr+PFvxED^UZU3sZ1(@JAX`3f?Q)Awwp*ix&NFyWp9vJEUpVWIbZ&Q>KsgaL#~6k}2Tp6#d*OVti8JYXkiH`Y%6sun+{$~W z;@&|YmY4(@X@l62L@!8Wp3U#UvYc0u7%Dx>GJ~1jI2q7{HjW?G$azP~r~CVNU`Xqs znV~&$4wl1U+K1Ku|Ci*Ph$t5RjueDx%=m-AVs4EQ1@s;PI!Mp|Jc1jp8N9)Op@&kRs z1@ji6MQb%=*c0k5xj$vjVp&L*SYg$KQwDv=z*VwPJ-OoE!UC+M@GDY#scQ$0!SxN) z$u|w~&4c?Up7-NeUe4v&-hATIAT)4^z;YJ`&m)K+V4Q4y| zq@iOjC)+vMF3C1dwn=g>Cvj_t<79_GoVg)Ak9L%vFYho93-mGWj(zraU7ud)4izm* zRzKVjdx6A)=Zp9SIB&ph4YH)NSJIBX*ci}`p?wf0KL{5X!gDu+_;)T|csWGmYQfVQ zRCx%`TpY$T6o;q{S90(N9Ow1mxt;y^PP@HWyd=;AdB7pyBe>=vX&C>qcxGY*`Td~n z!8M0ZE73NKZvcHVj2bhzW>DJVy$BeVJ_7eZN%HEtz)}qN-UTLWe|B+i9EV+3v$`cXG3G%OJ@VyCE6y?cIMrQ_6&kL zge%)K4;|8IM~2kwwaDk5IlaZVz{bnaw<&zkN7K$+f&yvSDF^uniLz@^hwf#z8TWO; zvg{3Pi$2u73m?tLo`AOuAYlmnBc{DrKgM!$De|f#Sf3241q>tZLUE4O>BgPtCEQ{^N_Rna_vkz@% zPtx?6;Gy%++_RSTmrE(O7mrKZqdVTJbPwuShEm+utW`hJf)&tn6d3C^gf#m-_k$kW z1&`(Yv++Dw9*Aau;z8_L@&@+ox_M;TjcD-Hc7=>pZ6PrZGOT>bs zNYkRXDxv+h8@|q?E{}iQW3c&K)}>1p)pg!m)pdrbv*qoSwML)SvrA!L_Mj~KrW@B0 zXg+|LGKv(pg_gdRRNaOpuouUwf)5Npf{xU*?d{1}gYuSlyv@je(OXI0C?3d~uR}|MzV}GMrgz`B=4$~>CwiYV0p$d~o9z#-h zaSsNuHT7e=kJSS!t{q-?^tq^f2y%GJVMR*o=r1w2W)~dAP|_3eIe28a z9G$h{iSV2fsTP$NG1i25K9(~H$m8V#4^H4!YcR32;_+n;PnL7g>=k(2m_sa1WRbf` zLJk|fTgvfrWhbOy>Z{x=9bws$@R}h4-q^S{6hn@IJoD(-JW+sd66bOC9Kq(`!_8#z z39~HsV{u$(K3*B<*+6@Z)q(xggn!Dz-H2}-_F3x%3KT_`2G&YPPc}&L9DyhC=kZw5 zbE4JFg|!BIo?h*-dsw3sD+c`ixx02}=eI`g_{Zgr>o`r`f4+MAC3T%AZ*W&dD^xV@ zz4yW$?}GsVdsz4Mo;OH`F)O zH$=8Xw^c1pw3LI5DG^biDZgNwL)4mIirzD(U#L?dn9|Fp|1@FMDKG&t0HSy zyj|NqR}2sB#-N=h#kf>e^h%Q)bHtqWq7>8WS^b9k=(hS03qwhR8DdJ>%!1qrhw^&8 zVO8>EHlEXV*E`(NDo29AVkn4oCP?slFdIfAp0alMRXrF&crPFn3b_*05Um4lFlU1s zA{!bBh3jEIkiG7NijKW6T2a1Iv9uII7^+xNW4I!k#s3Kz@^(wq~z<-V; z;YZRaGWOR3ZwHPau!J@>=-ITg3{YsSA9UT-%hA=EgFAjXG>cIZO^#NT&@H6YW=@65 ztIOv>ZjpH_5-z2?h0P27(L>~Y>`?5@$LBn^!HM>ST0PQbla(zmKag=C zN5($w^s8u-SezkShT-k5glecaJP8ARUS;?aR23cjoQf_-FTkA)ZP>5Du=)>%H1PE_ z(Rg(1LOqAE?yWyJVIW1TOqwnifzWTc#KQ4V^n7$-IIQs1svtj(?^I=q&o8|a z#cwKFd=m>r<39M2H#+uoBe~F;u@l^;DzC@sjn;>v3Fyk1E_~Ve*wcZqau~u2W-{Pz zQI8KJT>eMv@h=fgpaFR8ckJn~$6J~KtDuce51N9mFzTl$sybBq_(^hh%g~kBZNfCV zk%rsrWFx@ipc;HuY{TP3$d-NZJ=Qis7j(M8Z{WuPVNNzHItCZ0fW|GxcbH7NTgc}N zd_pBpPp9kypNS7RTQymIhn23P_P3D6vL^|`xULs{c!Vb;m5_n;M``Tq7+R5xCyD+{ ztNLkrC}FrD%$130ZW)4xzOcZ!S16IO|K-Fun%&YMGENsx;UU7sio_^U7!Ie2z8)7m z68(GvPSTt3p;JRVnlau_tEA-e_;?aTt$``x>HEn20=8k#Wp#K0R-> zMAn=gcDNd$-XbH0P6HHmc|a~Q8WmpKN1R8zRzbg`FqN>`BRnf|kQlFma!jcL1wk^B zL8BUC)a9`%GwU>2Sn`?7&60hX9A|qFkXU^d(*W5B8<@8I1P#+{57N~)nbkLeC1?hd z@g^wEF=5^ok014No+-t;Xno&~GV@p&ONf?*5QFKa)UvGYyvQ2FGXry%*pE2n^Ei;v z5N+^EgBo;$&^USeRb*_$w;<87$St2xKpW_sLK(!LfK8*kI)pwM_* zWDNp%v?^q9uSBa{9$B`q%y~sJp^GKc)MR{~-CwNAxLCoz-F8&1DEfmSXruGDY;LVeUSI-flkVFSu zJO=Y3Zla}VvA97!J3tFO9o>&yd?}nHV|Wh?4i6&xkeLXfg!CHPitAY-@6662?r3;e z6O8x@bUXKYnnw#yN(coqxc}FSX>hzdGQJ#>k5^QUwnSTIdN7`#)tT$?@Bl+3^+N_L_j$Gt{<#D|2sbLMi(-Q$Vj)gJ|4UuNOrxnf|+FNY>m?Rn-5$WGu$8gqFy15ZOm(|lVe6fqpmYQKh{avnA(OkvEKsDq z*`X{T3b)Z$3)@V*K(~BPdS|lC)74$ni5812$X!?^g+c*;VW;Bs7>3b4xh|>Du2l+` zNQ#mx+631@tS~#FewN3DHcB(?mX-0-3sD)ORk=Y`WTJ`IOk-d*ab3n-_M9^d(0*bS zfHR1yQrcG6?gzX`jmcB|PMR6U&Oy(f<|V+>CkKpq(K-$t2<>vk2*wW>t4e$B;;hDM{&(dev3Ke2+ml(5-i3a>%hSfiR5 zb_tU?bE31b{%{C%Hkvt&3cKvFKlA=k#ll)Br-chw-U^JT*#zV1C|J3fHV%)}c$6HR zkN-BwLr&gJhNgHzu%3_o7yDW-raCYIc)cOKtH79Dj|&R(Ov3tLsXi}=ZH>mf(RtjiCU_8wuM1%Jg&A8M zg`>8;OvG^semYOKKRz@>m*&~bnt3ss@tiX+dOl=uwxm&87n|HRPK-C+bLug8Z=cuxqs|sk&0a7=wQu?=m!#2`r9JRp$zDngaR(M; zgxMzwXe3i7RhHXXPPOEf*>&Qp!C6dcRn=N{DKWC9$&{lbYPp*9xts*ta@kYN%F5_b zZ&q0*3%!GrfSb@!2DVg4euBY04tFHO2WnUoOI8C@zs=w=22X|)P989_GLVj7>QfAU z%=>BaOzp7Rzj&A*qsQPb zMQ2^wZ3~5c(u0gkOy!t>t(`f86xcYPT6rkJEPkyrhKUL$a3~38IiA!r1Q(r$Z-a1B zz&z#Pm#Zm^XCdX;KI@%l3KYM`=CxjY568wnIzD?6w`X){?@;!tA@W+!2=*>Lcl+MV z{(+%fdMKaWw|!Th-_GAYf+sHWHiB~$i$A{|FDwm=SPvKR5sRf#e!G>jlxxKc*)Dk@ z(`P@<(dx>^(M2OjIuNAk=cf7OK*m{|axg3WJuM{PWlM6XqabLYX4jMsXqw5qtbZQcBZ zhuSMj-fQ&eXL8$v#gDps%%|9Q{a;Q>t*zVlWCjPbm*N{?`nR)|@^u`Tn|wBc$XoKY zF#f`K2ZUgYqVEpy0o4yqdaYM`t9GORC%xfRIpIAh2j27Y>SscG+hP-5uHl!lgG=;V zi}E0%n~_YeqU2jW0!82IQHc)LZ}98aAS+6qYOK?bEtYu!J_cncRGxRE5Af2bTZgz3 z$rzV@oy%S7=4T}{Igj~9JUgC_Mf~#Fgg4^jg&f-(@*JP+L7xw^;WV3mcsf?*D+Oe9 z6(oc;e}Uj-Asq7%I<2pDk;OvE+w(#(!>s1FPCxvvQF;u&Ma`b^HPU($AE zF;sHF;%^&Ln?0Dh`1^7K+7et(-jn8Ul;~}X*k;G0%<{!CAxF4I9=65{)3GwI6<1Dptyp@HUn_RRUZ zFvOyhUUka{%!h~BjG;cf4um4+Tga{vNXb{0ije_O7#QYk&$FK&j5;IF>oR$L)@Q#_ z%TY&=d=M$T<)L4s^%q{G<&kC6MT7)cJ#TOYEJ8@46V}-Jd!o?cK^tK`a`p>=EYi%v zyHp$pi{7#2%mS*lmsf|YkYRh3{RV8H=nYt;?Kfa6dh$hYz*Yh)eghVG$s4e&L(wa* z(aCSX*6v1MmwUU_&l&nDez(3zU@43gC%^B?MlwB*yU*A+!ePQ3*7k}}Wa-ym=TEu? zJt6G3a=nu#hj6jUdC&!i%?@EdwGnp2kd*^P(Cs#gcS(Ut2(^SUyBBnM+sB31R7Nu{ z4%i3SY4le$;FVOL{Yom6@n5?gBPgp8_WqvI_fw-*Eq3ST1G}Yd@-;Rxc&yh~*@H!i zkm>7iEN-QLpZ&6FBbPn>%cixbd$~0N(L6>AZ#LM|Z^@ScNbeTp^R#DHX9vQ#`37Tg zz{wZlBo7)^x&m<*odRRCeO>Y@X@#E1%@pp3*OxBlL-koi8P={X3!dV%djS=}ZdUi;K3j(TXpMU&^e8dJKp zxv*+=>k@8=K*1`LtMtv$f@#=oBetQe7bB`{O7XiBLDTNyAwexz`-xSHrHiIkn(ef@ zA)@i3=v<}8EcaN^d!z0_`34*BuxX%%Grl(J%4e?ZZS$MV2zbHbmq*nujhZiw&Vr@i z#@n8zzsqh;fA0W)CtT%(_icj3uj8m}H4Hy-VbV2k-n6&)?iClmIMXJu-Dl5sPNuqY z{GB5Ra07WCmJK@mMR>X@`Oc^CK+&AeUp0c2kbKohO*xJ5KD^I<@wzMrUc7e61W;A> z1*xDlhM32#Uy$-zFGy8RcsX{}|KW}R4=v$&Du+XP49{wZXZ3g`z#4ou;qxwhuEuBV z{R|#u@En6*0E|!P)bG}j%kA;vUM6Ia6UmUkN=*(65;KhI8i!HcAXq|YH5rcT zh)Wn;%3v$Nw#%65U6Oq{6VnW4GuXwT6Y>T)v6sO<;k(k|tRCHe6&Ji3)X_r>t^woN z7&DDsCtPDk1bLsp>zNtm1J6g8utcaw1^$D;PYe8lz%L5?hLm|!(*G{$=Olen(!Y@O zuOs6D1q&CQd*0&nFSxL)d&$yetJc2xkDKL23Mqa_ zuJ9b1CK{U72OiGCkEF?8%)EXSSAz_`U*lA`n*kXme`fLdF8vk3`oYfvM~I7u@a&&* z27|%400)#%@4X*D%hGp(Sh;{RSQW%iZb2yL;b(g)lyh2qT9W|$8ixbFW$GA{qMQ%5 zpu+tjPVf_7tSA4OM3I@^oK)G6H(~PDTTQ6swnxdRD<1_086zNqev#wY#TVA1kuBobC zIg`<3odDB5Mu}ci6>j>8RVG@;-KeH1XLGzcDS%58S|vts2=q*7W23?Yrs#v|+&HAp z(!7$Mp-V`*&~|*k`%GtZb2Hk`e`ddUW~sB4GZjxI1xU??@`(h$@|Wm8OX@UKi;}y6 zYL4b&X$oJoZQ2-uTb-%dsT8SmoT--79J?;>T-BzWt?||-0Y$bh^?|uk55}3ehb6b5 zv#(usDCarxbIukZaXP&(yI(Ce6B`mR=f~RnAaIx@u6q^>BRwKYH z=6TCvkqs!82q$UVt&A@fghlg-dEa?Jmoq`?Oe6EZt+RH9E z>0K?XV%OrXC9GoC>aI&z#jf72-9;)^XQ1M;=(1J;tRkEsQKD2v$*(*rm4HS({`rqD zO2OzgyCGnCbon#^T7YzUQ;Cq>rVyP~PEhS02wD+c(I~*wWO|Vhg)g=@HJM&cK;0D( za8dN4dI6?@vq}V9VF`fZlbbSS5CT?4S5^x!1?Ul_eMYH4HG@l*8&MEBbqE4hMORG| zUqpPP0C@Ua)Mga}O5U?h?W~KlUFjEh}A}vS_ix7q13Yf{A zi7rP3mslbFN-DQ%&8#(cY(vu;S@7EE+L;1aFkB$2PA}Y0dCVIuynH1Hr1@2AXRYnv z%GS=S=;rg_4A9gZ90fbHn}!M1vu0!iKAopz)M*nL-u1^< zRb2Tyc?kqaB3^`mK*$3Ueusekj9Mas7N4Rbh=2-+h$w;r^{HL)9P8GqRIRltwQ07k zeDp(WKJuwzZPB)$u4}qLEv?mlTEVIXtF3iycb9Iv+uiRuGjntAd-sL(kN(qb;Jq_% zX6|>+oH=vm_Z_`O*HH z8|P)45wJ3Io3k+yXe_gmiuSbtJGuxKmb?&BbjKKPwz}jN=dYm{sId^J3_V!WXmDVZ zZr29r4sFnZeVc9BO*(d?v`9;9mJZUdOwb1)XqEK;kc=6JPJSIKZ5cYYW^_S2g>k90 z66hpoEzs}rW~fq`evl_8=r^<-?%rmiwqwu%{AKU~r+orLpUN$*U0M&vUAaqYFA>Mx zxn;G>M!<1TZh7tUI%&^V)UFtx-k#C++@*srMJt%r5Yne}mkqvbWQo9gbC(akyuL)> zeYur`SE8x2CL3Ijq5B~%y0bssIm(fYnTTnU<4D4kX{Tg{7OLdk)(zyIJ_DT5bmu9t zRL0T+lFB_H-80A$Nd=lWNh_bgh$W>5#7>9{BbfrD3}(mCg95W1`_$?j5t!rg8cPD~ zJ*Y`k8v2~=Uluj2^pL9!^su*uV1^#C%Ak4mT>;u*HA6kSj3zq1^f@p%g0`b;a0OhG zX!}fQfoc2Mv>n|8dI-*?wEZ$TABOWv+KwiV9)WW+ZU4A5&a|CAi_hoby+eMyfX{)L zOvg)5j_wWV-jf}1GHr@w7&865mnkZ6u}mk>qXKhZNcRCoiG#7NT~suWdKhSVG0a5z zg1|f!(nCWXNr(ADw=k2aO<*1l>ESVsq{Fmz3)4hj6qrY_ixHVp;$UnG9A)Z@9;Ubn zhQ3Xvc7fRu(vH!N2n>3&Vk0JN*`v3M_Hw+biwPY?)~>)6hQ3tLqogmJ$*L~&75lvX z5!Wv5i)s~xC8IAP6e2Gi-20xFEq(^0{L29jmoTkuDNuoWZ_7RS# zoO(HHnv_&?Qc^oL$zEOcF-qHa!h0gJX3ru#2RT<+ifNzR}rCCO((dIox^L~~__ zq6JCfoVm!$_IFdO|4ix-xIH25LAfZ2axlb9P3EAZC$N$d@2Z`Kjbm9MPUpn0=) zN-~$bHOX!(>(?a;a@>u5L)XA6s;jJfN7CL#Jn<#)(@c9$)yldTKQOI9Uk6=5doebZ z%DVSD+PfJ})YZMW(q8&xtoU1m*Brfwd>RBI5W zh2Zz(axQ+V= zeM6FXHKbS3uq)9d%FKi${5KRHwgF-%sQg=i z)=2N@ zXb-1Z=-pxTu1>VjyHn`h(_);TOW&2$-V5oy!H!tg&9s89+adHKXu z_B@%gqhE*gYt&{X4lu6x#&k1n2N^7+?+MBWA$Gp;i?e0ud!CnZX}p{-GePuW zNFTyLDRC&ZF_co1N#3qsuuVXI7t-$_AteeTQ#SG5*ESuw8k06+t%gSOgc6<#?T__1VdaNa(ROzR$Pi1FFriq>GZ*dr3wEcSx(`KkSk7h z#0fucExKJ&fg&uX?+Z$0f36(li04Trj$+d%D6W*IZpk7;{|bP4!$UZa8IHBul_tLI(wAK*$47qDlk?V(5*3@ns>q zi@?GnYX=p!m+@7De&ptc3Rh$3$KLKDeK$QM1)!A%lB-9uLwP_QFnH9X*km^_xzE0U3uLOu!dP@?j%ZIB&}M$EsW%tJUo zF?KAaEG9;yKLN-HJ}K&{K~~G@RY?NJ9|s}{B{m6D0RL(syeWhpID!Ypp;ypr0zD+; zA%Iqr4*lA3p@)p%A#vzS>8ApX)8)fQJEG8b=x5iTBEkGr;oZq`m6Wi1?paG9(h zab3t*z_rApnHg$1z1m&lfMgP+ptA~)%jsu=G9u&=LmY7^*8X}F`k99*?g9a3CH-7r z>O-!F@+wJ(`FXc6tLSxs$>P*JV3Y_<@zQK8hfv4Y6|}Pv zc!jj7p5nUxcNFEdN zm~oC+!NhuyKEdPkAd!Q0(u3r&A&(vENLLO_yw(J!hdoFhJB+b~6H9eGb_$P;dXPx$ zYVE4=xRA%8mMgKW8{1X$+SOfG4KVAqeVtIv6Tq_)>|n9&YqYv#Mx|6VHOE;qQ=8f| zV1A;ewzoF56Nd2wa88GFJaITr90TXqb3AD{PlEIE95)T;re=74I>(cT^JI9g%yIK@ zZpQT3q#REf&Qqd^AHZKjZ-{WGg*rD?6H4Dg~wXlHMuuf2BgggWFNr^?VLWwaHnB(jh02uC?0NBis zXEr(FShBkpJWJi|UI55Otia@WR>-r^I4N-;cH@B;Pd6J60J2FNj@cp4hDs@MAfsYg zGNzl&2LQQ#m2lD$a?4;x1f+ze_L*Cy`x#0b>h8C)SUcS^gj;mS2)B&lmPu--TTbVe zGgYBl&f}J)YNlIObIaAS!n{Gv^l2fV1~aY1<=UEQFS>5bG;+OJ&GhLZpAL;s;y|pK z_8{GuX@G1|GyRc}KLQXXsUY2$X@G21J31%iIk2Nj6eMn@z0`YRrsp*BoXAWA{$mQ? z8geV(l?Z&1nNB9rGc(=V$gS2)w@&BQ)>skUsAl>MycP~-T8R}*%uM?Pk7K5hgS?vQ zxgpPm$y3sm181f^SWnIL++jS|n(4Vycy45-k=RYvOrII@nW$4rEbGop+mz7F?Pf#` zn49S>sa5kro(H?7#KBBXR84xzZw$iHLP4hvFt^a#0<$3G1>i=BgGs6>z3t6k@rVR4 zAE#dm%sC;SlXb+w*uH9%sb6}SY#KNJpd-~>$T{@slsJ@l#p`yY3SMrdBj6=pnIEQK zGRQpMlKSnKu{1Il?c8U!JBwZ-pd!6rGKOkMZWov^CKORS(Jo8%gk92oEKtLEmeFeg40dn zBCz}@&QG)g%TMC`j1p`?VEI{`Z!HlFf#v6NenEOLB$CJf%hN*%S`J(5==s5rKQw1p4+g?N~F{_o7?7FDYc!=ZKcEjDYae9ZKc%V zzYx5N+pa2+&p#sgYHr(@9thM|!YGsg3T$=bz$I`V{?1q_i{SotX4h;@Ueo zmEqeuOj>4(bwwJv|HeaOc_&(4Y2B= zW8scj+%Y$uYly#N9(R<=GRDju%eZ4r`ok*`x|Tai=s(8R9oKP3KK)sOQgz(S9Rvy4 zhDof*-Ha9}$DJW}qFj|!U~Q_PVTz1OiulSgm04#EYqpfM5{(e-M(0@W6jgxKI%jZa ztCd>k8QhsmXC6}PJdZn9rH9H)L+2ITxgk9mQtRBvomV7D^WGj|Jy&3_e-0MsyK7g@@5*_bF#fZiF}P+t!DW$2WWj5(#u2;aqU&_C{lXk+ zBlSVlW_|^|xh|ypxUV3+7V>L#j#N}+;yPX)|4|YD(JTI=cl<{tQ=Tcuf6xjX2F{fC zE-x?SDT4A3mZH)RFhdsVJ-TFy#R*3yS{$GnM6i^sA7U zs8aj*KFz};_;4c4&v3P*c_ic`vm6nvut!SeKxmpua1El)<|B4W=E#M7WJN3={VD=J zA;|UX-|u7;o^-Vne^4p>E9+f$ZrO4K^m3oRpz?VDp9k@QVS0f3gSV>6s#^Wh{;q?w z1-<}A?X!F$B2`ya57sYikjEJ0F#$k-7=jLS)hAcu&{XsUmJ)m6CMrExXL>pQWPpOz zN-V6Iz@4X)Co;n2c@jrXFUAhoMFB{t92$C#IWIs@OhhNst^?1vULgM19lFO73B;eM zyHI^_D9-zU2j#+xM}A|7p&u_E5sivR=4pEe7X`T~HB*KoQ7afg;qM%CQLsp0?GZXW zfmuhM-|)2j?t1bW2I$aOgQuZKHDbm>hiqQnlxsmxY*VcJu6S}svQ zWQy=0)*@$C&a?#=ML>!*D(w|P1s3{ye$Wq%$vI|)StXtj0*S6g2Y7jNV>)(6D-j6%C5oPao=4Ek>31LAx_bb`bO#QR)teXf@c zcsLS=t|`RO+xyC%hvWe$w10vCViD|6{wC{tQ#`(DKs}Mu7*d+HT8bXXiEsI&>Or62 zmOu{|$-!`A(2nE$FaZ zu}w1BXe%U+9J%MVxoFsa;-WbZoczIl1$)}Zj1|=`5QrCqr-_Q#H=sKMJ?ew^G=NEA z6dA2SC6z-ziIKgW_(2SR1Sc{xbSECOohk{oM`*;yS|JUNR}g!2ryznpFGdUl>*$n? zRv&%dpyLtvb3sXH@QWaKQm7zEjGsR{lnm1JuoWY4=YfjYIoB9;nFBsKw{px%yNfl( z&NK-cn!C30+7lB`!f@A0(6HPM{cp%7f>g3NGM?L9x!E2W_jvN2jN_ab5=`u6;{L=q zHXIWz)I$@j(?U!HiPi;^QQgilDCCMh5Y%7!G#B0P5~KS?J9~B#>H+(V9ADCBP!A{J zoRM;k14m%H2UDszr{f-g!)^3wqDQ?a9L_UCU+|uAM4oNl6OPF9i{29s=ZQla-m_hd zZprg3kNIeiSxLB!U3Ik62kb<9FV721@rjsbdfZ2RJb}{HRn5T@rU6?!or1vO_?V`xJK}2du6%@8By#cKaPh{W zMH2&KTQ-eXyUlrNqXjS7Gx?%_^u=<0v|zturw@k1B3n(=z9!JMv#IDA`o4`Dh{MON zL$AV^L1<>t440ud80!-BgB_GlY75vez={d>&dClx(=XNrqJOWQ=dK-kU3Pb$Z}G5$ zAfUw7J8RS>f^C?ht$wAR{(;-q7qi{^w6t9q!rCo^$%o^uDPsYmrjl!79Zr(x@i)NQ z{(X3-7I-=Su0`wvl%m`x8v-F%w^Q(-_dF;SyTrb~SA3*bq$c7?tD?>Hstbynv;y8oT56|Z9N5H zqwrkUMxJCKGJBG(2ZsV&Pxcq?E}}P7e-0UOxYglV^rrWO!+ADiM1{I@2>WfEmlfYy z=MCy&)?<{VF+rV|9c|%Z)p6ZbG-{QLwMz6hZU2hZ+e21w^% zS-m}E^%hZv`Z-w}-6W`X`LnTgXiHRudgZZ@K)4!)1FimietH z#Nj+~R>gb5;XJdp88~E{0YyZwUl#WZYC<)NTRy2Zp*oUA-=dV5>s3M&6}?^0W+81Fp~U1(kdOn2UPv5|}XM*&JV3 z$rr{=xx~R=FRQ{wg9=OpplWr$gm261s4cIqwQ{R5N3F()Hzu6kQ(+%9;_yq@&_XEa zQLBv_uLVoT)=wOMaTz6$Eh+&F9rb-wsU=Vo@JN)vvi`hmps5krXzrq~*c97k@I1kN z;#l&cDy$bj$f)!=US7$|u`yqXU6yXhV7s6hWk$KVw2aK9VOR6=I$l0r+}Jj>d;%|@ zBJM`Gr}FY>BKAChXOJv?04`V6@Twu^1k0r{3yn?|jPa8N*kz+;6a;@Y^u9{ygMi+z z#2iOoKY=N;pEA5_?BTL`U!9Wj2GI_S^;`PuANn*tv@Lo9^mt3hzxNOS9)r!l+9K>9 zd@6rPO+~B?DwBRkx}V50mMH(^G5!>3d*K2eLkXay9|SBz=Xh=ssDHuY8KZnHA|?qd zOuxbc>~?vnpJc&Wd{Q!2mNPy&^jOApn0|qsMZF(v>bTqo!VxV~ zFnYX}V>lAa4&2v=z)?|A70*j`{6|gv#|iNt{o_9{V_#KXjjv33O{V;WOnLuu^p|}a za8%%?w%^LMwcRHY#(&`96U#&W!d1qO<7%79Xu4kNP=PJ)4=?!)a387pTKlC!*?){v z4AI{w(PJ-9xiTucB`SHhRN^M7plp`Asj2IhjO5J)@jDIN{X+4}5Q;B0=(+<+FMpB? zG4$RgeKB!>tEq6U)aG^Z>#oM8UtV(V>W%9@wt5{didui&`mO74T)Sl`-cY>Ky{26+ zNLau1X1QBRZcK=BJKEh%6uYsZsp$3vcfW$%Af&fJ*f$vW?RtB2baR%y*s3R2Sn2!0 zqgOJE!(BC%cCVD)1eJ0JRpI4O_AaNh-4#y${-xB5l}t#QB!A+kgr#@sWZ+TB|p#zY^Ec6y0N!xRIypQk#Oie~Pc_>GqDBoaBLBT-eyj1}K; zGJF4pY8$# zhDDbC8Eg^W5nP6jj4_o@%~^Tdi9hMvB73dm?*uT6D=NzZtlyc+XK%Um;vv(1ahH2n zC+@07NcwZa2(TeK@GLJ8Rq9w7AU{xyWd1S%L5#T@-o8$uX6D!8QvaNdRu=i$PfKrc94ySC}d4I5m%|7{5BTZ^9gyT{*(1dR51uz8u1If4Sh10&ud ze~I@|d@gAi%{tT<6?)Vo@ zXXzgdXi=yrt^wZGU~{lO*chw>+WKHauolQ0gR6o~c*ZWZH-l&UZ(4AL@E^?5+1WFK zE%>)KxDLJ>f}4YS@VFLeTY$3(7?Rhf*hhZLtgcU|Fm`eLX&V0mU~USo3_cdD0k?%u z6{fK`Ktl<+NUqjt&Q^mvpXSD3HTYc%-mX{F8xiA5<$4~zh4XdbTyoI_{|)#jfAjD$ zNO?8{CK#-L5TcC`kz(KPx4&CY-J9Fp z&+q$v@AuwsFWI|o>9V&RvbS%|kY)uR1hMslcf1>A051aA&B5H9od=hBKez>9IU6WJ z$g=GmuNmX<0au}id|?{(8ryNKH_K)kc&K6=!JAMwKE{lR-W>ALR!VOhBtto!9BTwH zM*-x&0Q{q2H+u2rSh=lD#%;zqSDNg{8-cL^V~i`VW^D@OuYmx|GA2)g({ywh1FnGV zx7`S2Fw-vgoAwzn?MdT)&-&y8q&%KW zGq8l?J|UK?HI$}D&;wjMZIZl;Ya@a_a;zt(o^NKUaoUrXLZL;jqzb4IwB6}XS_Tn8 zC!8Uoj(lMA_sWl^?6y}yw<*fS&Kj(OAwlSyFI9m)*_`4QcPD8jg1X%kC~m8u4N8Y| zIp_tZvsWFIt07NNgR~y2VIikyiz~{zpyTl&JbM}R@UJ*u;0eJ=bwvh;1R?+ z+y+6DfOWVHGA(i?ZHGKTtid)Y5yTp7gE=P2QP$xOC>1!Mb-H&zy`ZaF4eo%5Acwx6 zv}TileV}$g8z;6hCrCRfG&Z3DXGI)q!hk_R?RpK-MM2@H^AooL`t4?iFX?q8W^&Tt zh(5z(K#QOo`rkaig=2#BKuyYvP&$>xX;2?Hneuz+7W7=;hm=>LN6?pnsoo<{c!%j6 z32gBG6{-a(snLVpUZ@usPJP?^4r~-OIrR(gKcP?1^3+1#yHGOCOtUFPCKlefy06_Mt@KAx=GF#MhDf8;FO>% zMA5TwQCO#s8K<6u5l*b`0`+4E-pT5oXWJB7qz=FyK_Ooyo`)_$9ic5mZwcBTTCSdl zK0$vB-A~ldDT#7EPBbL61=2S4lPJ)AhBi|igdnGRwgu8o^#bHr+8@+UVWFkHt9}k` zoHY0>bWZ&O4w)pErHB1r!C|32pI%6mRl;V_;COnu{}SX0x{$ute;J}v1YYM@!buH! z##TBmLlq}hS|whF8cwXV0Sa85;2eS$%lVam2-+=Ymi9G_SlSZp8<1xLZ7fTz_Fo7_ zIkG8Qv|-4y!~@#5P-G}Ny`v!w;~5!h;J5&b)O+0vG1*Wj3?)oS0vTb9%qw#7EX#ax|OYGBb0Nvz8rKtY^S)5p*K^<_4rA2haDod+G8`fCbF5QOpoXizX z!p)X*uPq5XX7T$UTZ~=09p6k4lkrqS8VA~EvtrCkA)$wp87E;DCvyrJODyLSO~!J| zS*tm*#?o3e7d8-4|18Y`&5iAr*r$1LpB0FD3ieo9Q1@b=rA2ff4p~|yDmY?kyL1KR zIjn56G!?^~SQ7_z6{j$Y^67W!8rE3i5>3YjPUgoXfGw8RqNQTHr5(^lVYj9AX+i9< zG}P0u-_nBmXdJS%h&~3DxvaD(t7fk)gkg?s!dLZlEaYS^_gE~pv;qHEoWsfNX&hE3 zILG121m`%cPjH5DbAmIBZKg9y6ZYz1>`1U?;-LgDS>E?==VgaeHr<@@*HrThN2w zdNXZnfPM2A2F2HtyaaT*qYOjHS0;sUmhTlwM>eh-&)mH~iP*?qxNbZf?*g`Oky4c4NpmQMQ;-Y}Dc}UCyr^w@NdmPU(Q* zUhxzk{{YCaLsCCIP=9aHqe>pDl$k-S1QvF>gAhOb+;K(dz;Y0(oUK(ge9zvyf~qK*AW7-|A~UyjVAar|pXD!N`Q@<9-02p(+$XZPvb^#1hTdKfCSO`c+?Hl$OG`AZYTtwEYdbI5 z=TJRqVv*8ZVWjq`L=CLypLW2K@D9@a*&d)3;w{A{?;2%O*f=e-wfe^LJz-R1PwpwR zW0CRp3lI5fX5Uf$Xx;iXYa46VHm!RsR@}M8;d}U}gGO=ZoiU~Bgxh!bFNEo_jP6gD z9Zi<7&W?`VkGk=8bR6C9#>?ovMvp+^TPSDuz7!mtL=QITS;*186uf~^1cme!(u2So=^LEbk4Rn?3Zs? zPf_?+0X_`CzdzBro!$v~xyqi!ASH}IBdme7u!_>HfqJN;)NA2kSVu0Id-5RuDuf5= z9AFB_6gv}|=v4=g(P%wvfG`zV2hm0vTtne&$(RSZ32(+MFg_8pC%S*>FXaAma;<}v z@B}Wfdh7HX;DIx4P#r(I8umAsHSv}dKSqS9Gm zxinr+FSgC0H`3I#G#=0N<2nIk@-?m?b#yI-H&IwE)f!(1mZIB!l%8yzLuVMlL!4L4 H_zM0X79Ff7 delta 4393 zcmZ9Q4R93Y8ONXJa(BCXciG#$-HUhO5;ig6Ljoow5s)AO0;Cv1_y`0hYNA2Kh7v+# zpz2(r3<8tVgUvvsWU72rY8fYbR8od^pao1T)i}i|gJ6RmHhw{*sm4mN@B8kX_3F)J zcYp8y|9riBm%XI*sI&EuGqx?ezP+Fx_^Th}EH8=xJ_K-Bi`OUYdS$t5_XLEMW&uXb zEPTi_*#Fn72t3eU+0R2e?2X7d_1Y)+#{n34p&e z?VTm#UGXYMyNGS(6;If_?b)Q|18FNrgGc2H&_~W5^QtFk{>ppCIR&OSn?Lbwbajzs zA6s^(c4%2J|M8I!Co~Z)m1)=IG3H?Eecmj{Uu@|+%r7&ddhm(xr`Swf_OCGm}l$0wE&EfYXBW05kkg1~4BiO3SC1UVDq_hyu*;OO{s#!TNR zHyoA^NNzaIj_=5b9{5h~C&wxAD|wrx=%(=`9?ro5f4(>k8t$?v;eS+|34NTt@$V-! z+b39>L%AT%hESeGKIMuy2TC~QC<$>c)Nv|N1_>SEG*=lX&4;3iR@@?GhExtGqa1z0 zPo+wzm}H4hDDBcB=;3rkc~h!_oVzWp+doHK0{b})Da$=eVVILg-HJ;=$+w(ojK*=w zW>m^4pHWSI)UuW`Y~o^-T1V2vI6cI)BNmB!nAXebefLJX?IPkbON8lx z*WI-+$jBXf(tXX-0A)oijreY$4xfMui{Qh6;C%vWIDH)mdYhnu(-5I#%uy-v9%ZU#%upADaf-(q?`W?<5jK8yAw({ zeXZ5uPAKE#)(;Y`+#;ZFsGU&Di0;f;qV4AzEoj0~9!G~T;TWfwUPtI8CnG9-x@yO)hp1$i1uBmegGF4&2u~(S*Tuxn)_%o^BfU>HGT*U zoH`;~32ozaFtSqp5MrEu8+nk>i;Pl8&h>=4xwb&qu6`7S-Xt*r7j1EudJR6ewO7@T z!8g+?zd(3f{RAo)X)qAEqJ9dE7KxP^M&Ju*;o1usMT7=8ozAEVT!%qU*E046Za{RH z<1L0zN=v9AUuL!Y280;VzN_&D7>wpQ76?~K;5bH>a}Y{x=NExNsIr~ov@fB@))s3w zq1V>xwSU3Is4cc?Loi^AhqZr$I19*&mhaQPf)FEG9`&zbs;!0eVJNq?7X2G|+}0Lr z|A9@mRy9J%IqO=4}dRY4}^w?sbb{l%_K-9m30b2{{fWx-dq9cZ8k2G41 z4m23ioO^T!<}tGNDFw@H=RQXYE}PAsf0osWTarWFq7~{j2@P9o)jXI_h|F(I@5L%x?9+T$X9uF5imkR5(q)Xk~0@O zlAO7?-*#?SbMa7;a}1ueo%AQ3+_S@pzz&IS_;sQYoj>n>TBR8fRCt?XB zI$=0C5z84_doc;?7}4LI(}R;R#)y2gCJ(hje36qu9(aY=&FQUZCKXR{yqwuZsFxFc zR2E_%C;AvI#EXoq?JmTAM%H#0;s7J7nIeSw-?v?aA|vWt5iCNT5p}Mrb{At_lC>C% zY->1JjHR}<+IkD3_5wD_%PzH6m*>IKPW`ldc^$G{RdMBn`lzzZKhmH0?-sb6Kp=Aii++h%Ia-3n!aij&)*cymZ%f zXBp`y%r`6SF_4T&TGYS}|NjYS7B)dRFy04bhuBE*<~?^f6uM5f+rA6t3!Mh3a-y@+ ziBnCf>k*}X&b_ts*R+&B`EYH+hRthNo64d4;=k)EcPo$mK#41dQhZ9q4_1kPM*N}f zkCz`W7w};xy7vCYi&M~b{39>kK=}m!Uj+SJUY@YGKNZtc$p0sHWogG18E@m>Dj5qU S1HnfOgVT?zI*HnqFZ>VHLT5Yx diff --git a/tests/fsharp/typeProviders/negTests/MostBasicProvider.pdb b/tests/fsharp/typeProviders/negTests/MostBasicProvider.pdb new file mode 100644 index 0000000000000000000000000000000000000000..b4bdc74e8f0675c9fdef19f8183dd8e2092aa89e GIT binary patch literal 26112 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 literal 0 HcmV?d00001 diff --git a/tests/fsharp/typeProviders/negTests/helloWorldProvider.pdb b/tests/fsharp/typeProviders/negTests/helloWorldProvider.pdb new file mode 100644 index 0000000000000000000000000000000000000000..7d014ed217e25f81d9191f58597132b1825aaa72 GIT binary patch literal 189952 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 Exe - net472;net5.0 - net5.0 + net472;net6.0 + net6.0 $(NoWarn);1591 diff --git a/vsintegration/src/FSharp.ProjectSystem.Base/ProjectNode.cs b/vsintegration/src/FSharp.ProjectSystem.Base/ProjectNode.cs index 91487390bb5..26e93f1c125 100644 --- a/vsintegration/src/FSharp.ProjectSystem.Base/ProjectNode.cs +++ b/vsintegration/src/FSharp.ProjectSystem.Base/ProjectNode.cs @@ -6467,7 +6467,7 @@ private bool ShowRetargetingDialog() Guid outputPaneGuid = VSConstants.GUID_BuildOutputWindowPane; if (outputWindow.GetPane(ref outputPaneGuid, out outputPane) >= 0 && outputPane != null) { - Marshal.ThrowExceptionForHR(outputPane.OutputString(message)); + Marshal.ThrowExceptionForHR(outputPane.OutputStringThreadSafe(message)); } } diff --git a/vsintegration/tests/Directory.Build.props b/vsintegration/tests/Directory.Build.props new file mode 100644 index 00000000000..5737505f968 --- /dev/null +++ b/vsintegration/tests/Directory.Build.props @@ -0,0 +1,10 @@ + + + + + + true + portable + + + diff --git a/vsintegration/tests/Salsa/VsMocks.fs b/vsintegration/tests/Salsa/VsMocks.fs index bc730bf9e35..a29192a8db2 100644 --- a/vsintegration/tests/Salsa/VsMocks.fs +++ b/vsintegration/tests/Salsa/VsMocks.fs @@ -1647,12 +1647,12 @@ module internal VsActual = let vsInstallDir = // use the environment variable to find the VS installdir let vsvar = - let var = Environment.GetEnvironmentVariable("VS160COMNTOOLS") + let var = Environment.GetEnvironmentVariable("VS170COMNTOOLS") if String.IsNullOrEmpty var then Environment.GetEnvironmentVariable("VSAPPIDDIR") else var - if String.IsNullOrEmpty vsvar then failwith "VS160COMNTOOLS and VSAPPIDDIR environment variables not found." + if String.IsNullOrEmpty vsvar then failwith "VS170COMNTOOLS and VSAPPIDDIR environment variables not found." Path.Combine(vsvar, "..") let CreateEditorCatalog() = diff --git a/vsintegration/tests/UnitTests/AssemblyResolver.fs b/vsintegration/tests/UnitTests/AssemblyResolver.fs index a118adfd97f..65e717f2618 100644 --- a/vsintegration/tests/UnitTests/AssemblyResolver.fs +++ b/vsintegration/tests/UnitTests/AssemblyResolver.fs @@ -11,12 +11,12 @@ module AssemblyResolver = let vsInstallDir = // use the environment variable to find the VS installdir let vsvar = - let var = Environment.GetEnvironmentVariable("VS160COMNTOOLS") + let var = Environment.GetEnvironmentVariable("VS170COMNTOOLS") if String.IsNullOrEmpty var then Environment.GetEnvironmentVariable("VSAPPIDDIR") else var - if String.IsNullOrEmpty vsvar then failwith "VS160COMNTOOLS and VSAPPIDDIR environment variables not found." + if String.IsNullOrEmpty vsvar then failwith "VS170COMNTOOLS and VSAPPIDDIR environment variables not found." Path.Combine(vsvar, "..") let probingPaths = [| From 426f5e0597eb8c3efb11f6d5619ebf02a8773700 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Sun, 27 Feb 2022 20:21:03 -0800 Subject: [PATCH 02/11] Fixify --- .gitignore | 4 +- VisualFSharp.sln | 15 ----- azure-pipelines.yml | 25 ++++---- eng/Build.ps1 | 1 - eng/Versions.props | 2 +- eng/build.sh | 2 +- .../FSharp.DependencyManager.Utilities.fs | 35 ++++++++--- .../FSharp.Compiler.ComponentTests.fsproj | 1 + tests/FSharp.Test.Utilities/Utilities.fs | 2 +- tests/fsharp/.gitignore | 1 + .../tools/fsharp41/net45/providerDesigner.dll | Bin 71168 -> 0 bytes .../fsharp41/net461/providerDesigner.dll | Bin 71168 -> 0 bytes .../fsharp41/net472/providerDesigner.dll | Bin 71168 -> 0 bytes .../tools/fsharp41/net48/providerDesigner.dll | Bin 71168 -> 0 bytes .../netstandard2.0/providerDesigner.dll | Bin 71168 -> 0 bytes tests/fsharp/typeProviders/.gitignore | 28 +-------- .../fsharp41/net45/providerDesigner.dll | Bin 71168 -> 71168 bytes .../fsharp41/net461/providerDesigner.dll | Bin 71168 -> 71168 bytes .../fsharp41/net472/providerDesigner.dll | Bin 71168 -> 71168 bytes .../fsharp41/net48/providerDesigner.dll | Bin 71168 -> 71168 bytes .../netstandard2.0/providerDesigner.dll | Bin 71168 -> 71168 bytes .../negTests/MostBasicProvider.pdb | Bin 26112 -> 0 bytes .../negTests/helloWorldProvider.pdb | Bin 189952 -> 0 bytes .../typeProviders/negTests/provider.pdb | Bin 245248 -> 0 bytes tests/service/Common.fs | 46 +-------------- tests/service/EditorTests.fs | 50 ++++++++++++---- tests/service/ProjectAnalysisTests.fs | 55 ++++++++++-------- tests/service/ScriptOptionsTests.fs | 21 ------- .../GetTypesVS.UnitTests.fs | 17 ------ .../GetTypesVS.UnitTests.fsproj | 35 ----------- .../Tests.ProjectSystem.UpToDate.fs | 4 +- .../tests/UnitTests/TestLib.ProjectSystem.fs | 6 +- 32 files changed, 131 insertions(+), 219 deletions(-) delete mode 100644 tests/fsharp/tools/fsharp41/net45/providerDesigner.dll delete mode 100644 tests/fsharp/tools/fsharp41/net461/providerDesigner.dll delete mode 100644 tests/fsharp/tools/fsharp41/net472/providerDesigner.dll delete mode 100644 tests/fsharp/tools/fsharp41/net48/providerDesigner.dll delete mode 100644 tests/fsharp/tools/fsharp41/netstandard2.0/providerDesigner.dll delete mode 100644 tests/fsharp/typeProviders/negTests/MostBasicProvider.pdb delete mode 100644 tests/fsharp/typeProviders/negTests/helloWorldProvider.pdb delete mode 100644 tests/fsharp/typeProviders/negTests/provider.pdb delete mode 100644 vsintegration/tests/GetTypesVS.UnitTests/GetTypesVS.UnitTests.fs delete mode 100644 vsintegration/tests/GetTypesVS.UnitTests/GetTypesVS.UnitTests.fsproj diff --git a/.gitignore b/.gitignore index 9dfe3200c1b..9a8da0ee038 100644 --- a/.gitignore +++ b/.gitignore @@ -123,4 +123,6 @@ nCrunchTemp_* /tests/fsharp/core/members/set-only-property/fs.dll /tests/fsharp/core/members/set-only-property/cs.dll -.fake \ No newline at end of file +.fake +*.pdb +*.dll \ No newline at end of file diff --git a/VisualFSharp.sln b/VisualFSharp.sln index cfcafe7be08..c0844e44536 100644 --- a/VisualFSharp.sln +++ b/VisualFSharp.sln @@ -128,8 +128,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PEVerify", "tests\fsharpqa\ EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "FSharp.PatternMatcher", "vsintegration\src\FSharp.PatternMatcher\FSharp.PatternMatcher.csproj", "{18227628-DF90-4C47-AF3D-CC72D2EDD986}" EndProject -Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "GetTypesVS.UnitTests", "vsintegration\tests\GetTypesVS.UnitTests\GetTypesVS.UnitTests.fsproj", "{6D93CEBD-4540-4D96-A153-B440A661FD09}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Setup", "Setup", "{6235B3AF-774D-4EA1-8F37-789E767F6368}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.FSharp.Compiler.MSBuild", "setup\Swix\Microsoft.FSharp.Compiler.MSBuild\Microsoft.FSharp.Compiler.MSBuild.csproj", "{4CBEE353-EB7F-4A47-988B-0070AEB4EE7A}" @@ -768,18 +766,6 @@ Global {18227628-DF90-4C47-AF3D-CC72D2EDD986}.Release|Any CPU.Build.0 = Release|Any CPU {18227628-DF90-4C47-AF3D-CC72D2EDD986}.Release|x86.ActiveCfg = Release|Any CPU {18227628-DF90-4C47-AF3D-CC72D2EDD986}.Release|x86.Build.0 = Release|Any CPU - {6D93CEBD-4540-4D96-A153-B440A661FD09}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {6D93CEBD-4540-4D96-A153-B440A661FD09}.Debug|Any CPU.Build.0 = Debug|Any CPU - {6D93CEBD-4540-4D96-A153-B440A661FD09}.Debug|x86.ActiveCfg = Debug|Any CPU - {6D93CEBD-4540-4D96-A153-B440A661FD09}.Debug|x86.Build.0 = Debug|Any CPU - {6D93CEBD-4540-4D96-A153-B440A661FD09}.Proto|Any CPU.ActiveCfg = Release|Any CPU - {6D93CEBD-4540-4D96-A153-B440A661FD09}.Proto|Any CPU.Build.0 = Release|Any CPU - {6D93CEBD-4540-4D96-A153-B440A661FD09}.Proto|x86.ActiveCfg = Release|Any CPU - {6D93CEBD-4540-4D96-A153-B440A661FD09}.Proto|x86.Build.0 = Release|Any CPU - {6D93CEBD-4540-4D96-A153-B440A661FD09}.Release|Any CPU.ActiveCfg = Release|Any CPU - {6D93CEBD-4540-4D96-A153-B440A661FD09}.Release|Any CPU.Build.0 = Release|Any CPU - {6D93CEBD-4540-4D96-A153-B440A661FD09}.Release|x86.ActiveCfg = Release|Any CPU - {6D93CEBD-4540-4D96-A153-B440A661FD09}.Release|x86.Build.0 = Release|Any CPU {4CBEE353-EB7F-4A47-988B-0070AEB4EE7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {4CBEE353-EB7F-4A47-988B-0070AEB4EE7A}.Debug|Any CPU.Build.0 = Debug|Any CPU {4CBEE353-EB7F-4A47-988B-0070AEB4EE7A}.Debug|x86.ActiveCfg = Debug|Any CPU @@ -1078,7 +1064,6 @@ Global {400FAB03-786E-40CC-85A8-04B0C2869B14} = {CFE3259A-2D30-4EB0-80D5-E8B5F3D01449} {B0689A4E-07D8-494D-A0C8-791CB1D74E54} = {CFE3259A-2D30-4EB0-80D5-E8B5F3D01449} {18227628-DF90-4C47-AF3D-CC72D2EDD986} = {4C7B48D7-19AF-4AE7-9D1D-3BB289D5480D} - {6D93CEBD-4540-4D96-A153-B440A661FD09} = {F7876C9B-FB6A-4EFB-B058-D6967DB75FB2} {4CBEE353-EB7F-4A47-988B-0070AEB4EE7A} = {6235B3AF-774D-4EA1-8F37-789E767F6368} {6BCFED7A-3F67-4180-B307-C7D69D191D8C} = {6235B3AF-774D-4EA1-8F37-789E767F6368} {E93E7D28-1C6B-4E04-BE83-68428CF7E039} = {6235B3AF-774D-4EA1-8F37-789E767F6368} diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 93003652a8e..8643825c106 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -94,8 +94,7 @@ stages: jobs: - job: Full_Signed pool: - name: NetCore1ESPool-Svc-Internal - demands: ImageOverride -equals build.windows.10.amd64.vs2019 + vmImage: $(MacOSMachineQueueName) timeoutInMinutes: 300 variables: - group: DotNet-Blob-Feed @@ -255,7 +254,8 @@ stages: # Mock official build - job: MockOfficial pool: - vmImage: windows-latest + name: NetCore1ESPool-Svc-Public + demands: ImageOverride -equals $(WindowsMachineQueueName) steps: - checkout: self clean: true @@ -265,7 +265,8 @@ stages: # Linux - job: Linux pool: - vmImage: ubuntu-latest + name: NetCore1ESPool-Svc-Public + demands: ImageOverride -equals $(UbuntuMachineQueueName) variables: - name: _SignType value: Test @@ -305,7 +306,7 @@ stages: # MacOS - job: MacOS pool: - vmImage: macOS-latest + vmImage: '$(MacOSMachineQueueName)' variables: - name: _SignType value: Test @@ -345,7 +346,8 @@ stages: # End to end build - job: EndToEndBuildTests pool: - vmImage: windows-latest + name: NetCore1ESPool-Svc-Public + demands: ImageOverride -equals $(WindowsMachineQueueName) steps: - checkout: self clean: true @@ -360,7 +362,8 @@ stages: - name: _SignType value: Test pool: - vmImage: windows-latest + name: NetCore1ESPool-Svc-Public + demands: ImageOverride -equals $(WindowsMachineQueueName) timeoutInMinutes: 90 steps: - checkout: self @@ -391,7 +394,8 @@ stages: # Plain build Windows - job: Plain_Build_Windows pool: - vmImage: windows-latest + name: NetCore1ESPool-Svc-Public + demands: ImageOverride -equals $(WindowsMachineQueueName) variables: - name: _BuildConfig value: Debug @@ -423,7 +427,8 @@ stages: # Plain build Linux - job: Plain_Build_Linux pool: - vmImage: ubuntu-latest + name: NetCore1ESPool-Svc-Public + demands: ImageOverride -equals $(UbuntuMachineQueueName) variables: - name: _BuildConfig value: Debug @@ -455,7 +460,7 @@ stages: # Plain build Mac - job: Plain_Build_MacOS pool: - vmImage: macos-latest + vmImage: '$(MacOSMachineQueueName)' variables: - name: _BuildConfig value: Debug diff --git a/eng/Build.ps1 b/eng/Build.ps1 index 09f20466c31..f75a6661807 100644 --- a/eng/Build.ps1 +++ b/eng/Build.ps1 @@ -552,7 +552,6 @@ try { } if ($testVs -and -not $noVisualStudio) { - TestUsingNUnit -testProject "$RepoRoot\vsintegration\tests\GetTypesVS.UnitTests\GetTypesVS.UnitTests.fsproj" -targetFramework $desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\GetTypesVS.UnitTests" TestUsingNUnit -testProject "$RepoRoot\vsintegration\tests\UnitTests\VisualFSharp.UnitTests.fsproj" -targetFramework $desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\VisualFSharp.UnitTests" } diff --git a/eng/Versions.props b/eng/Versions.props index c777510ee44..14fa8fcef1b 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -207,7 +207,7 @@ 3.1.0 5.0.0-preview.7.20364.11 5.0.0-preview.7.20364.11 - 16.6.1 + 17.1.0 4.3.0 12.0.2 3.13.2 diff --git a/eng/build.sh b/eng/build.sh index dcf77ccf66b..5e452a2d30a 100755 --- a/eng/build.sh +++ b/eng/build.sh @@ -310,7 +310,7 @@ BuildSolution if [[ "$test_core_clr" == true ]]; then coreclrtestframework=net6.0 - TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj" --targetframework $coreclrtestframework --notestfilter +# TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj" --targetframework $coreclrtestframework --notestfilter TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj" --targetframework $coreclrtestframework --notestfilter TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.UnitTests/FSharp.Compiler.UnitTests.fsproj" --targetframework $coreclrtestframework TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.Private.Scripting.UnitTests/FSharp.Compiler.Private.Scripting.UnitTests.fsproj" --targetframework $coreclrtestframework diff --git a/src/fsharp/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Utilities.fs b/src/fsharp/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Utilities.fs index 98dc44fb6c5..6bb67d8a17b 100644 --- a/src/fsharp/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Utilities.fs +++ b/src/fsharp/FSharp.DependencyManager.Nuget/FSharp.DependencyManager.Utilities.fs @@ -130,27 +130,46 @@ module internal Utilities = sprintf "%s -restore %s %c%s%c /nologo /t:InteractivePackageManagement" prefix binLoggingArguments '\"' projectPath '\"' let workingDir = Path.GetDirectoryName projectPath - + let dotnetHostPath = getDotnetHostPath() + let args = arguments "msbuild -v:quiet" let success, stdOut, stdErr = - executeTool (getDotnetHostPath()) (arguments "msbuild -v:quiet") workingDir timeout + executeTool dotnetHostPath args workingDir timeout #if DEBUG + let diagnostics = + [| + $"workingDir: {workingDir}" + $"dotnetHostPath: {dotnetHostPath}" + $"arguments: {args}" + |] + File.WriteAllLines(Path.Combine(workingDir, "build_CommandLine.txt"), diagnostics) File.WriteAllLines(Path.Combine(workingDir, "build_StandardOutput.txt"), stdOut) File.WriteAllLines(Path.Combine(workingDir, "build_StandardError.txt"), stdErr) #endif let outputFile = projectPath + ".resolvedReferences.paths" let resolutionsFile = if success && File.Exists(outputFile) then Some outputFile else None - { success = success - projectPath = projectPath - stdOut = stdOut - stdErr = stdErr - resolutionsFile = resolutionsFile } + { + success = success + projectPath = projectPath + stdOut = stdOut + stdErr = stdErr + resolutionsFile = resolutionsFile + } let generateSourcesFromNugetConfigs scriptDirectory workingDir timeout = + let dotnetHostPath = getDotnetHostPath() + let args = "nuget list source --format short" let success, stdOut, stdErr = - executeTool (getDotnetHostPath()) "nuget list source --format short" scriptDirectory timeout + executeTool dotnetHostPath args scriptDirectory timeout #if DEBUG + let diagnostics = + [| + $"scriptDirectory: {scriptDirectory}" + $"dotnetHostPath: {dotnetHostPath}" + $"arguments: {args}" + |] + File.WriteAllLines(Path.Combine(workingDir, "nuget_CommandLine.txt"), diagnostics) File.WriteAllLines(Path.Combine(workingDir, "nuget_StandardOutput.txt"), stdOut) File.WriteAllLines(Path.Combine(workingDir, "nuget_StandardError.txt"), stdErr) #else diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index f8f0e748491..fcf7966b168 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -1,6 +1,7 @@  + net472;net6.0 net6.0 diff --git a/tests/FSharp.Test.Utilities/Utilities.fs b/tests/FSharp.Test.Utilities/Utilities.fs index 0f406246d7b..96733a04b88 100644 --- a/tests/FSharp.Test.Utilities/Utilities.fs +++ b/tests/FSharp.Test.Utilities/Utilities.fs @@ -107,7 +107,7 @@ module Utilities = let systemConsoleRef = lazy AssemblyMetadata.CreateFromImage(NetCoreApp31Refs.System_Console ()).GetReference(display = "System.Console.dll (netcoreapp 3.1 ref)") [] - module TargetFrameworkUtil = + module public TargetFrameworkUtil = let private config = TestFramework.initializeSuite () diff --git a/tests/fsharp/.gitignore b/tests/fsharp/.gitignore index ea4771517da..97071d47988 100644 --- a/tests/fsharp/.gitignore +++ b/tests/fsharp/.gitignore @@ -15,3 +15,4 @@ Library1.dll cd.tmp *.err *.vserr +*.pdb \ No newline at end of file diff --git a/tests/fsharp/tools/fsharp41/net45/providerDesigner.dll b/tests/fsharp/tools/fsharp41/net45/providerDesigner.dll deleted file mode 100644 index dba6bbd4f9af3a2afba0a370ac2964dd52bea07e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71168 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 F{{ZH&KaBtY diff --git a/tests/fsharp/tools/fsharp41/net461/providerDesigner.dll b/tests/fsharp/tools/fsharp41/net461/providerDesigner.dll deleted file mode 100644 index 06631eb3b9874bd10507d4f58236fdec891eeb97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71168 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�Y;?8_M(t4g0WR%(Tpu~ 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 F{{XVQKWqR1 diff --git a/tests/fsharp/tools/fsharp41/netstandard2.0/providerDesigner.dll b/tests/fsharp/tools/fsharp41/netstandard2.0/providerDesigner.dll deleted file mode 100644 index 4cf009a4fdd2943b4ab16818d09a39ab7c42d511..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71168 zcmb?^3t*g8mH)ZlydRm&E3Y<5C#5aZOd6U;Ur-?Fi-x{m&|qM+L|2e43MHH6*g{z5b7Wzs` zQJT|`n>5RrS^CneC|E*xn@EBPEwKN*z*pKBQR_(NzzFaeLFkJ-Y3qdgLGEqM<#T<= z7TutuG&GEB(O(y|Z_Q-}vtSfmp|jW^K8bHhQ87vW5$)$c*3BRntw-X49FbMh`ykO5 zhK1#Afp;5Ow8C%9G8~5?!)Z7V19vtz8i%Yalbd66-Sl%v1QIb0F)5w|Otnv=jMS6-}mO5Z)!O$ zkaKpSV2a$?N^s{=pcS_OF6eJ2`kIlAA|FO8c90=b-9*Es|FgarutPvy_q`?hY~syQ5o~#NL{4;DWIJ{ zsE0{~H=aauQZ0epUOOE4;?gT~V!rHL2$~bf-EQZl$e1X&LJJm)q~fOM!M~-+**0z< zI>~8NA4W8Ep0+p}aB^{kTK{2$PBf9jtS{tFB6|8$ZX^E{bn9WnIHytbM(i*`6n86K zVZ0GL#7NCKo@6Jp5=_c$&9r}VUhX-&Y1}sfS^ydRH<{Hq#8S-o9CC*|A#Z*jD#*_V zfXksIV%U4i73B7VW1(;?8y<@7ZS~&RJ1Pb|Vdy zNx^~!Eu^*q!uWv-(DO&QqF^~ajW?<=MNRbvw4QA2{C8MWXQLyz1jP#KVi6?jw)(WX z&_dL0?3jWS<_o_=##&1tsv_>>QV>#)rM?r7xqe*b(~5f{9w_dy6nD*vs^l{8`Q6Fo zxU|IFF>k~xX#sPpQbxQPloiP3X5R%rQqAs|FXBtWt|^V{HeX2RU9H>9Yrl7+&4>nN z+I%glavF~8O2|wi;-s+X3FOXUpST#LtKBybe2}Z*1z?TG>-OG>nv~RZjOo@ot^EZL z3_cYx@GjJaUM*8s6!x8|?dy~ZrQi8)gvm82J@!VPgcbH&RS8^3JOdU^s zP29n>>ST9N$<^TVqb1dC74B-?0FYF394ebWGMg?MwtU1%2S7(V%e4W%JPU1rFKeTf zbzV4*c*7KNUguq0TXGF+%g$S2`!3oF7jR{}koD}dK6c%;NH*&}oK17LX`OB?GxoCU z!0F)Vv!08TjZeY@jt#=0;nmB;0B1b5j& zV}w(xGTv;BQkLAD`w(}-rQl6MUdoZ(hGf8F%~`yMxB}%cO_i%lW*l%o%l*f@zLX>J zuVB|xkKZw^Ysa*%j#l@z@IS28WKb0bK=NH&?RE=bxr)_Us+l)O+(wK%`71L#56Lnv zi^%J5anz<%O?7XA_usw7Azs*3CwH(=%u1;i>}OmF$m!~Ze5@!^%^N2Rw_2VL2&x|%anVP`!1PABcXWNbpl^RJz36XOtuy0yD4C;x1x zHLy>k8?Wo6kDb&8yJPs3^(~AgUWj8N%oujllRK<1X4%jl+E!krj{+~#SC=1-U5 zImGL=>`oX@FZCpuZk9a;mK_A&Dx;61CFmH%G>^S$%hZ%n-Ruq+vZnM1O!h$@Zw#yD ztb^-^`<0R76y0_R>~K4$C3;iJ>36vE&+{0P0TuM-Uu4APE?OAL`XS)bBWjk%987MP zjPuisBv13s$?Z>KKY`Pa@@q~^XS_~sF6&bWy4-JN^B`3Bsf%ugY;63tU7V~#GKmcbmPE-tAYhkr79ZwtS`*ql$pIiiZ^#*PK`+=IheGdS=b8|% zu;hhg|JAt3k^^H^tA zeng~ZElAFdkmdrCZp~e8*9*P4L98FQ5Bhz`&O5`o6}QPgw`$E5MsjFcxcR@0?4V_| zSzv_Ga7@HTYvKzw+cV|rI*j#+7;lDLJ%_RGhjX;%9xc+L$!*yPItl~MeQjE6?qBUR z@>yW>6~-YJSnjBg&mCA7ZZE6$cH7Ge+wJ9ZI)9^%1MpdbPep3{=7FG*^0+Zpu`iah zJJiFCZuX-GSL8e%>?(^+c!^-EeU_~-WY|_%n23>P^VLIu12 zSj`8av6@+(OM%rHkH?d@K#5~aOkM>|ij`9Fn8!269r4Ub;dTHvo}LyUF@I_ywxD~# z9P`48AvZRu+=zI7JDWY?Db9$&r^MnZ757ZQ`TQsO0ahFG+qnb| z{T)i zhmmO==+t_%7$dk%gkv0M@~@#?@~?oWPM&!igDtbQ$BWR6dDb4r$$L&ppuTv13@kVl z&W|&zv~P0Wd(1o!okBT`=7=$Bz_qbNieNH#BoVJu2t7xbPma4)(7Om)k{1UPh(R!d z&*pkBb2+N-M0im?$ISyVXLZE6wPqWS@|tZmTlrL``Wyr|BjS$XeCLDA81u$_F@JR| z81aBJ5D7$r?M)GHB5R^7o+k5MvaIkC$LP7qax`DSSqT_5%6Ehrd3LoaJjWr*1 zLB*NXnj||-F3YYCYnjM>X#GX#%(BX05<-wA$X2 zyOB=0@z3CGMK#ay+yLA|5sj+j`D4;4xJPm~szPf!IUDzA4spWFhlw%$^THl{pVoZr zDb2LjIK+uOh`7fib8>UeNPb51%tsb1w}3CM!waPZua*4-;qqr3lFUQQDW1i%v0Hp9 zZXDtg;*3f7uOBA5k(K4OHUc!knIlF^2%DzlXOZ3FbUJ#Qq0^LW7fDTgu9N{ETpagx z^lfu@?uRgcvmSsLO`qq27r3+c;u=Wa2k{;`ZE9(9=bmSW1j#S)HRzSwPWm=^m{OlL z;7XOqZMGAr3-?;Tz_cmX{xe^o%l&e_tS0$IB=orF%Eq*gxOe*{W|)$Mab>;Y=ks3q z%l`}189Ptf0=om_{#k6ct%BYKE{wv6Bl!TbaBTf$Tmp{dS8xeBk`Lli;YdD&OU&s= zewD8-NAhcY#pdr{aZMg)1jCkvV#$T6E8>b^VSuJVItDB1Jpmrnd%o0*H6JH<7=0ad zz8CimoqvI;mz(#vgdvLYz%)npVKDgJc_`v${%>mj3rqOnUf^e%Bm0QvhoZv&Z<@cW zgdf%dKhqr9Z)twCMfgp9yM-V6a-xjBOG@NveVJzK3$=^&U0TAg^<|o^FVrs9cUcL) z)|Y9vzEInZ@tFKJ)NgKf=$jCH_m{_q?E{a2Yizm5g6)_WeX&CDFX=M19n+0NOfk>g zjT#7ZGNVu>G|PS0LU}}9jFYeE@;Iu5047Zqz*Jj+rRx>CTw;ufI;1xAvwvD*lJ4JU z-B(IosN3w99>LKsoG8;T7fU{$(G~oNX?DN-z_hdJN2^NsXNzAj&F+^Unf#_7tuEo$ z{lYZ6U!GxptF7(2tu;IB`|?G7^J8w`8j**4+GgLZ1&)}vPRR7v)mngYhzUDdqgK~2 zn{8Q%tEPR{OF`I&6J_kPLGnxO!!+AIFO=G6V+p^u57TV>{H)YIn@ae#eVAt3=NBgb zceF2V7XFK^b}_2kg;;oo*!F9--4-c(M!uJs?-GmeQPhc8nVK9cUtzvWExyyo)IT!c zR*UcM)5?3D`L+pPVcc9MxZPGp&9;IEBbCSI<17+m*iD!idC!Xd1|KmRhd3wu@0=aN zDNOPSq;S0bXH-;_hem|*YSaVEg{94r!W8bh4V1?~Js;}8qv^#jZ2D_6(k`zdbs)6#B?yB{Ed*8h+%&chh(Fo)QG zA?)8G@qmfR{{XNKzc9uzZy(|^j_iK|;>IyEd6LfpCZFSEGh}0gv+SSn#d-K7E|X+4 zv7Br!W6Nfy64^^OUA#n@PY(v6=l;&txvd>@JK7cj!BanjfWZ!|kFO;D9=l_84X|midPJ_ii_JcsPBbhsz%HFy}`A-SiWozajLiy`M8ebeoqs zU-Gh6U-kWi&rPrRz7N>s5Bc46fxvA7Z}GFV@B3NWPX$&4Sc10L)__tW(ZNsO1Kmx( z53qz(FywdQiO}olS9Cs%{42UddhFdnuD379_5Kf_pDHW3Ew`ex+_Wpiluv}%wqFXd zR^JnNGNfSP_DZ&Mf8|A$e)?;H4+4hh-z!<>Z!1}5dzd9$7iMjL0vM7W4AGGY^IRTf zo*glU$vAWVGX6x|O_f!HxMO`8pr0PC{(QBcrq!^7i)uJ`OAVLZ3FxPhnv-a+?$cZy zQ?8owL>#>@FkR0Yeyg4}oZ9d?b~r+;z&H_4OAy@#i)id9uw&-4iRfTp_XG3cNkun} zC!%6I7t(Qh4=gtuAI6%~61!Px39j0()BsNo8A z9gaCF*!zLyfz{!}5yKGJt-u-}F)P?-fHh%te4QL=JPOQ3bMOR?0_P9a4;5n{lZUf+ z7+r=7_ppwUYi5-A=)c;42Ju86Cq9yc*U{ioK(^C4DU}pnsrDgOT!PfDc{X#Gp8ZtN0i-JXf z&BqzruLNrVHifp(uLYYe*d_F`VDo^TOPA6sg7r$?R{Eo02Y`ieV*0vZ*8^*(%jnO7 z{VlKyunT-cuzP_mVV_g%FOLIjqRYvlxb43HHidSQUoeIEwgTg)La-pPC71`of;9rW z7`x_}VCMi^OS`EGZyp?SuLb-o_XfbZ-d6w@csacs4_#d{)~ePzFBw}1cou!k|31Lm z{Wk$V=x3hI!Pzc`9e@u8F9G~Ua6jNKly%T!!NW*@KX?T2x!_Gs2mK<*rCtuc9~6JZ zt$+S?lGYl2Im)%{2s6(^-kyMi z?us$bT<=<>wGNu|<={?GR>zt1vN&t?3#n^Q{0pGx;w6m_GeF9L3D zTpB|pZyW?1YWx!5!NyBmr=xS(TMRUfEw(;ph& z16W9}M?A#LRXgh5rWEZF>^i#9-3!|fo7msDGr$fA_6QAo_5;&@j|3m`+zxE8iE)-P z8$I_)!5*QDJ^zmR^jRBw1~XFqbmn}7p78#{s3gA6z?ky=9@t!sc`JRd0b6Wh3EvyQ zmYLXpy7#L}+HPWteZ9c?O>C`T!y2PrpVLuE*Vvff5vKQ>*p0rZBT64Pv2Xh7fqhai z2imYj#p#$})pVVIfg?`$3U)o+>Azl8(?e$7Kl`^hs_9`f?>O>m=t&cM)PFm$lY(96 ztq){?y(ZWSgDqG?;j_5yKc`gS2}cbbwXxe(E!}Hk_Xd=+mWF3&&U*t>oKuL;mbu)$ zftk*!v|2FM`a{lo>KE*KstJC~*+_#X))d^Y8fnDlyd8N*%)C{>UNwzw5{&zAj%yly z(#&Hi3A)F`SW1E(vN;#H67-mv$5NW;Sv&7lR}(EhoAtboK3lO3=UZC^d&K+Qii7SH z9ncs(Q}G3051Dz<&^O&3bkfA8h4y3l+@EAAk9hZ2Fg9jlEs}TC#8!lQk@t|sXjABi zkn$rFn_l@5&q5l*@`3&AA1dd17tshWpn;vL+~vKHPMX;3m7nx>(J?G7IL`<_@v_I?xV66~mnt&j9V%5f9hA$dR2nD?WS_nL|Eh}%T*HeEZ9s!h~sV}8eG z+H7JxsxF}s6XQ{J3EieK@7{`!Ik(ciCdT7-E4^%DsHQ{lFnpVD8zBS==Od9*-t9Ek#CTL~r`3X8=Y1yfasPJOBiISw&my-Y?}*N$^P*pH zZ>K~jOJSe?nZKV#1cQG@d({^%uYmG4`M;K`Pd9i0uF31NO@OifU0g9U# z+w1_OeK*re6MH^( zd*EgoG_gO$dezM|Vq)(2oya?&F`46Trkey~yL=OQkC}N~--qd0vmCeK!*t5TZi)8- zd&$HSz83-?ruYKgzJG{kkT*lH7=0;zVerE=W@2x|zaIQsdcefuRlOB=&`LR>h|yrx zV-=sGdrj=GtKO`*kB*zzuc{V>zC@kpat$$ht?FRtYqZ_O!quM+Jwk&fmZ<)A=ux`H z#M-O>EA%)$X=2-|J1hU4y3W&5-c$Xa$|q>MiTzFW7b>5m119$C>gnO{(w@c4$#%Ir z{C)D`J_XSU-@`Tg)l(GKmSIN!|V7XXt(tn?B`#fIXx!-zTTkM*fqYGO<4bdzM}@InSRu zE%F?_CKzko5&1FIUcg$fFy2$YCh|Oe+{EfDx2T`eF%!G3{(4~FGO;`Bw?%$RPny^l z>)#FRq+mSzUJ2}FGw)*04UrcJQw#od-YKdTY=v>L=hn#2sKw6vT;%7p+Rpp;$cuE7 zU@`h-{d1B3qI)#vUE7d|{+jML^Zurx6Iil~YlzW_hV{|k&|DMyS;HryzomsH_GiJm z1dG%L8@ITBOIrogE1lm`uVAd%^C-8ci1TF{vpIhqeVJ~tIg_#9(Q9_zhS=}P+fDdm zDe2fNR4W+QFcy1NUN+Hrcg6ldEA6}|V}GQrb~zRQ6CJSgYU8ib`|Z4u`0I4Howp(O z-}Hc;myZ1peap@pi~X5?War%#`(Jv^&U-TU24PY+^;GdUiCp0 ziXS4uk*f5VS9RH(8)9Cy-sVile5%*Z8;kkXu$^~TETC?&^PY?a)loZ7#VgctJFhk# zQcv1>Bk@Z0vYod@h1F|z-bdqMKexia2Me zdx|(`sQYcs=c6;!Lq(i3)l)^BGu5*;=M9mW>QoWuEcIub^ApA_6*Oot9B?RMM zSsqQQxptnnYPK4&^R}ot>KZ$*u4;~YzhK%Dt?H;?95K(UYE@4PhBY+iu?}_8#CVSD zP%oR|wfFs)0c z>MG*wR4Z-HORGB7<|58{YOsiNo*J<^>#F9du_Dg->f<)&<(2c*y*B4ps}`zPi}Dt$ z;7ZH7HyV6$uW(Ak=kb39sBk{R>0N+)*1?od3+0PKc?i%+|0Z-@igO*rxlWvu@cE|B z9r1D5YXA+Joc@@f>9+$aoc1uhBEV3~ETlC>;dE#sKXY2S-w$%`bAWsb#F{(^=#p08 zegRIiJvbM_GhR4B;Rd}Eb6S>RPM2_MnUgt7DRtq3ZY-xXw^;HHaF&y-OX=1XOPJgj#eMX( zNTJ?uAnlO$S}l6}R?=Q{dz2-N13INITsUE4tKJM~_4TiWhb243sxJDS@Mte`#+b7h zPWC$He|ui1wYm#3`DCx475j!;yxk){Z0T0q-nZ}D+UBd{T+5AsPMiv|hCHSePAtp& z>Iv}Ro(p(9;-A`APtVVsZt-Vp%obbwtSYXt1<+0N0X-twOI=8xp8tsOe_#^--Jlpa zo#PgL327%z=UD!a0WE27ZB;L^R)0DFneADKSBh3vv;3Ygm8oK}BChTG8FL z47b%WeLJ9ob^VQM8pLVcgHGv9MYl+UH|Mdq52kuPv1NmHTStQ%s*tLC=_KBR+X)qgkFCRYWcFd`Q(P zthK?j0cY4gwcT?EV4vr1NaM34mT;eHf`sp=h{!)i+r2Z4ZjpJ9r0)m)8sjFMbl+(7 zfc^=iPMzbsUUdp3Et~@auLL~H!P2@M524g2j9b;~{zHz3h4V3?+@bjF>vdWXxXBx;OAkr2i!_puQ~9P5^$wU}@W(-v+$h`4l7^cg+Uef?fE#D~`LA zv}-o;$=ht=^V4TVXPmruTr@3xN8H&v0HwX>MPfJ>eZ6U&v@dB>2XzG`6bT`b)~?u${9wF zaeL*rJhO>UH8&XlR=LW%&0zgoguey+YdxKk?v(Uw;uBr;8ctnj6Q8y&mfXdXyG+u{ zOin%#TrJkP(zqpj$gvrHdZXbpz7&4Kw_SZBdQzDe7))yZ4VkR zhL`xqja+2A-zTSzN_{?(@jpfN(HW31J9-rSd`8@3bVNVvACwjiDsEAm*m*>;KP-}T zw+VSYe2vhL2>g`sr}zhhN2JDM#8$dV()UPuMAEkj{4#9v#fqDx)NKOWh))OGD1@`O zPfA}LlU`_18>-!v_n_6sUH1cCUipx~4aVKopY@+Geo*~bm#LYT2S*G~S2Pn%}9vtvN6JJN1Q{C4fJx?g>8(Ia}0YQu|W^XVad#Z-y7qfx1V- zCyX2Gz8`*8top22^y-K>U=MwK>Q}-&^jVy_^w4*v{s!rvOuaw6 zjeZT-L#qCNkglpf<=sY&^*x}p*4IY1(fRfJRS&I08eeAv9pYlom!z(jq^^3Q)H%La ze<(6T(k%jC73=kjwoNGeo5*b1*>FAlXQY9>=z|S2qkl%bmPeh&GYvOHgMcTZafAD! zQzR@F_!91#%rIV}rr;~lmnhcw8el`?{{o)fXvAKkwnh)&d5uB9<&BZpDdArxWtYha zS}p0-lHM%o&63_O>3ZyIZZ!HOJt%NQ;57ng7<_N9#bA%Bm$n=cdZ+YPr)YkYP!;J@9nKN*n2mNoKI>^q@}A3jtQR>{_VoQUHH9tLvDl9i}!>!8m)+~ z=c}dk0s5}$6L_7#BXlQn@1#|V;U?AWyc6{0&SOG)&KHFKBK;>gU&K9phQFd_ z2coDzrYpsChw4+mb2=2u@hPVJgzgj0CKEEfN$9hMXSSJUY2CupE%a`o_o#QNjI&25 zJwizfPg*Exq4X(k*8n*8I|qb5AoOwJ92d&CP_7fs8^C$ed4tez5c-`$|CH4ADWQK# z=-&|fw?*=|h5l`!zo1q*HySTU?u#PrMag|pavjE5E?C20t(F4riHsTC>M?_@bkul- zRyvLg<+xD30UlrUBl0Gi!2xtqLMREL z%n(YKP`ZTDp)?7lTPWQ^=@v>_C~2Xjh0+^f z3C@Z;0cQwwMkOt9nZRQL9~O8@pfe^s0+$IqCh%c_rvy6V%yUHGF@X;YJSC8-xL&Gy zforc~&V*1BLg|upm!!ueJtpZR!g);KaiJd<`olswC6KD~u2&<@YN=h|F@YzmxyF;# zT;q%y&h4sUN>>e2mI|AX(rQJTP`ZS&Oep;V$Ams6 z^dmw!Ch)k>j|-jZL|Pq7bJnr683Mb6-X-*9LKzdvm{3ki`lO^2Q&>V`3QOpfbg!h3 zOZvE^X{yvRm3g`(-6iQUNsmeTxTKFuI#Dk&>qVxddnJ8T(nlqIQqm_SooEpL2H}@< zucVJk`lzI-QFLe&9!d8~`naTzOFA)4MKAV8K0G0b=Ta$v9a0c8dj-wFvu&+ZgJ;@^KJ9r1Cz#*! z{21^R&ndu4?|%Wty}tpRF7OE-^9=ht97NX$37%_*rkAj z!r7{re^k;RkW#k^)HUAXXPLU*PX&8W>i*zbK-|qjsaHHd#0lnblyx{DaI&7d)Uwz@ zoP?gaMVj+K>;iD!7-RV#i7i7~%bXI|HQo)%;`rwPFKCEH*{TjcZ@|@nB|U%@u&x1X z1^_F88F&J<60jP3Qv++M7~pg~qiWDuu(yGoY8~L&G!-z3=Ti+l$2bje4xSn`=p1kv zG#6Y3o;f`mupRqagE|Ob-G^r==K!t-mw_iC+WI1hT&Y2QbRJ+o zo*XssOyPxqyYV!rfv3%v0uJB_PlJYVERU~n!c&_#U50D}-@~^C@G4pdcmOpR_*SM( zfY;*rNt|utNlAmoP>(_5^e({nqBeuBryYRr!?zS0^nTQA;QK!_u*d!IxiFq%#~DAK zSsq7vg_?)-VzmJ90<{RRU7ZKmrOpSOuPy}aRNa6})Kb8?YB}ICb&=xtxtm~vMR;Oz zHT2()CwKpWPSCgUH0mk(69sS&XO5~iE;WXX0mnxjf9H6>^@!`Q+}FEbbpOtMj;Gsm zyXP*?anF$VF7NB!b-us%ecAV)zE1yx{`$a+ftLfn4*ntd$Iu(0?#eZlcUP_pzbm{a zd@@`a>56{RpRJL^+e5GwC_dF~mWCt$}Tslan-pB_EgXi@uuvv6{%SLzFyCJ2!TRro9v;f6D*61{=%$+-J@gPdfHP(&qk{t8!Gc3zIA>7 zKz}B;ER!GDJ(S6{_74uyicNdcx#3M9q(??`nPusbbn8S$lWE=X$iTjVtJ5O`*`e}$ zi`QiPM+Y+((58d=k<30?xATfj-w5r?_hoZ~13OJQt(y-HXV#>55A@N-%)qXJOn=W% zek48Am!Tfc+BAYH@*@L%d0Lu9PHwbsB%ABmH#}&{ZQYpJH3-4bql9B-(&jW?G+LY9m&p&Op%Y6ipk2!{ zJ4bgjZGA3#;GpD|qlvm;8P4QJ4)#E^Nd#Jx8QGIX+s(WJO6$}3cKpmpCTC}sP^8i& zqXUEJOhO&ftF&gIFPF_{ca5~_K5bo^&1C@g4G#=va+@-_{R4d&G}+W$7b;?DAqhE3(qr*$_{roeAC-~9@G{aKFa<3V?@C7Dwxa+#wJLW8)i!$hu z^hlI?vs*CbMs+ZmGrHK4*UU)|d{oVsxmlx1F{O4UAYt+U9i9>h#qI zA15g7rdjJA&U zIc>CgbQtclkd_P#^+Sf1$p{L@rqdveZlvWxKkS$fbMEU03T2N(CIDXtCX7%B4Z zd{^7N`ExqV2J%SD4xugOnDDlSSd5#JFUwK39OW{3sL|CnzYX;iA??LTTM@#twNpa7 z1#OhspBWlKa$yIDl3}D4wKLD!31WKL~EI+wv{9@;&c-icIhys{B%D z9@7Zgyn_Q3>DNSgQs_&MSYvTB|Bi;vv4SS5M7ZMEJfM4S$I|rB#!R}OmBD}Q_SBur zr4Q2beZwOMG3Yp2bIc-bIH`4YW@z`w9_k(*&J6XN7aebCbJo^|L$FMnYtqBRh#>|0 zY|4)2`gp?1%S5Du%hL4VV19E}^pFuCRZXU9l~$&Q`Vp}=jt*gZMi;W0Ce5xVZ>nEJ z5PL1l^bMx@&06UQb6VA7*>o4`FJakT#>p`pLEdpmdT=zusfnXN#!7Z5JqS-4-G>-r zYeCBo^kpR0(NJcD*8u(LT)$Z}bJ0#6XWR?d#8}*hB5p=|@_K|x`$}!a*`@Y^LX%oPFti6AJ3?t|cCj3OA}0?X%U_EY zD6KMS!oz!3V?~4sp(npAvkOa`eqNO%+Ucn|?d?-+zw zSl;L!&0A9_4dj>SP_&;A(UE|mt%W|qSY8~5c3QI2)|ku7df9G5Ue*fc?1dqWQ8j|8 zPj)WUH!1Yyve}V>N9s9LYlwxzBE+hJk*`3iL?4Agg~o< zL}$C(ShST>+I5^`ci%+_dDhfr?$CIaLU)49t3_!P$8dAf6Z;nOXhhbqGR>M%FPq~i zC(T}w&W~URH-tGOXKvw8p^5Xd!pcLM3l-(8$?ngrQ>k86CPVw-&=es$YpE#yV`kccn3l ziG0&dIHPn*)0m$A#Xu(Kih)7QgIJpAxs*j0W>MHj&uMU_fy|(6E?JNuc0#5?c%NRk z5%&JrDK6!e4One@o|bbL%BBT$L6|`jdN#GTx4bpaWw6B=k^u~+qCEkZF+EsEU9%yA zl!oQadonl^EiR2s-p=d+GX{zY^=gd!Nl;7|vi-m!!;1H&d0`=zWsiGV8OScYCocvy z(@PE_2$<>h*#S0-g;`5a6JNS+jb5k<4%y4~!b2L338DzKI5=xXF1xREk;YV$vKvlP zHVT@P#kw5EPI?d_3JcnOBitg>8kPrWJILIJUYFyX!U;?3gcFrku5a>6lBs=G^jf+n z)3=v@r;pa{(ktM8?XbmhhNo41xFM~#5Zl@~yD?YPxL%4iP)0V5d>SGJhRxEOG9&EH z7RsU0M$lHygK`s>OI_^?=1TWl^@>c$(u>gjvJ~Z|;{kC2nHPB}Fq9oyKe}@e3o6J4 zyB;iz^f2>;*l25xd@XpR?c@_RqMiv9Xr_-?CPhR9cYCPlq+Ks&I$pku70_&~FfGmr z(q;T{9G2xE_D47h;{uZ_D-|P56Dzf=*Ij9?wTt?4WBMv{RB1a5TRc)CD@*wFpw1h} zuNxid>gbqXw&Sp^#xxEN-F+o;MAZp3>5Z;bgKVq2ajT+g6VS%R=k3dEL!+eo2p*LsWNx7Hm5A1YJxj?nB8Dg5CEfUNixc zj@mo{})K12_ zz%&vFVA)**yY&Fndv$Atg@9n4XRjL?Jh(cW?&mp!8>8n+S?O}&GEQISjJI|2>8-?l zb|^X17SDR;vY?lqbZvn+UwB)m&*e1Rn8{}c_lvzmuMybn|6f72eBRpS7M*OjT1&pS zt8j4_w&I*;@Sr{uC``X_)*b2G?lysPB5IB?422Gy)~5Hu`D7Dk()A#HM+%hp;+?pa z_fEyVgFY-V2{h6Mu_K9IkjOln--Bg2uOcy2dX{AdGrMszpb2dpKdh1Sj+9UL_wT@v z)@GP%$KBdywe>Wo|S8sM7;_f0(S$FaPe%d@@t#HT}=!>LX?r4MzPCJQ;?TOhe`l@Y>?K%OqK$Lbr* zcJN6<$6QXfbFy8MZJcbAjAtkgQ5&x0;14*?>%nt7`|+K2d$D*)pa=4RL%>IH%|p^K{$=sZ#0c{H zLED3C4xd({Z5H1E`eYb2W^m1*w8eW7Ff4rp?tzqkJR3BTGYyUbNfa z^j4CKWv)c2A;{+XsiGANu|CLTohiVWnLh8WWNt+HT_T0caBDZ?d8J{IIulQ^%tf0Q z;;AR{FotW}TGP@Aw2E8DcF&YpFb&Ee@~#qjbm11{vYpR{#=4iz2DVGIO`z?}yA$mh z1a$~kwr3tXq|uHHso86h&pmT`i*JFAm!WS{_@Ixbow)=B(y&tw@(&Va*P;&H%WO05 z>w;z38`u_osCySanvXpJZy7+s5co$-d$E3u>;7Ml+^m#kFFI)Z0A2N$*Tm4ky?g)idUgL=Eze0Gzpc8qZMH{@HM&?9+l}p|Et~*lNGJ@k-Uj5cRguyV5ZV&pakJiH?_u z1xJylMQ>F?`)xOTokv|B|G39s^S7)^mn^F5ytk_B3{hvx+bL^}KC5S!!oKW5S@cae zt|QQV05N40DQ*ibeJiQD4NG7zj#UL87=Q#FscGBWld%TnE$?`nk^iE%lDttokTqf7 zE3Tnr9;htN!TjgjExPPLid%&}4rYh_1)o?oF-oy-YfI`l$Ud3?KSyaUZ$%&W433Qj z8eKjNT5-fHFDrvKuyu44JDp^vmq@QDuAj#KV0FB1zI}cS?6^4l!vyMk!Vd`1@0L?at0`j@9AzYuDJInlY0cz}MkYmDPM7VG?0JU1HW(1S&lRnT ztYPtXZTnm?JhU5wcA6C9QdQ9_O>)c;bJmMeOsi-08|tIm>O(9HB@JeXDQPncawi-C0J$&=Z5PTO7Ya7U{g2?C3uAkvv2!Rx_n7>#(!+TmCAUD?z4!FUb z4Q_~RXe1P_hy6hIx)Ulo_TG>;;owVsy_*~;7K(U0z){p2t&28^{@jFt6sU9;Y{2ABrZRD`&d!W#eN{2g1r>2rHP$ zfV)LKK8$erAFao~L^Od0;I-eer^6m^X$Gu>v9DujMKYcw z`ZKNSr|F@D;es$%CZ@S%2pamr0^?qxM8^J?6XR%hOM}QbT{wk@2p207qeNjioF@8u zT<}Qr^9eXfZ^DO84e@Bkct5R@lFQ@&t%P$vH0O(q)_MdWH4Tcfgwr)ZhTb30MxGsN zPQw*Tc#9%L%oW4${zVhs`jQEzL3_*V0cm3bVI27hSJcO0JTmTUh*n`D@>E5}F~9lr zywws}b9UI_YJ_@=j2Jo%P}JoCxyWc#cx@kX9`RZQ{f@#^!e)=~tjIxPyb8)Or3w@T z$w&r`YKT#n$EwV%(_~@EXEHZS_F;0I?Lk0d^;t{mSKnk--vpMR z8BE5TpftyXd0RYw)XRCM6zih(eLKp`V`VHMS{6bKrkhgBvbOUgYY@*2%w1wX;*`(h zKt@Bf!7B}F&<#Q-%$w=)AV*urzF2yRfw^XH!ibKyp)#-L9B-THaa&3IT3l?rO_zg0 z<86^O2;kAGkioqYt#Wx}*}^jC70HAymP}KV@p*QCu`1(Y1ur*p9IZsuWnqAkEfE-_ zPK*H;EB3Ow>6Xwst!G_{$U3`|>mq9`De6KuCoBm%fT~cZxHwehkq7r~hcCwCa1e0+7y#sDOu#yJKb1f%uZk))f$*f zED+fOrMwUU@hsS*5V@o(y!8w5Qqu-3J?ag&fhD97Fc%9Ppc}A|GFu0Muo?rgFXxJs z4Z1N^)9tL&#{HDX@wTUiHTX_X1l%|l$}luUn)RMmICE%kvGrq;Xlz8Jf4hZ&%_Q!` z4$N)UyAD5e#+t);kH9n4?Q(^!cY1=-4eTQpcWH-A?jo~5 zk@jYXvVbVuMqe##Gw}l5@;&LD$udt@cTp!=EV3YXVU-jL1^k7biqm5lM*HNtq(Zw^ zDO@5cO0H-VTnDkj?1cJR9v9ju&9qxq#!oLqWr$Yg233)XCR#I%fz`xy8FSfl&MZLt ziB$m3AgW4fTV1;!@FF!PPw_ixW*9pMJ$ss$08gJBFy=+;ICLPi%N3J%oj;*CGlIZq zNAA*ji32!K{OHWtLE@-tiU{D!h2hq!64ClK7cUwbjYdbKvl{)x3i49IW{WAj25DoB zYG&9aOy$S*ybv*cw(ocKqW9p`r{%w)jCrhy@<(PhJN2VXbsUhm?bgps~SQLye>z~$MhL(fJb4w!L65_wpUMrKzSq65X3Zzwv2s{ z8za+g6TX*U)^g+0OU(XWl-{T7+s8aED9ken>w~5GydbtU8uLcyal4w}K`g#5fZZ2n zY;hEh+V(OL$0hjbJlX#E&=6gkXEST&#calN&b;XPkiprKMr~bea@#mD-h_9F^=ukU zp0tQzp=Bw%dc zx{#OW1^mOC)+$twYR67Gw6E*oBT6U3Y#ewnrf*(H3lyJbHTmqvY#oo4Q$=GXjCO*+ zLq#9AREJ$6gF{GRNY!(>SBnTz?$x4lvO4j?bp7ls%f+tCqvwOr!p)Dipl4!=0Ux=< z91NTcTnyX{@MGGgXIKrPDG8pV%5JVIpg9Lf-MmWa-vSQXNTZRfR|loXUR5T0DK*3$ zSdbBBpD3V_Or2C&Zf7~wl2>NeiLVA{F{M>iYuTm5$eJcoj*h71YSQO&5^&39PcbVi zqes12WtlAW4o(7YLPr_cQX%{UbLwVn~&y7b)b zdo%k7hH~kle0JaVU3q>xfBOiYxX9ZG&QUD>{C2#sG%#X4T(mix9n5c^s8lOn#CFMx zm_GY4Cbw>elbaFNkG~Y&5s&gwja7wyY|-5(PcKIJK@0m>h!d-9k!O7EyxfC-lVmyh zK^`~Wgv8q-(aFy+#x9!tP}7=sUVRy9&Uanj+g6F^TZ$h@?0M%^OpxT(FF85cyxtK2 zHlP=JFd@I>o!4WD@R$!bPSF*$mU-?mP(+KDd-UvWH@DbH%03wBz{_D3C0{oX=SK6B zzS+@{Zu13}d=(Sdr$^-VI-6RF2b%C$w2d42kvN(;=@H&{rfxY&{=!qZe*K^(KNsvT zJa+8l2Zv*M>!I!<9{Z8(ys>Ym8m@qNdyu^Sel0O*i3s-miI48Be7o*4QS3xP750Oh z{G@lN^ufQS@2Hki8NuR*q$87_8(i^@s+c4uw3{DhvmXb2XNs4~@bFPMUMcWe&#?NW zCGg37Wa(;6v>$Y=M<21aPY0|3V-nMn~ z7anG>D0!dJqo2iX4;DY-?lGTUfA{~zWYpTaeNSd^FncM!0j7UDYbRg7fjP-%BZ#;q zUjySWd{;mSHYob803T5OprqG&mA7g)`hC(HO_dYgdvf5tF0XzDw6`rb;bj_r`8v2n zzojS-9=aLH4=@Su&b9y$AkKNe|b z;oT{YgGKMua%KV5+RLlLRmiZt%6{WDQ1r$t()Js#6+QW)H(o1&6~FNcyyT5n)}iPX z*XZOoUTb%wugks7>gNpo)V^C^B(M}lij&`OWh0rM$K7Y_8{sfv4r_ZQD6;hHuJb3| za-I@@nT8So0K&wd4!$@s6`juDjA2z!4|>HDZrs}{R+^MT#cHu>5b89dhOs_em{ zM9B1YI2O0kzt4WTw2{l6{^ioz)4j|ZfoLA1g*O@O>9^#if9c(Ve4h5q>g+%mH{Vz+ z4mkNjoa8~nN>?E6qEldOwy#TG9j(w4x%tAWOfI%q=8D-^!CG2{(w9s9`V~knqAm>Z z#r%FCHmzmwu=)Pv0F;r~F*if?|`eE@P19O`1Ko=t%l(zE=;=S&71ZX-?if67iHQ6w)^ba&dF3) zj=y6B0d64g!?Hn#zX(rPCExKB9w?gA`Kv{+5|XbLsVS!s-hcPmFIt!7z>C%{nExHPw2`|Gg{Xf_V;Nc`ZH|20BkKtME@T?xM1XzR5CVbw7&(-*h zy^q1844z}~bAa*bocirLa=ATT+_QuXav~WLSgFZjL1KncUE?sS8w5+}tR}-zot({- z<`gG8!L)$U#pfe+fv{dk4oKwOC4w*2MVAZWgTxvsuo9^S_*|frLqV%G3^obVW`SEA z5OE2EOBrkh*mfB+y-Tt$XJVScYzDg+bVA+$C-ySfCwx~roYkZIui}DNgF1SM!8KqU z8)K%i>x66Uh#>D3cs(=2eBk*o6P5_|sK9>|_$h&(7x)E%UzakEO8P$}{hXvvO8V!L z{*|PE%M~sj`#oPq$6fm3<*e~ah5i(M#^d@@C-mtWIs1Ge{-g z^$pV!P1DbsF>}`0$=S`RmezCTws+2(zhL2_bI)6R{sk9ybuU@EY}MK~|7o+_Fd@Yc z!xf%4(?mnl`oP0k_%Ss3i<#Gt;A)V;_hp<4cP${JOJ=ZXj%G>4=WdN2CIVjX)OrlJp4RQg>p`dPiqo@U)^xvH%lF3Qk3(- z7F4(o#0h?~i}mC`v%G=ZqPU$BPn<14mp2rCL&#YqgH*(np|d8-al}=XayG@A&JrMU z9LiN9BQ7$Os%1qWLct(fA1GJrY?{&3V(aCsQ&W_4W_)J7fFiw0W!4qzWy>qH&ox!m zD`zsAtP^0`$0*Tjs>01ZvC2g2xEs|pEKT7HwM`pCaH}&lJC!1Jjx*Jgnq$}HovYfEvo+q@B%sLFr9LoM>cKb@_psy^ zboRBY4&^*2e$LqfM2@yqphVwxk)v!Ii9CGsy6p=yo#!OaX}0zA&r|c2vn}4%C_v-} zmGS2NFcw-U!vKkSS}cYHw;X?#JS0u41{UJW$lqGh!nc+bJQrVRK0%U!TU-VY$fDLN zbuJ5IZSZ@#c*a{@$RnKxDUbV!4p-5ox|Op%-ac1=G__Lf6D|@;s>?LtGF2(EHH#$= z!)cil-)6eVZn(ma#gIf6q@W6ZQGLGvbX@6_X8BW8hX6enOdgoKZZ2T%0MQE_TMfaVS|3#dRUROo2#TB+}t|d^~fH z0LYDjf)K}(I1<)}Gx(2(2fqA?{0~vc~ znbzsW6K-%-wNv3&Cz0w?_|;2Xb=Z~1Fz`cj()&sqlBZlJshz79*DXE^1y(KYSiA@Y zRxMt-cnzukRf{iO{O%%!s#u|}XjiQOQD~A;CaAI_s|7G2gVfK`MOBubRZDET!V8+Z3X+$_c9713@dID;founoKVeqVNUwrY6(N38=dQ z0xpVPR4>33a8`+cD=Yy}d~#E!3_`%l=*nsVrT{&nw9hCtsAh1F-@Vf%Gon<0D{&>*H0Bt&|1wb5p+NV zP1cyLquoTbU0=U`Hfy^+wSIn)woM07$tKsPr~rqWC2@4@9(YNsj1p1@|6hC8A752* zj+kU#P=>oO1R{LoMs}`)b*0tR&-R*97zvs-%&Asp47t%laPq%^h&b*nq z-#K&U%$eVJydl=xa(xw&2thEa`0+8Orr`0hV8obP%@~!aiD0xcf;j=I-&V+nHe+Lu z**GuTjDVGy+nkMwKx3JeRJ5-J*wIC>u;hi1qC3WTv(+WHIDZYrK#he!W$3}0MuUT) zbh|b{cW8qS?AvV1Zql(ErA1m=y>zgCWr98cL93+yhi1$;bnDHKPmKDU3^{ zl|Uy!Yk_``H^Y?5^n*M(LBFBxaQ8M7wH<>F;4gy@IPDV{`c!Ud&C)tJ?#f+KbBQ?a z&Mm81HWH3|a?5L$*GhY~qGrYT^!ALl=Pn&`DO$m_hLAp;yKKm1qe=wco4b6-<#i_@A0L|~4`Yb*({ z_n;Xd>GCvX*-%cdIZkRwEg4KIMa6eEIyxy_YV2-0zL;~ zG952LIl4Ebdrx-6$+Rh!VaW9JUZ$wP#WI~hj|$9vA>9WUB@V{6c2Uth>S3Ve#V`}; z3j*^{NDmEjBpv1p-NHEld-AQD7dyZbf8DiG#5%aFnSpdYIxS z82UDu+687uNIOP5A~5L9ijA18Wslx2+RO2#HYRiwS-S#P82VB{kCMJ@Cab#8SM2ll zM_jwKFRE1(mW;lHlpAPAv#QUIR@!kEJiiRj3uwpXaDD~Ot+WFzhp5jE`UF1PV|vmo z6*WhXhV*FG5tYSIO}>Eb$CPa-jc40N@+B_S8~i*viXN4z2C20Ma+*RrC5iTs+DAH~ za_Z%*X;MnmvmcaZ255ucP+SmfQ9wYDdo;m9KpPwPRc+ z(raHv?dYwF^xAKwcDfyIh_4-$ter5DjPf>>9+$lB3TfAHM`GeD$jjrY;){55;@dTX zcA?#kk~oE)kR+bO8E0s#5)~ij{Ge!4lHz(olPF6Omq8!RR!npPL1c1e=EL)wk%sw9@Hf+TmP<|<0fxRk{B{_qhlq8=C=^5yu63vwz ziWVe^^W-8g+uu#C{xhjV;P!;H2j!w9%E3@GHJO8sq8#`tWTqCB%bsDh$Cb;TEbWPx z%Pe|Il6)?t=TI(6V&zhhFtY4QX$ZM8E(6DDxlZaH!CGk?0UW%*0X|zX@*cZ}1S&*{i2IsopUfkA`+Yh+D@h&<=^$*Jl31=rCsp9t)LiLMSOIN09vndj<2LRi z^bJYk)sS9A!>&Y=C^Hk1@ZV5)*anEbxSKJDo)efuAsrgwh=Z}CxX7S9=V79e40JNe za4UUNU=D|L7%)oGVZPZd%o+48fq5gOH&9ec(qX>UEzDfnD=@#n@tv$A=`ee{g*lU+ z7nnCgdJ`~8(qW$O7G@s3ATV!*^cGZHiGwN7y%#)8q-k*x&!=w-%-bQojlPqTbZ)-w zVNy%#Ec%YX{1PXT8XZaD1~%|J9wwEWvt>Gmj)Zgs;}0bcCE3aCW=aR$oR7-92OSOR zXoDjP5})_*`qzU=6*}5TN26&Kz%NkvcS3px@Ja+8N}HToNhVP|QK3CH8H203qw;S7 zS|h!qlPmPjbb6;XRuj&V=@t4_NWU8Ah!sq1ip3{*oGBLMASY8S^lnJ+qVZDFl>?Kk zpgo*sp?8PVyE@TA?@pn2Pm6JWE`3*0doQH-hB#tbH`8Jk1>@B3dd-*yr<<~y=H(Mt z+4E$|j(#1|uTh(oIKa5#8`I6S9b~YOz9%Rjg!BPysS<}WF3y&r?|ELvrSWpU%mmSg zA$A$mI==SaB(4y!h~Zr_%=;mL~j*WI2T^LasR3 z5hwh(wdi(91&XkkzAq@11GsXqBc3OjIEqc5ptw?+x+RMY{VM?a4(7gN9C2*Kb-cwU#7IU>MX8WR$}()2MAulRqIOxzl`8(x$0(LutLk?>l$(ZRfabyd1j;K1aNk25&b;D`WB3T0F5;`a_14AB&5>+BF5JPYLi!Te= zT?7^uSv#n(y^OCK^dmPnRJa;LKlXMP>AUG6DFCfBkX#*-9mWG|f%zji8+ag8`3ktE z@IdYF@<9BM{_c-KSMb19G6%#1ui=3=#N@GzUXhHP6!J-shZ2>CZG-G+G-Cc0Wgf!$ ziLqlTWic@t{Ru!u@<~xo4YFEJuSya)<~RsRD6vVH0{B-8;Y}g*ppiT%4!we26X>BK z4+XT6bm-TP3q5os4~;`#NDBHU2PBgq1)WuZTuwg|l#wBi9O{TevG&)a(9b+faTf?ME9vI~ zQx|d_lvhbQ%+I@pSw*i4Octl(0i#4|)jT?B$$Y8!HFgUId;;g**y2REf*FwZvY6-Spca zz$>I(=lYQAM>^s_k~XB9b{!yVHVMe+kVgYVNh(M;OL73YQo4BD5OM>WDJ2RL??HMc z?LiNc8ydMG>Olg2t-?2k+z5Cj0uQZD_8^l<^r#2Pjg8!>JxFex&W)|HBDzX?kUS>j zG2=Ygw^&pYh z)!J3#aUqXGEmvY$H@2(hwX3_X8erCI`#PaNPXNzKu!F_6uhHs~sZXhBYL2sJrZ%-_ z!2Co_ZEtOACk*Ea;G7QUc;X12I0nwI=XlZxo&@LRIc^%kP0jH9bdD#F;K}e@nd9aW z+>Gh5NjaV}f~Q0iKY+i6-VotV3whc^M>1xnw57AO%Aeue(l@LjH)d9mRRhem^rpZ} z$Gf-c9dR(WeXuZK>rD?6H4Dg~wXlHMuuf2BgggWFNr^?VLWwaHnB(jh02uC+0NBis zXEr(FShBkpJWJi|UI55Otia@WR>-r^I4N-;cH@B;Pd6J60J2FNj@cp4hDs@MAoZ~< z8PmG<{S2iIb@y9YtetKd$}PHMgj?#lWs=(ImeaZA zOjW3s^SEWHn(3C++;VlSFmF&ZeOkz;!AvW0xwdB7i>@0pja+Y5Gkto5 zJxDiZ8X#NLOn)Tgj{rnTDo8hG8X#NMj?M{r4(zBB1&Nz!FZG_7={b!&CoJcGt)l7AV*cR0_rW_s=vo*S8IBzBWE(`SZ!ChC+D%ephuHYId(yBSdf z=4N_JYSp}u=fQ3%aWIn;Rg>QG8-uX4P|&FZ%q{e`z$^%P0k~1(V3KM|Z+r7sJR$+i z$LW^>b56+TWF2uZwyzpx>X#lSo5syQ=twmeat?huB@QKC@wy$Uf|pzA2zbd?=7;N- z3^I?mq<%YQER9SI**`0$N*Mjmmb9rHjQ7#(hg)4dC zW}gS}ahuk?MIkRj-BXe=vz6ayAJdtTrTpJ&vf@CaEI~y@4lp7$wiktb5sa-8i)L(@ zTO`?@W|2}hd+$;@wDXN1K2h&?Cr-z~6c${d46UA&h6@qgIy)QUxLS6%QlvKbn z{MJCEcGs||HueLl-c(q_4w}#_eZ+17lJ(2SPy^;W{YRdnL}c4D zw*T;&5xk}m&b#0o!)uyLDAU~tp2}-lN(A47;L~``nI(e%4Z-ty%?0VfP{lQic+J}M zP`VGn>v+v|C4%oo@Frf9_wq$%=^yDsk#9ca{3u6c79}CjGIJIL=Y<$mOBG*=;B=F? z2rOUE`H5Cw`AM9gQGzW9EI*6$ttEmXu>4%kFGvrDMDqB5d3q=z%lTEDkGeLJUsNLaKM-~?)5;RTe?agROxLCdLx{AIi8wu&jv<`xz^5&)I(O0^ zMUHJDx4{Z3Ns*(o=xWy^!6ZahT1su>xedFlL`rS5xoy6cQrp?wR!R(zQrpGcR!SZI z6Tz#v?Wz*_{4WGw&21aggCV818@P?`NDme%wb7mU{8L;?pQ1mBly-)^6O+D5Tze;{ zGJIQyNy}`pu1F*I-*{*&??lThjoi+eymKC${{!b)ymM&@R{o6O<-BuKiQxZ5@Mhk* zEzaj%44aqZj*vTQ9Z8gCqU_|v6dLICx?l% zFo_kpo6!R0xHIHVl&g{otW6a(Op#GZ5nnl`GHb12&6bi@q7j1K=p4(Pq6&~&=M3&_ zwNmRmgFAES%tLCO=W*w%^iY{;=)8hEH>3wcYMmRob8C7iq}F*OcM_!si`Y8pc6{!R z%k3V<3TBS?hrB=Q$Z`9BC8`GcfBQ%Aerc0YHTF00{!>e^g8twBxxD}E62a*I?O(|I zSEL6+g!@dPU&44qPvF{hLn;ky_P`p3NxZ7jcx37IaiGuMNt01QdIhZ+z-r+9tru#EJs8u?2%GA5SpeET#cx+`G}p8IdUN%SrN-ezlwlQ z2y*=f^g9`aCtdBtA5;qe%6gZbTechlz1*iSsC*v4=Rtg6m>%E(;H|2%sz$%Gzw6*^ zfiHkj`z)V`Nd2q&5794dkjEJ0F#$k-7=jLS{ZHjSOo$2NHlK~1= zE3vR<0(YKHp2!H7=Sdtny%;-S7X=`pa%ku|=DYwsF%g|iyAC?vdV%<3cjz8VBoKe1 z?n3p!p*ZgY9+V3&9{G(ShJL(wL^LWMnWya?TomM{R8JX!M6F-|g}-ymMZqG0wMXdi z2>!4}n-(Bzw5~WLy-N2ur^AO3v14ost z$2Q4iqpgrQa^#-d=AvQyiHqhuaPkNH73^srGgef)KpBu4gf;s-JO5uC`((4Bb9cB&-U9-$E*YlSp8UP0{9oq`DZycjVItfNyl zT7C3+gN{ew&jlr+!7qZ`Nuh!uF@FB+P%=o(_D1FON{Op?d;h}s0Zvba(qdjK|P#= zb4JQF4jh5)9!#m?oQ`_{4!6;#i5~Tya5&EleZhOe5qY+GPdFmaFM3ZnoF@)xc+Yk* zx+TxEJm#Z4W+mY^cGc2OAFvbcy*w{4#V2B#>2V+N@dQFMJ>dhM5K93B374Y|yL`Z| z#1m6+K)?y-tFb3!Ht9(p0Ef+?+UJlud_YI+3E8&)ln;0+k;YWo?E`ifJ#A?9m|sSlOL%E33a@x8 zD&CP;qOA(rj3P+eQ2~jyqwv;-R5b@rm2i)=Mf`PoJTbvQ|$$KOC} z`}g6UTHxjQyB4tzP>OP&YzTy4-A=)S-t(YT>=OI_Uh$D$k(!7nt%^3&t3KdWAAo79 z*SzOzG0&fRPdIGiwr{FEQ81-lQRQg{_Ix=;;c$#L(9gXm9Fgbi-t%>_vuQiFY<=5j z>zm@+jxCZ@)wg2Mo-MqzYiqr1t=wm8CA<=~65diPlN*R^t=wm8rGUh1^ZVR=*|O>i1#4zb5%`rg$&{BusMIEj9&_{rgT31v5Z)YfdtXa*FC;xAhc+ z)#JIYjXcRfWcDOm4-N&mhU_ogT|{rF{v0ymaI3?!=uPhlhx2U4hzfP*5cb zS-m}E^%hZv`Z-w}-6W`X`LnTgXiHRudgZZ@K)4!)1FimietH z#Nj+~R>gb5;XJdp88~E{0YyZwUl#WZYC?Y$w|r7-LjQn{q9*7%I9?J54R$r5!q)^$ zZR*l?%oZQjnjp=KC>drib@jR+f~^YC8hMun%F{AX4Y)4H7gX{EU@q#tOJKs3XLEdE zC0`gfoLkppx zN3Aw$ycR4STR(C5#buO0wx|R!bkz4zrItW-z@tzC%LeeWL8e+{qq&Q|VpD9F!Se+7 ziDSu&s<2-CAfwXfczGo+$Hsgmc3HY1gYAN*-qgFfw2aK9VOR6=T3$Y0+}Jj>d;%|@ zBJM`Gr}FY>BKAChXOJv?04`Tm^Qxid1k0r{3yn?|jPa8N*kz+;6a;_O^u9{ygMi+z z#2iOoKY=N;pEA5_?BTL`U!9Wj2GI_S^;`PuANn*tv@Lo9^mt3hzxNOS9)r!l+9K>9 zeJX!UO+~B?DwBRkx}V50mMH(^G5!>3d*K2eLkXay9|SBz=Xh=ssDHuY8KZnHA|?qd zOuxbc>~?vnpJc&Wd{Q!2mNPy&^jOApn0|qsMZF(lYPsA8!VxV~ zFnYX}V>lAa4&2v=z)?|A70*lm_>b!Nj}ziQ2E>10#=fe&KfW^M)tT}WGUWrx(O>py zz)^u4*?ue2)^?vr82^EXPb?4h3s)99j{Dn8M$`3DhYD=@0C>q~p!-P8*V-=?%Kl@V zVu=1ei5`1-%GFTOZBWTOq!Kqq1!c3`%}ialV3;+LD!v6dfAg) zgrWB==?jSiTtS8Fqc*RLUu!is{j!pCS8rVRvDNEvG1U6&)^A;ZmWzYdZrQSa)5e}% zGSnZBMx1X+yZxu&(jF-Yq_uj(`YUn$OwqkHi5qyjF0m=N>!~Dqb`6nVF%yTezYZ-Ys0!zgpidJm?dB-j@oT@~7Tq!A%8?y^pEE z#w_b57*h z>cpMY2uXiV7y&j!2cG36qDmbr1LX&bvCP24!|WrjWO<IOds!^73LAM5{nD& z;rc|($a}Q+#se;9gUl24hMhO)5&^YRzvX?>E<&TQfC%u{peh;NS{5gGI1PySndtbj zfM|M$EaEHw)gTUeTCvx3=QThRI}zpf)`TvpmQRGcPV}bu?+>wf zU7;&+H{iSt8_vT;Ie}hexOQ#Rl^Zs6MNrrOHUxF81%7}3`L``*o-}8e-a4iVV4;JG00(_qZxBNX{{=uJNt<)X= z!l^C&gJCTS6=gTT+Zt>R)(0DdbwFDmYzWo@d1G)@unEuDCHQ9WZ2wIQt`Po%SvqTb zMz96{)&|$XcSCSFB1L7_fI$Hv2?&A$nvev^ED@Ao(G5ySZpf1)FTVG}!dBZS zi;nEDU7f)ZX6!7sw#&|9mz`mEwmaI1Gq$5UP;HA9X0&7LpTUu?*u|<-EB*b>`M&$k zd%5ow$#%L6Iq-YuzH`3c_nrUeyZ4@#mPAJ?nND_PDjRAVuDhx~ysrD0U(SiyF;IblKp>1W zr%#VYeEReS_WQ`kx!VF!{a-QC|L1Op7u0N5^__`NDD;Ge{P8W`p@sIPGS5zQpJ&CmS};I{x8uu=RwxX z3s?T=y`TM};cphLEgLiI(AzIIeSOdS@BQQW$8Ir$EB}1d(_{Yhk-Nut{nPm8XBzWq zS@ZMj|FW;{mCkJ|es*%{k%v-0*ds2ZnY=9X^7`P}S(&9jC`*m5n|dBJ-8ogozru4K z294dfk(=+M0CuJjgTI?haCzpv1l>xIG%RH%7YA-$5@0hag< zfMMhw)wRRfeO~!*wXrOy+yAy^bHI zz)1M*XaUZsYBO^@OY^7{X_Lf^YK)0LhmN&)&-8ito&}nL ze-Yjlrqb#!H^#=uGQG*pfgZ%8OgzM9DaU9TNO1~Ez&nTdwHRnNt3_X0R4-f2C91k1 znF{dH+n?wOQmcd1=0r!3u5OmasPne=-XPuI-Vs#a8f0$6f)(VF(yk0@J1e%oqJ|OA zf$iDDx4kjQ+#8mJ7c{~8-zW7x8DV=aY|k6MZPdFJD|g!3ONqU1PF#e`U1UG;o+rL& z`1bAy(#f990d2aP`t>|2cE@>kF>d0mU)Co~vYw@W<19*y|Xsz15la z47R-X6zpcOAEG|2r?&4)VppnbYkLFiCWd9VzQ4a`tFv66+Bnb~^krlWtKB+IPK2>8 zvY!iJchj)!qJ5kDHYYa)sirOcsUV$BB>P-_za`^oFv2dLEyuSE*Y2%BUyy3YtgTO{ zgWe52TN{#nnOwd5#QwYsU4wjTp{cwi@wP#LEzW3-P^({}3@EbD?PjrUC1K z$-qs9cB%lkZpW;C%Cg*(c!BUB_>I^tRMxGtF{A6RFZ)N3tu~87S+_1m%lSdkWnidP!IyT{QfFX*v;-=(hMaWY?noRMxE%G4$C`z1t!Cu-OyJy15+-=e%ErhatNNyNv2} z^D$cX5nJ9Jp{$!bF{5+J*9(6kJJs9}%DORsX0mRq#@v36>iK%V1HD(7DdrT?IR=@> z(Cs2ymRY!leX|$%9GC#1Zh#$m6yRRkh=ywe4g!aODs=8*U>C3-xOg-{LzUDsWA^1FWNqjcaEYIyVEm-b@6w+u@x$lsO@Ov(@pQuNilJ?y`ZN9&ym<(;i1&4|wFL9Mdb2#xcjWY>n_I!q=q}|T<1$FuT6NqP54>y zCq3S>M9|ZT?`$jOam``y?P2`J_aIH}S)TZEI@Vtmo<3)#4(v1W?|ZyvI76u}+}84azWeojKzM#VF9GkBLY~;u zvGiPoy-UG+&Evt-uSg-3j2oK9rxpZBSl2so&_A`7&_d^tkS>F?SE8 z{nIadh2KsS!F@ZDo8MOIJNkCvZ^YmAxNZS-WAJ8~cPGRq=4lwP2E{+{c=ee~DzRZ8 z6D;d#-I%Fu=vQ$CG+!8t(+cWK27G2+} zuu(Di?Jx~`7OI}+bYsw!=nFdY+pjHxcMW*AD39&e!iQT0{VzO!>|G1qGN0ENbo8{R z(0#7s{I&e3@UfPLVLJHBeZE^P!m+30b^_v`*%>g8cGV}` zE!^46kT4V6lyaNyhjWp(&jcqyb{9Zd&8MHV9BGdMSli4a!lR$Ww!l&r`bn9DvrYSi z_SLK4GWdNCUo8H8Ed$E0jv{$F-X_Ro@p-s!i2sGhvyT=M9p00a{Qh1cI;8n+IZ(g& zk5or%ay3@kzKzK7+bt_R8LpOx`{(#U<=u8yGZV?t`!as#9TCQp4G<0c4C6F=p}91a zr3__t{Q9yOBiV9z$Euh8QA`&5T%N4+p<|(M?dwJVLH0_kcRh426}{*S8`#dRa*e$t zODU`YjHbiM4J3iFAt%P2zVR?FYh^&q~zYVd*jPxRhGlTRY4o#$ z83lTulrrdgzuglmU7c=oDVgW{%j_JdY;h2c3-}T`7?dE*X=yscLWpi`owGw(4 z6zF|jWTX1|#sa<0my9mMq5@gxJ4V-SNkJLjEm4MB3iN&;vbrYueOGT~Zx7qo`GL`8 zXeiL@{Jv<}rUKbdO0@5-1+t%&kj3JeH!htI7hQ(07sxt)EqdO!6v#UNEL!i%0$Jya z#dr^DgWtZlTiJ18`#OIsx(utW>?NVB^Rc3z*I}MzZ!q_Svd))^mR$qcCes_rI-e)YU~ zeJ-ibzBE8r3UgUl zR_E(P_fym#|nK4>0Do! z$H3=pjac~C0=!p#6xa(q2OI%T0%cf0tANG8TA&};4IBUt0q+21aCCV8RtKyFGQdt? zA20|U1x^BGFkT5P23moB;89>N@N?i*;5bl*0#^cyfmR>`>;(1!gTNcWDS$q0EwBRU z1h`4jCq4)q0!{#4|56e<5*Ql2HE_lJ_cN6I@*^j#+9TL(vmcBY{Z7~duOK31OS zdqL9Ql=O9?=OamfLilSW{{@Mch~1B*-p54#ucdrTL~feMy&&~}LfUJG$Tdkhzbo?N zwcn+DTrTzwOMJh?my7%p z(k^2~&udceJyMRJs2;KRwAeo^b7qUT+)Q!n+nU-bS&(w~*|hooNbOM6@> z_Wo7$%@O@eq`#h(^ruDNfP6nD<&8=Dvm(Dl@?+a^4+$IaQ!2_(_FSm5mob!E^22pI zC*!V2YXqPM!uCmXsLA8km5r(sAqv_M3-jx37OYiDmI#!VlUYZ)#053-R1{%Bi1 z)C;+z>LBNbP(RwU46vb&pD>jR+1w=z7KGf66=sCwQ7i+JS@$qe3YkUPHe?LVM+QRJ zNbYO+St+%wV@h6qwQQpx!hlRD$=d7igGE8G5v%V7YcX5rrRXJwiS-<+5Z40qi+B&# z1JHlj4m<|z0}cX%z#-r$@D6Yi_#9vx^Id8sFbik|Rsn55H;@6cz)oN{@Cft|o^;2Gcmz;_of0Y`whfD-`UM~udttpFwi(*eF`r~_62^oKeD`a}-^ z|6kz}Gi^L=qqt_2aW8l$ni*bN?G3dEbGwYWTV!`y+28CTJhka`JDb;IAgfJ|%Tea+ zZSt{f_$oDgx9jTZbc;hw4@<<*LzQaJ=@ol; z_;`=36?`{;_V$V&rc}F5zt~-vTQgofd%HspQK~JcQ*7a(skZ4t?1^Vt$DxNOy)o+a zioJGYW=fmxxAsaLob+@!S<$h<;CWPT4~<3ap)uoRYq7UX6j?N@iFt>kv^`w9$YX!F zLgf3ceEy**<+wcIV2xMK{?LXV1j@}-mnR&|RplHHIk`hnYRBaX2lGui^a)*E!W}kT z6I`BfFlVlj`p{=|94%Y^Atklx4SI)3hOl5$+0aL}Mr#U_2vn8B1QJd}hw zE7!>g7vu43!p%f*xv?wHqsuWIiX)e{gxi>Bx)leTm1!xiPVnE7oInl1`BvRM5G*- zCmhTrwe`7j{KG@um~r{S^X3!RC|kxHFSOcYYg|u!?M!1+uYLCxtVv%R?y2xYRsr*w`9%EV#)~J4$F7lXj+Q&y!KH@-)a-EEDG4IsYB>QYM zcaTQqUAo9)zNw$J%F4R~G%D-TL>6;wB%E0b@E-r0<#X)selIrWPsW;hzFsnK0b8&h z&O(f)55q)UU2ebqYETp1Ux)GkK8)rt9%HtnzZl-Ia}m$PzCDL(Y#92(@i2uqg7zHb zoQC>&O^x%GDW|l(i_9tPO$>Z~2shExo|!$p!8P+2&RekH#(HaS_AjdWipz#;B=#fb zF&)e4kifjzK(Rb5Q{g!)pG@9T;5t81u9?>h6w{e0k;n5+#dzCFi2PpyiZExeO4lm=WUAF<2%w~<7_kvTa3r^GqO}bLoTp> zJTFsB=OpCeb=Z(V9?!!R%j5Z%V*S1ldByDUd`q!Bo@XgmzvalgWJoF98pX3HlZxc= z?8)pRc{~?VtPVT}QY??>KHx?S2}m{v@lkA?@jcHbVNq5CulYMqwO5$O-*sx673R$= zk;mU{y8XtrlW(sTc|7C8P^go?vn*B?{;m@LZ7AgNca%C_3iJ58$zpl@o#ccfI{CZE zVtMX&kVDJD_mX360b=3bUE|;8(RaMux5;8mS+)TGY4}b5DHr`aF;XNo;|jn+oIYJ{ z3*)YH`6E}q)h$r!?>|0>lGm(A^lfVH>q?rMKK^wDQ}*0Q`1pD_K^_X0yWXeBdH@TFwz1eEilpo=XeYJ4@?WumH+?% diff --git a/tests/fsharp/typeProviders/negTests/helloWorldProvider.pdb b/tests/fsharp/typeProviders/negTests/helloWorldProvider.pdb deleted file mode 100644 index 7d014ed217e25f81d9191f58597132b1825aaa72..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 189952 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, ?cancellationToken ) = @@ -29,39 +30,6 @@ type Async with cancellationToken) task.Result -#if NETCOREAPP -let readRefs (folder : string) (projectFile: string) = - let runProcess (workingDir: string) (exePath: string) (args: string) = - let psi = ProcessStartInfo() - psi.FileName <- exePath - psi.WorkingDirectory <- workingDir - psi.RedirectStandardOutput <- false - psi.RedirectStandardError <- false - psi.Arguments <- args - psi.CreateNoWindow <- true - psi.UseShellExecute <- false - - use p = new Process() - p.StartInfo <- psi - p.Start() |> ignore - p.WaitForExit() - - let exitCode = p.ExitCode - exitCode, () - - let projFilePath = Path.Combine(folder, projectFile) - let runCmd exePath args = runProcess folder exePath ((args |> String.concat " ") + " -restore") - let msbuildExec = Dotnet.ProjInfo.Inspect.dotnetMsbuild runCmd - let result = Dotnet.ProjInfo.Inspect.getProjectInfo ignore msbuildExec Dotnet.ProjInfo.Inspect.getFscArgs [] projFilePath - match result with - | Ok(Dotnet.ProjInfo.Inspect.GetResult.FscArgs x) -> - x - |> List.filter (fun s -> s.StartsWith("-r:", StringComparison.Ordinal)) - |> List.map (fun s -> s.Replace("-r:", "")) - | _ -> [] -#endif - - // Create one global interactive checker instance let checker = FSharpChecker.Create() @@ -107,17 +75,7 @@ let fsCoreDefaultReference() = PathRelativeToTestAssembly "FSharp.Core.dll" let mkStandardProjectReferences () = -#if NETCOREAPP - let file = "Sample_NETCoreSDK_FSharp_Library_netstandard2_0.fsproj" - let projDir = Path.Combine(__SOURCE_DIRECTORY__, "../projects/Sample_NETCoreSDK_FSharp_Library_netstandard2_0") - readRefs projDir file -#else - [ yield sysLib "mscorlib" - yield sysLib "System" - yield sysLib "System.Core" - yield sysLib "System.Numerics" - yield fsCoreDefaultReference() ] -#endif + TargetFrameworkUtil.currentReferences let mkProjectCommandLineArgsSilent (dllName, fileNames) = let args = diff --git a/tests/service/EditorTests.fs b/tests/service/EditorTests.fs index 7b63749bda8..550c23b677e 100644 --- a/tests/service/EditorTests.fs +++ b/tests/service/EditorTests.fs @@ -37,12 +37,29 @@ open FSharp.Compiler.Text open FSharp.Compiler.Tokenization let stringMethods = - ["Chars"; "Clone"; "CompareTo"; "Contains"; "CopyTo"; "EndsWith"; "Equals"; - "GetEnumerator"; "GetHashCode"; "GetReverseIndex"; "GetType"; "GetTypeCode"; "IndexOf"; - "IndexOfAny"; "Insert"; "IsNormalized"; "LastIndexOf"; "LastIndexOfAny"; - "Length"; "Normalize"; "PadLeft"; "PadRight"; "Remove"; "Replace"; "Split"; - "StartsWith"; "Substring"; "ToCharArray"; "ToLower"; "ToLowerInvariant"; - "ToString"; "ToUpper"; "ToUpperInvariant"; "Trim"; "TrimEnd"; "TrimStart"] + [ + "Chars"; "Clone"; "CompareTo"; "Contains"; "CopyTo"; "EndsWith"; +#if NETCOREAPP + "EnumerateRunes"; +#endif + "Equals"; "GetEnumerator"; "GetHashCode"; +#if NETCOREAPP + "GetPinnableReference"; +#endif + "GetReverseIndex"; "GetType"; "GetTypeCode"; "IndexOf"; + "IndexOfAny"; "Insert"; "IsNormalized"; "LastIndexOf"; "LastIndexOfAny"; + "Length"; "Normalize"; "PadLeft"; "PadRight"; "Remove"; + "Replace"; +#if NETCOREAPP + "ReplaceLineEndings"; +#endif + "Split"; "StartsWith"; "Substring"; + "ToCharArray"; "ToLower"; "ToLowerInvariant"; "ToString"; "ToUpper"; + "ToUpperInvariant"; "Trim"; "TrimEnd"; "TrimStart"; +#if NETCOREAPP + "TryCopyTo" +#endif +] let input = """ @@ -131,23 +148,36 @@ let ``GetMethodsAsSymbols should return all overloads of a method as FSharpSymbo let methodsSymbols = typeCheckResults.GetMethodsAsSymbols(5, 27, inputLines.[4], ["String"; "Concat"]) match methodsSymbols with | Some methods -> - [ for ms in methods do - yield ms.Symbol.DisplayName, extractCurriedParams ms ] - |> List.sortBy (fun (_name, parameters) -> parameters.Length, (parameters |> List.map snd )) - |> shouldEqual + let results = + [ for ms in methods do + yield ms.Symbol.DisplayName, extractCurriedParams ms ] + |> List.sortBy (fun (_name, parameters) -> parameters.Length, (parameters |> List.map snd )) + let expected = [("Concat", [("values", "Collections.Generic.IEnumerable<'T>")]); ("Concat", [("values", "Collections.Generic.IEnumerable")]); ("Concat", [("arg0", "obj")]); ("Concat", [("args", "obj[]")]); ("Concat", [("values", "string[]")]); +#if NETCOREAPP + ("Concat", [("str0", "ReadOnlySpan");("str1", "ReadOnlySpan")]); +#endif ("Concat", [("arg0", "obj"); ("arg1", "obj")]); ("Concat", [("str0", "string"); ("str1", "string")]); +#if NETCOREAPP + ("Concat", [("str0", "ReadOnlySpan"); ("str1", "ReadOnlySpan"); ("str2", "ReadOnlySpan")]); +#endif ("Concat", [("arg0", "obj"); ("arg1", "obj"); ("arg2", "obj")]); ("Concat", [("str0", "string"); ("str1", "string"); ("str2", "string")]); +#if NETCOREAPP + ("Concat", [("str0", "ReadOnlySpan"); ("str1", "ReadOnlySpan"); ("str2", "ReadOnlySpan"); ("str3", "ReadOnlySpan")]); +#endif #if !NETCOREAPP // TODO: check why this is needed for .NET Core testing of FSharp.Compiler.Service ("Concat", [("arg0", "obj"); ("arg1", "obj"); ("arg2", "obj"); ("arg3", "obj")]); #endif ("Concat", [("str0", "string"); ("str1", "string"); ("str2", "string"); ("str3", "string")])] + + results |> shouldEqual expected + | None -> failwith "No symbols returned" diff --git a/tests/service/ProjectAnalysisTests.fs b/tests/service/ProjectAnalysisTests.fs index 2843f9b8b12..b08fc0a3c22 100644 --- a/tests/service/ProjectAnalysisTests.fs +++ b/tests/service/ProjectAnalysisTests.fs @@ -4365,25 +4365,26 @@ let ``Test Project33 extension methods`` () = ("GetValue", ["member"; "extmem"])] module internal Project34 = + let directoryPath = tryCreateTemporaryDirectory () + let sourceFileName = Path.Combine(directoryPath, "Program.fs") + let dllName = Path.ChangeExtension(sourceFileName, ".dll") + let projFileName = Path.ChangeExtension(sourceFileName, ".fsproj") + let fileSource = """ + module Dummy + """ + FileSystem.OpenFileForWriteShim(sourceFileName).Write(fileSource) + let cleanFileName a = if a = sourceFileName then "file1" else "??" - let fileName1 = Path.ChangeExtension(tryCreateTemporaryFileName (), ".fs") - let base2 = tryCreateTemporaryFileName () - let dllName = Path.ChangeExtension(base2, ".dll") - let projFileName = Path.ChangeExtension(base2, ".fsproj") - let fileSource1 = """ -module Dummy -""" - FileSystem.OpenFileForWriteShim(fileName1).Write(fileSource1) - let cleanFileName a = if a = fileName1 then "file1" else "??" - - let fileNames = [fileName1] + let fileNames = [sourceFileName] let args = [| yield! mkProjectCommandLineArgs (dllName, fileNames) - // We use .NET-buit version of System.Data.dll since the tests depend on implementation details + // We use .NET-built version of System.Data.dll since the tests depend on implementation details // i.e. the private type System.Data.Listeners may not be available on Mono. yield @"-r:" + Path.Combine(__SOURCE_DIRECTORY__, Path.Combine("data", "System.Data.dll")) |] + |> Array.filter(fun arg -> not((arg.Contains("System.Data")) && not (arg.Contains(@"service\data\System.Data.dll")))) + let options = checker.GetProjectOptionsFromCommandLineArgs (projFileName, args) [] @@ -4398,21 +4399,29 @@ let ``Test Project34 whole project errors`` () = [] #endif let ``Test project34 should report correct accessibility for System.Data.Listeners`` () = - let wholeProjectResults = checker.ParseAndCheckProject(Project34.options) |> Async.RunImmediate + let options = Project34.options + let wholeProjectResults = checker.ParseAndCheckProject(options) |> Async.RunImmediate let rec getNestedEntities (entity: FSharpEntity) = seq { yield entity for e in entity.NestedEntities do yield! getNestedEntities e } let listenerEntity = - wholeProjectResults.ProjectContext.GetReferencedAssemblies() - |> List.tryPick (fun asm -> if asm.SimpleName.Contains("System.Data") then Some asm.Contents.Entities else None) - |> Option.get - |> Seq.collect getNestedEntities - |> Seq.tryFind (fun entity -> - entity.TryFullName - |> Option.map (fun s -> s.Contains("System.Data.Listeners")) - |> fun arg -> defaultArg arg false) - |> Option.get + let refs = wholeProjectResults.ProjectContext.GetReferencedAssemblies() + let picked = refs |> List.tryPick (fun asm -> if asm.SimpleName.Contains("System.Data") then Some asm.Contents.Entities else None) + let v = + let nestedEntities = + picked + |> Option.get + |> Seq.collect getNestedEntities + nestedEntities + |> Seq.tryFind (fun entity -> + entity.TryFullName + |> Option.map (fun s -> + let x = s + x.Contains("System.Data.Listeners")) + |> fun arg -> defaultArg arg false) + |> Option.get + v listenerEntity.Accessibility.IsPrivate |> shouldEqual true let listenerFuncEntity = @@ -5653,7 +5662,7 @@ let checkContentAsScript content = let tempDir = Path.GetTempPath() let scriptFullPath = Path.Combine(tempDir, scriptName) let sourceText = SourceText.ofString content - let projectOptions, _ = checker.GetProjectOptionsFromScript(scriptFullPath, sourceText, useSdkRefs = true, assumeDotNetFramework = false) |> Async.RunImmediate + let projectOptions, _ = checker.GetProjectOptionsFromScript(scriptFullPath, sourceText, useSdkRefs = true, assumeDotNetFramework = false) |> Async.RunImmediate let parseOptions, _ = checker.GetParsingOptionsFromProjectOptions projectOptions let parseResults = checker.ParseFile(scriptFullPath, sourceText, parseOptions) |> Async.RunImmediate let checkResults = checker.CheckFileInProject(parseResults, scriptFullPath, 0, sourceText, projectOptions) |> Async.RunImmediate diff --git a/tests/service/ScriptOptionsTests.fs b/tests/service/ScriptOptionsTests.fs index 9b94aedd922..a533d7ac4c8 100644 --- a/tests/service/ScriptOptionsTests.fs +++ b/tests/service/ScriptOptionsTests.fs @@ -37,27 +37,6 @@ let ``can generate options for different frameworks regardless of execution envi | [] -> () | errors -> failwithf "Error while parsing script with assumeDotNetFramework:%b, useSdkRefs:%b, and otherFlags:%A:\n%A" assumeNetFx useSdk flags errors -[] -[] -[] -let ``all default assembly references are system assemblies``(assumeNetFx, useSdkRefs, flags) = - let tempFile = tryCreateTemporaryFileName () + ".fsx" - let options, errors = - checker.GetProjectOptionsFromScript(tempFile, SourceText.ofString scriptSource, assumeDotNetFramework = assumeNetFx, useSdkRefs = useSdkRefs, otherFlags = flags) - |> Async.RunImmediate - match errors with - | [] -> () - | errors -> failwithf "Error while parsing script with assumeNetFx:%b, useSdkRefs:%b, and otherFlags:%A:\n%A" assumeNetFx useSdkRefs flags errors - for r in options.OtherOptions do - if r.StartsWith("-r:") then - let ref = Path.GetFullPath(r.[3..]) - let baseName = Path.GetFileNameWithoutExtension(ref) - let projectDir = System.Environment.CurrentDirectory - if not (FSharp.Compiler.FxResolver(assumeNetFx, projectDir, rangeForErrors=range0, useSdkRefs=useSdkRefs, isInteractive=false, sdkDirOverride=None).GetSystemAssemblies().Contains(baseName)) then - printfn "Failing, printing options from GetProjectOptionsFromScript..." - for opt in options.OtherOptions do - printfn "option: %s" opt - failwithf "expected FSharp.Compiler.DotNetFrameworkDependencies.systemAssemblies to contain '%s' because '%s' is a default reference for a script, (assumeNetFx, useSdk, flags) = %A" baseName ref (assumeNetFx, useSdkRefs, flags) // This test atempts to use a bad SDK number 666.666.666 // diff --git a/vsintegration/tests/GetTypesVS.UnitTests/GetTypesVS.UnitTests.fs b/vsintegration/tests/GetTypesVS.UnitTests/GetTypesVS.UnitTests.fs deleted file mode 100644 index d92edecabef..00000000000 --- a/vsintegration/tests/GetTypesVS.UnitTests/GetTypesVS.UnitTests.fs +++ /dev/null @@ -1,17 +0,0 @@ -namespace GetTypesVSUnitTests - -open NUnit.Framework -open System.IO -open System.Reflection - -[] -type VerifyUnitTests() = - - [] - member this.GetTypesForVSUnitTests () = - try - let location = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) - Assembly.LoadFrom(Path.Combine(location, "VisualFSharp.UnitTests.dll")).GetTypes() |> ignore - with | :? ReflectionTypeLoadException as e -> - let message = e.LoaderExceptions |> Seq.fold (fun (acc:string) e -> acc + (sprintf "TypeLoad failure: %s\n" ) (e.Message) ) "" - Assert.Fail(message) diff --git a/vsintegration/tests/GetTypesVS.UnitTests/GetTypesVS.UnitTests.fsproj b/vsintegration/tests/GetTypesVS.UnitTests/GetTypesVS.UnitTests.fsproj deleted file mode 100644 index aaafeb0c4da..00000000000 --- a/vsintegration/tests/GetTypesVS.UnitTests/GetTypesVS.UnitTests.fsproj +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - net472 - x86 - Library - $(NoWarn);3005 - true - true - false - true - true - nunit - true - - - - - - - - - - - - - - - - - - - diff --git a/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.UpToDate.fs b/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.UpToDate.fs index a8775d777a0..3403f4115bc 100644 --- a/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.UpToDate.fs +++ b/vsintegration/tests/UnitTests/LegacyProjectSystem/Tests.ProjectSystem.UpToDate.fs @@ -172,7 +172,7 @@ type UpToDate() = File.AppendAllText(proj1Path, TheTests.SimpleFsprojText( ["File1.fs"], // [], // - "v4.5")) // other stuff + "v4.7.2")) // other stuff use project1 = TheTests.CreateProject(proj1Path) let sourcePath1 = Path.Combine(project1.ProjectFolder, "File1.fs") File.AppendAllText(sourcePath1, "namespace Proj1\r\n") @@ -191,7 +191,7 @@ type UpToDate() = File.AppendAllText(proj2Path, TheTests.SimpleFsprojText( ["File2.fs"], // [output1], // - "v4.5")) // other stuff + "v4.7.2")) // other stuff use project2 = TheTests.CreateProject(proj2Path) let sourcePath2 = Path.Combine(project2.ProjectFolder, "File2.fs") File.AppendAllText(sourcePath2, "open Proj1\r\n") diff --git a/vsintegration/tests/UnitTests/TestLib.ProjectSystem.fs b/vsintegration/tests/UnitTests/TestLib.ProjectSystem.fs index 0cd346e1314..933cae8eddb 100644 --- a/vsintegration/tests/UnitTests/TestLib.ProjectSystem.fs +++ b/vsintegration/tests/UnitTests/TestLib.ProjectSystem.fs @@ -384,7 +384,7 @@ type TheTests() = {0} Blah Blah - v4.0 + v4.7.2 512 Blah @@ -408,7 +408,7 @@ type TheTests() = {0} Blah Blah - v4.0 + v4.7.2 512 Blah @@ -471,7 +471,7 @@ type TheTests() = Library Blah Blah - v4.0 + v4.7.2 512 Blah " From f529df5b12bd6b005d2ce451569868ce1b1de5e4 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Mon, 28 Feb 2022 04:58:03 -0800 Subject: [PATCH 03/11] temp --- Directory.Build.targets | 2 +- eng/Build.ps1 | 6 +++--- eng/Versions.props | 4 +++- global.json | 4 ++-- .../FSharp.Compiler.ComponentTests.fsproj | 15 ++++++++------- .../FSharp.Compiler.Service.Tests.fsproj | 3 ++- 6 files changed, 19 insertions(+), 15 deletions(-) diff --git a/Directory.Build.targets b/Directory.Build.targets index 7b7a6a7a80a..2fb81ff568f 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -10,7 +10,7 @@ - + diff --git a/eng/Build.ps1 b/eng/Build.ps1 index f75a6661807..6d2787dbfd6 100644 --- a/eng/Build.ps1 +++ b/eng/Build.ps1 @@ -545,14 +545,14 @@ try { TestUsingNUnit -testProject "$RepoRoot\tests\fsharp\FSharpSuite.Tests.fsproj" -targetFramework $desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharpSuite.Tests\" TestUsingNUnit -testProject "$RepoRoot\tests\fsharp\FSharpSuite.Tests.fsproj" -targetFramework $coreclrTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharpSuite.Tests\" } -` - if ($testScripting) { + + if ($testScripting) { TestUsingXUnit -testProject "$RepoRoot\tests\FSharp.Compiler.Private.Scripting.UnitTests\FSharp.Compiler.Private.Scripting.UnitTests.fsproj" -targetFramework $desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.Private.Scripting.UnitTests\" TestUsingXUnit -testProject "$RepoRoot\tests\FSharp.Compiler.Private.Scripting.UnitTests\FSharp.Compiler.Private.Scripting.UnitTests.fsproj" -targetFramework $coreclrTargetFramework -testadapterpath "$ArtifactsDir\bin\FSharp.Compiler.Private.Scripting.UnitTests\" } if ($testVs -and -not $noVisualStudio) { - TestUsingNUnit -testProject "$RepoRoot\vsintegration\tests\UnitTests\VisualFSharp.UnitTests.fsproj" -targetFramework $desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\VisualFSharp.UnitTests" + TestUsingNUnit -testProject "$RepoRoot\vsintegration\tests\UnitTests\VisualFSharp.UnitTests.fsproj" -targetFramework $desktopTargetFramework -testadapterpath "$ArtifactsDir\bin\VisualFSharp.UnitTests\" } # verify nupkgs have access to the source code diff --git a/eng/Versions.props b/eng/Versions.props index 14fa8fcef1b..b6fdb3e2883 100644 --- a/eng/Versions.props +++ b/eng/Versions.props @@ -207,7 +207,7 @@ 3.1.0 5.0.0-preview.7.20364.11 5.0.0-preview.7.20364.11 - 17.1.0 + 16.11.0 4.3.0 12.0.2 3.13.2 @@ -216,6 +216,8 @@ 1.0.0-beta2-dev3 2.8.3-alpha 2.4.1 + 2.4.2 5.10.3 + 2.2.0 diff --git a/global.json b/global.json index 949c7819186..837b3762ad5 100644 --- a/global.json +++ b/global.json @@ -1,11 +1,11 @@ { "sdk": { - "version": "6.0.100", + "version": "6.0.200", "allowPrerelease": true, "rollForward": "minor" }, "tools": { - "dotnet": "6.0.100", + "dotnet": "6.0.200", "vs": { "version": "16.8", "components": [ diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index fcf7966b168..e62161fa8e7 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -5,20 +5,17 @@ net472;net6.0 net6.0 - Library + Exe + false true + xunit + true false false $(OtherFlags) --warnon:1182 - xunit $(NoWarn);FS0988 - - - - - @@ -107,6 +104,10 @@ + + + + diff --git a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj index 8dc714648c3..02bb8e64750 100644 --- a/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj +++ b/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj @@ -1,4 +1,5 @@ - + + Exe From 294ac5381efac83d13a47cc0cddcb6c3f3137e90 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Mon, 28 Feb 2022 16:50:10 -0800 Subject: [PATCH 04/11] Fixify even more --- tests/service/ProjectAnalysisTests.fs | 38 +++++++++++++++++++++------ 1 file changed, 30 insertions(+), 8 deletions(-) diff --git a/tests/service/ProjectAnalysisTests.fs b/tests/service/ProjectAnalysisTests.fs index b08fc0a3c22..c1eeb550099 100644 --- a/tests/service/ProjectAnalysisTests.fs +++ b/tests/service/ProjectAnalysisTests.fs @@ -2219,6 +2219,7 @@ let ``Test Project13 all symbols`` () = ["type System.IComparable"; "type System.IFormattable"; "type System.IConvertible"; + "type System.ISpanFormattable"; "type System.Runtime.Serialization.ISerializable"; "type System.IComparable"; "type System.IEquatable"]) @@ -4199,12 +4200,22 @@ let ``Test project31 C# method attributes`` () = objMethodsAttributes |> set - |> shouldEqual - (set [ + |> shouldEqual (set + [ #if !NETCOREAPP - "(SecuritySafeCriticalAttribute, [], [])"; + "(SecuritySafeCriticalAttribute, [], [])" +#else + "(NullableAttribute, [(type Microsoft.FSharp.Core.byte, 2uy)], [])"; + "(NullableContextAttribute, [(type Microsoft.FSharp.Core.byte, 0uy)], [])" + "(NullableContextAttribute, [(type Microsoft.FSharp.Core.byte, 2uy)], [])" + "(SupportedOSPlatformAttribute, [(type Microsoft.FSharp.Core.string, \"windows\")],\n [])" + "(UnsupportedOSPlatformAttribute,\n [(type Microsoft.FSharp.Core.string, \"android\")], [])" + "(UnsupportedOSPlatformAttribute,\n [(type Microsoft.FSharp.Core.string, \"browser\")], [])" + "(UnsupportedOSPlatformAttribute, [(type Microsoft.FSharp.Core.string, \"ios\")],\n [])" + "(UnsupportedOSPlatformAttribute, [(type Microsoft.FSharp.Core.string, \"tvos\")],\n [])" #endif - "(CLSCompliantAttribute, [(type Microsoft.FSharp.Core.bool, false)], [])"]) + "(CLSCompliantAttribute, [(type Microsoft.FSharp.Core.bool, false)], [])" + ]) [] #if NETCOREAPP @@ -4240,12 +4251,23 @@ let ``Test project31 Format C# method attributes`` () = objMethodsAttributes |> set - |> shouldEqual - (set ["[]"; + |> shouldEqual( + set + [ + "[]" #if !NETCOREAPP - "[]"; + "[]" +#else + "[]" + "[]" + "[]" + "[]" + "[]" + "[]" + "[]" + "[]" #endif - ]) + ]) module internal Project32 = From b86742047834d1d71fc39695c4f393b9dfc02d03 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Mon, 28 Feb 2022 17:51:23 -0800 Subject: [PATCH 05/11] Desktop has no ISpanFormattable --- tests/service/ProjectAnalysisTests.fs | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/tests/service/ProjectAnalysisTests.fs b/tests/service/ProjectAnalysisTests.fs index c1eeb550099..878b5455f75 100644 --- a/tests/service/ProjectAnalysisTests.fs +++ b/tests/service/ProjectAnalysisTests.fs @@ -2214,15 +2214,19 @@ let ``Test Project13 all symbols`` () = let dtType = dtSymbol.Symbol:?> FSharpEntity - set [ for i in dtType.DeclaredInterfaces -> i.ToString() ] |> shouldEqual - (set - ["type System.IComparable"; - "type System.IFormattable"; - "type System.IConvertible"; - "type System.ISpanFormattable"; - "type System.Runtime.Serialization.ISerializable"; - "type System.IComparable"; - "type System.IEquatable"]) + set [ for i in dtType.DeclaredInterfaces -> i.ToString() ] |> shouldEqual ( + set + [ + "type System.IComparable" + "type System.IFormattable" + "type System.IConvertible" +#if NETCOREAPP + "type System.ISpanFormattable" +#endif + "type System.Runtime.Serialization.ISerializable" + "type System.IComparable" + "type System.IEquatable" + ]) dtType.BaseType.ToString() |> shouldEqual "Some(type System.ValueType)" From a0bb5a1899fe1ad001c5f3e153d302b8ed91dae6 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Mon, 28 Feb 2022 19:43:17 -0800 Subject: [PATCH 06/11] ubuntu image --- azure-pipelines.yml | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 8643825c106..d4d64fdb1ac 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -265,8 +265,9 @@ stages: # Linux - job: Linux pool: - name: NetCore1ESPool-Svc-Public - demands: ImageOverride -equals $(UbuntuMachineQueueName) + vmImage: ubuntu-latest + # name: NetCore1ESPool-Svc-Public + # demands: ImageOverride -equals $(UbuntuMachineQueueName) variables: - name: _SignType value: Test @@ -427,8 +428,9 @@ stages: # Plain build Linux - job: Plain_Build_Linux pool: - name: NetCore1ESPool-Svc-Public - demands: ImageOverride -equals $(UbuntuMachineQueueName) + vmImage: ubuntu-latest + # name: NetCore1ESPool-Svc-Public + # demands: ImageOverride -equals $(UbuntuMachineQueueName) variables: - name: _BuildConfig value: Debug From a4265add57c931fc886c9dd2251252dd693c4c6a Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Mon, 28 Feb 2022 20:10:25 -0800 Subject: [PATCH 07/11] cleanup --- azure-pipelines.yml | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index d4d64fdb1ac..03f1882e12b 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -265,9 +265,7 @@ stages: # Linux - job: Linux pool: - vmImage: ubuntu-latest - # name: NetCore1ESPool-Svc-Public - # demands: ImageOverride -equals $(UbuntuMachineQueueName) + vmImage: $(UbuntuMachineQueueName) variables: - name: _SignType value: Test @@ -307,7 +305,7 @@ stages: # MacOS - job: MacOS pool: - vmImage: '$(MacOSMachineQueueName)' + vmImage: $(MacOSMachineQueueName) variables: - name: _SignType value: Test @@ -428,9 +426,7 @@ stages: # Plain build Linux - job: Plain_Build_Linux pool: - vmImage: ubuntu-latest - # name: NetCore1ESPool-Svc-Public - # demands: ImageOverride -equals $(UbuntuMachineQueueName) + vmImage: $(UbuntuMachineQueueName) variables: - name: _BuildConfig value: Debug @@ -462,7 +458,7 @@ stages: # Plain build Mac - job: Plain_Build_MacOS pool: - vmImage: '$(MacOSMachineQueueName)' + vmImage: $(MacOSMachineQueueName) variables: - name: _BuildConfig value: Debug From ad54c319e81de4987c062ad1559d78f58789cb29 Mon Sep 17 00:00:00 2001 From: KevinRansom Date: Mon, 28 Feb 2022 23:12:53 -0800 Subject: [PATCH 08/11] oops --- azure-pipelines.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 03f1882e12b..5d7e0522bdf 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -94,7 +94,8 @@ stages: jobs: - job: Full_Signed pool: - vmImage: $(MacOSMachineQueueName) + name: NetCore1ESPool-Svc-Internal + demands: ImageOverride -equals build.windows.10.amd64.vs2019 timeoutInMinutes: 300 variables: - group: DotNet-Blob-Feed From 53e8a71bf703a5fdb6eb48fb37adf8b7068142ef Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Tue, 1 Mar 2022 08:07:56 -0800 Subject: [PATCH 09/11] temp --- eng/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/eng/build.sh b/eng/build.sh index 5e452a2d30a..dcf77ccf66b 100755 --- a/eng/build.sh +++ b/eng/build.sh @@ -310,7 +310,7 @@ BuildSolution if [[ "$test_core_clr" == true ]]; then coreclrtestframework=net6.0 -# TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj" --targetframework $coreclrtestframework --notestfilter + TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj" --targetframework $coreclrtestframework --notestfilter TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj" --targetframework $coreclrtestframework --notestfilter TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.UnitTests/FSharp.Compiler.UnitTests.fsproj" --targetframework $coreclrtestframework TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.Private.Scripting.UnitTests/FSharp.Compiler.Private.Scripting.UnitTests.fsproj" --targetframework $coreclrtestframework From 27b8cfcb849a5b1529618287cc82d0472858df27 Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Tue, 1 Mar 2022 08:48:43 -0800 Subject: [PATCH 10/11] temp --- Directory.Build.targets | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Directory.Build.targets b/Directory.Build.targets index 2fb81ff568f..13b7a649bb6 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -4,11 +4,13 @@ + + From 4de466398812b09bdd8d99b407d44856f2c7062c Mon Sep 17 00:00:00 2001 From: Kevin Ransom Date: Tue, 1 Mar 2022 09:15:41 -0800 Subject: [PATCH 11/11] temp --- Directory.Build.targets | 2 -- .../FSharp.Compiler.ComponentTests.fsproj | 3 ++- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Directory.Build.targets b/Directory.Build.targets index 13b7a649bb6..2fb81ff568f 100644 --- a/Directory.Build.targets +++ b/Directory.Build.targets @@ -4,13 +4,11 @@ - - diff --git a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj index e62161fa8e7..461cdbb4924 100644 --- a/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj +++ b/tests/FSharp.Compiler.ComponentTests/FSharp.Compiler.ComponentTests.fsproj @@ -5,10 +5,11 @@ net472;net6.0 net6.0 - Exe + Library false true xunit + true true false false