diff --git a/.gitignore b/.gitignore
index 3568925182..15673951bc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -9,7 +9,6 @@ artifacts/
# Patches that may have been generated by scripts.
# (These aren't generally useful to commit directly; if anything, they should be applied.)
scripts/*.patch
-
/fcs/FSharp.Compiler.Service/illex.fs
/fcs/FSharp.Compiler.Service/ilpars.fs
/fcs/FSharp.Compiler.Service/ilpars.fsi
@@ -234,7 +233,6 @@ lib/netcore/fsc/bin/
msbuild.binlog
/fcs/FSharp.Compiler.Service.netstandard/*.fs
/fcs/FSharp.Compiler.Service.netstandard/*.fsi
-
.ionide
.vscode
**/.DS_Store
diff --git a/FSharpBuild.Directory.Build.targets b/FSharpBuild.Directory.Build.targets
index 7548cef7ac..da6302ef03 100644
--- a/FSharpBuild.Directory.Build.targets
+++ b/FSharpBuild.Directory.Build.targets
@@ -1,4 +1,5 @@
+
@@ -8,11 +9,12 @@
+ BeforeTargets="AssignTargetPaths;BeforeBuild;GenerateFSharpTextResources">
<__TargetFilePath>@(NoneSubstituteText->'$(IntermediateOutputPath)%(Filename)%(Extension)')
<__TargetFileName>@(NoneSubstituteText->'%(Filename)%(Extension)')
+ <__TargetLink>@(NoneSubstituteText->'%(Link)')
<_ReplacementText>$([System.IO.File]::ReadAllText('%(NoneSubstituteText.FullPath)'))
<_ReplacementText Condition="'%(NoneSubstituteText.Pattern1)' != ''">$(_ReplacementText.Replace('%(NoneSubstituteText.Pattern1)', '%(NoneSubstituteText.Replacement1)'))
@@ -20,16 +22,19 @@
<_CopyToOutputDirectory Condition="'%(NoneSubstituteText.CopyToOutputDirectory)' != ''">%(NoneSubstituteText.CopyToOutputDirectory)
<_CopyToOutputDirectory Condition="'%(NoneSubstituteText.CopyToOutputDirectory)' == ''">Never
+
+ <_IncludeInVsix>false
+ <_IncludeInVsix Condition="'%(NoneSubstituteText.IncludeInVsix)' == 'true'">true
-
-
+
+
@@ -61,4 +66,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/FSharpTests.Directory.Build.props b/FSharpTests.Directory.Build.props
index 8a7a832a43..8a4730f8dd 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)\netcoreapp2.1\fsc.exe
+ $(MSBuildThisFileDirectory)artifacts\bin\fsc\$(Configuration)\netcoreapp3.0\fsc.exe
$([System.IO.Path]::GetDirectoryName('$(DOTNET_HOST_PATH)'))
dotnet.exe
dotnet
- $(MSBuildThisFileDirectory)artifacts\bin\fsi\$(Configuration)\netcoreapp2.1\fsi.exe
+ $(MSBuildThisFileDirectory)artifacts\bin\fsi\$(Configuration)\netcoreapp3.0\fsi.exe
<_FSharpBuildTargetFramework Condition="'$(MSBuildRuntimeType)'!='Core'">net472
- <_FSharpBuildTargetFramework Condition="'$(MSBuildRuntimeType)'=='Core'">netcoreapp2.1
+ <_FSharpBuildTargetFramework Condition="'$(MSBuildRuntimeType)'=='Core'">netcoreapp3.0
<_FSharpBuildBinPath>$(MSBuildThisFileDirectory)artifacts\bin\fsc\$(Configuration)\$(_FSharpBuildTargetFramework)
$(_FSharpBuildBinPath)\FSharp.Build.dll
diff --git a/INTERNAL.md b/INTERNAL.md
index b62e757de6..15550dcedc 100644
--- a/INTERNAL.md
+++ b/INTERNAL.md
@@ -43,7 +43,7 @@ near the bottom of the build under the title 'Insert into VS'. Examine the log
bottom you'll see a line that looks like `Created request #xxxxxx at https://...`.
To see all insertions created this way (possibly including for other internal teams), check
-[here](https://dev.azure.com/devdiv/DevDiv/_git/VS/pullrequests?creatorId=122d5278-3e55-4868-9d40-1e28c2515fc4&_a=active).
+[here](https://dev.azure.com/devdiv/DevDiv/_git/VS/pullrequests?createdBy=122d5278-3e55-4868-9d40-1e28c2515fc4&_a=active).
## Less interesting links
diff --git a/NuGet.config b/NuGet.config
index ef069a5bdf..26edd0d796 100644
--- a/NuGet.config
+++ b/NuGet.config
@@ -7,6 +7,7 @@
+
diff --git a/eng/Build.ps1 b/eng/Build.ps1
index f9d7e1b5ac..a7825b4d4f 100644
--- a/eng/Build.ps1
+++ b/eng/Build.ps1
@@ -50,6 +50,7 @@ param (
[switch]$testCompiler,
[switch]$testFSharpCore,
[switch]$testFSharpQA,
+ [switch]$testScripting,
[switch]$testVs,
[switch]$testAll,
[string]$officialSkipTests = "false",
@@ -59,6 +60,8 @@ param (
Set-StrictMode -version 2.0
$ErrorActionPreference = "Stop"
+$BuildCategory = ""
+$BuildMessage = ""
function Print-Usage() {
Write-Host "Common settings:"
@@ -86,6 +89,7 @@ function Print-Usage() {
Write-Host " -testCoreClr Run tests against CoreCLR"
Write-Host " -testFSharpCore Run FSharpCore unit tests"
Write-Host " -testFSharpQA Run F# Cambridge tests"
+ Write-Host " -testScripting Run Scripting tests"
Write-Host " -testVs Run F# editor unit tests"
Write-Host " -officialSkipTests Set to 'true' to skip running tests"
Write-Host ""
@@ -148,11 +152,11 @@ function Process-Arguments() {
function Update-Arguments() {
if ($script:noVisualStudio) {
- $script:bootstrapTfm = "netcoreapp2.1"
+ $script:bootstrapTfm = "netcoreapp3.0"
$script:msbuildEngine = "dotnet"
}
- if ($bootstrapTfm -eq "netcoreapp2.1") {
+ if ($bootstrapTfm -eq "netcoreapp3.0") {
if (-Not (Test-Path "$ArtifactsDir\Bootstrap\fsc\fsc.runtimeconfig.json")) {
$script:bootstrap = $True
}
@@ -216,7 +220,7 @@ function UpdatePath() {
TestAndAddToPath $subdir
# add windows SDK dir for ildasm.exe
- foreach ($child in Get-ChildItem "${env:ProgramFiles(x86)}\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.?.? Tools") {
+ foreach ($child in Get-ChildItem "${env:ProgramFiles(x86)}\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.* Tools") {
$subdir = $child
}
TestAndAddToPath $subdir
@@ -256,7 +260,7 @@ function TestUsingNUnit([string] $testProject, [string] $targetFramework) {
}
function BuildCompiler() {
- if ($bootstrapTfm -eq "netcoreapp2.1") {
+ if ($bootstrapTfm -eq "netcoreapp3.0") {
$dotnetPath = InitializeDotNetCli
$dotnetExe = Join-Path $dotnetPath "dotnet.exe"
$fscProject = "$RepoRoot\src\fsharp\fsc\fsc.fsproj"
@@ -265,10 +269,10 @@ function BuildCompiler() {
$argNoRestore = if ($norestore) { " --no-restore" } else { "" }
$argNoIncremental = if ($rebuild) { " --no-incremental" } else { "" }
- $args = "build $fscProject -c $configuration -v $verbosity -f netcoreapp2.1" + $argNoRestore + $argNoIncremental
+ $args = "build $fscProject -c $configuration -v $verbosity -f netcoreapp3.0" + $argNoRestore + $argNoIncremental
Exec-Console $dotnetExe $args
- $args = "build $fsiProject -c $configuration -v $verbosity -f netcoreapp2.1" + $argNoRestore + $argNoIncremental
+ $args = "build $fsiProject -c $configuration -v $verbosity -f netcoreapp3.0" + $argNoRestore + $argNoIncremental
Exec-Console $dotnetExe $args
}
}
@@ -298,6 +302,9 @@ function EnablePreviewSdks() {
}
try {
+ $script:BuildCategory = "Build"
+ $script:BuildMessage = "Failure preparing build"
+
Process-Arguments
. (Join-Path $PSScriptRoot "build-utils.ps1")
@@ -309,17 +316,14 @@ try {
if ($ci) {
Prepare-TempDir
EnablePreviewSdks
-
- # enable us to build netcoreapp2.1 product binaries
- $global:_DotNetInstallDir = Join-Path $RepoRoot ".dotnet"
- InstallDotNetSdk $global:_DotNetInstallDir $GlobalJson.tools.dotnet
- InstallDotNetSdk $global:_DotNetInstallDir "2.1.503"
}
if ($bootstrap) {
+ $script:BuildMessage = "Failure building bootstrap compiler"
$bootstrapDir = Make-BootstrapBuild
}
+ $script:BuildMessage = "Failure building product"
if ($restore -or $build -or $rebuild -or $pack -or $sign -or $publish) {
if ($noVisualStudio) {
BuildCompiler
@@ -332,12 +336,13 @@ try {
VerifyAssemblyVersionsAndSymbols
}
+ $script:BuildCategory = "Test"
+ $script:BuildMessage = "Failure running tests"
$desktopTargetFramework = "net472"
$coreclrTargetFramework = "netcoreapp3.0"
if ($testDesktop -and -not $noVisualStudio) {
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.UnitTests\FSharp.Compiler.UnitTests.fsproj" -targetFramework $desktopTargetFramework
- TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.LanguageServer.UnitTests\FSharp.Compiler.LanguageServer.UnitTests.fsproj" -targetFramework $desktopTargetFramework
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.Private.Scripting.UnitTests\FSharp.Compiler.Private.Scripting.UnitTests.fsproj" -targetFramework $desktopTargetFramework
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Build.UnitTests\FSharp.Build.UnitTests.fsproj" -targetFramework $desktopTargetFramework
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" -targetFramework $desktopTargetFramework
@@ -346,7 +351,6 @@ try {
if ($testCoreClr) {
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.UnitTests\FSharp.Compiler.UnitTests.fsproj" -targetFramework $coreclrTargetFramework
- TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.LanguageServer.UnitTests\FSharp.Compiler.LanguageServer.UnitTests.fsproj" -targetFramework $coreclrTargetFramework
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.Private.Scripting.UnitTests\FSharp.Compiler.Private.Scripting.UnitTests.fsproj" -targetFramework $coreclrTargetFramework
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Build.UnitTests\FSharp.Build.UnitTests.fsproj" -targetFramework $coreclrTargetFramework
TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Core.UnitTests\FSharp.Core.UnitTests.fsproj" -targetFramework $coreclrTargetFramework
@@ -394,6 +398,13 @@ try {
TestUsingNUnit -testProject "$RepoRoot\tests\fsharp\FSharpSuite.Tests.fsproj" -targetFramework $coreclrTargetFramework
}
+ if ($testScripting) {
+ if (-not $noVisualStudio) {
+ TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.Private.Scripting.UnitTests\FSharp.Compiler.Private.Scripting.UnitTests.fsproj" -targetFramework $desktopTargetFramework
+ }
+ TestUsingNUnit -testProject "$RepoRoot\tests\FSharp.Compiler.Private.Scripting.UnitTests\FSharp.Compiler.Private.Scripting.UnitTests.fsproj" -targetFramework $coreclrTargetFramework
+ }
+
if ($testVs -and -not $noVisualStudio) {
TestUsingNUnit -testProject "$RepoRoot\vsintegration\tests\GetTypesVS.UnitTests\GetTypesVS.UnitTests.fsproj" -targetFramework $desktopTargetFramework
TestUsingNUnit -testProject "$RepoRoot\vsintegration\tests\UnitTests\VisualFSharp.UnitTests.fsproj" -targetFramework $desktopTargetFramework
@@ -405,6 +416,7 @@ catch {
Write-Host $_
Write-Host $_.Exception
Write-Host $_.ScriptStackTrace
+ Write-PipelineTelemetryError -Category $script:BuildCategory -Message $script:BuildMessage
ExitWithExitCode 1
}
finally {
diff --git a/eng/Version.Details.xml b/eng/Version.Details.xml
index c39e4f27f1..c98fbfbee4 100644
--- a/eng/Version.Details.xml
+++ b/eng/Version.Details.xml
@@ -3,9 +3,9 @@
-
+
https://github.com/dotnet/arcade
- b902fd6b6948e689a5128fa6d94dc7de13e6af84
+ d0833c8e5e58cfc507ce3c8da364e55931190263
diff --git a/eng/Versions.props b/eng/Versions.props
index f923de9fde..1ee1522072 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -24,7 +24,7 @@
10.7
- $(FSPackageMajorVersion).0
+ $(FSPackageMajorVersion).1
$(FSPackageVersion)
$(FSPackageVersion).0
@@ -68,13 +68,14 @@
1.5.0
4.3.0
+ 4.3.0
4.0.0
4.3.0
4.3.0
4.3.0
4.3.0
4.3.0
- 4.5.2
+ 4.5.3
4.3.0
4.3.0
4.3.0
@@ -88,10 +89,13 @@
4.3.0
4.3.0
4.3.0
+ 4.6.0
4.3.0
+ 4.11.0
4.3.0
4.3.0
4.5.0
+ 4.5.0
$(RoslynVersion)
$(RoslynVersion)
@@ -102,7 +106,7 @@
2.0.17
$(RoslynVersion)
- 16.0.461
+ 16.4
$(MicrosoftBuildOverallPackagesVersion)
$(MicrosoftBuildOverallPackagesVersion)
$(MicrosoftBuildOverallPackagesVersion)
@@ -118,7 +122,6 @@
16.0.28226-alpha
16.1.28916.169
16.1.28917.181
- 16.1.3121
16.1.89
16.1.89
16.1.89
diff --git a/eng/build-utils.ps1 b/eng/build-utils.ps1
index 000319af33..316a36062c 100644
--- a/eng/build-utils.ps1
+++ b/eng/build-utils.ps1
@@ -238,9 +238,9 @@ function Make-BootstrapBuild() {
# prepare FsLex and Fsyacc and AssemblyCheck
Run-MSBuild "$RepoRoot\src\buildtools\buildtools.proj" "/restore /t:Publish /p:PublishWindowsPdb=false" -logFileName "BuildTools" -configuration $bootstrapConfiguration
- Copy-Item "$ArtifactsDir\bin\fslex\$bootstrapConfiguration\netcoreapp2.1\publish" -Destination "$dir\fslex" -Force -Recurse
- Copy-Item "$ArtifactsDir\bin\fsyacc\$bootstrapConfiguration\netcoreapp2.1\publish" -Destination "$dir\fsyacc" -Force -Recurse
- Copy-Item "$ArtifactsDir\bin\AssemblyCheck\$bootstrapConfiguration\netcoreapp2.1\publish" -Destination "$dir\AssemblyCheck" -Force -Recurse
+ Copy-Item "$ArtifactsDir\bin\fslex\$bootstrapConfiguration\netcoreapp3.0\publish" -Destination "$dir\fslex" -Force -Recurse
+ Copy-Item "$ArtifactsDir\bin\fsyacc\$bootstrapConfiguration\netcoreapp3.0\publish" -Destination "$dir\fsyacc" -Force -Recurse
+ Copy-Item "$ArtifactsDir\bin\AssemblyCheck\$bootstrapConfiguration\netcoreapp3.0\publish" -Destination "$dir\AssemblyCheck" -Force -Recurse
# prepare compiler
$projectPath = "$RepoRoot\proto.proj"
diff --git a/eng/build.sh b/eng/build.sh
index e4f3b056ea..994263ff7d 100755
--- a/eng/build.sh
+++ b/eng/build.sh
@@ -66,6 +66,9 @@ properties=""
docker=false
args=""
+BuildCategory=""
+BuildMessage=""
+
if [[ $# = 0 ]]
then
usage
@@ -150,6 +153,8 @@ done
. "$scriptroot/common/tools.sh"
function TestUsingNUnit() {
+ BuildCategory="Test"
+ BuildMessage="Error running tests"
testproject=""
targetframework=""
while [[ $# > 0 ]]; do
@@ -180,14 +185,12 @@ function TestUsingNUnit() {
projectname="${projectname%.*}"
testlogpath="$artifacts_dir/TestResults/$configuration/${projectname}_$targetframework.xml"
args="test \"$testproject\" --no-restore --no-build -c $configuration -f $targetframework --test-adapter-path . --logger \"nunit;LogFilePath=$testlogpath\""
- "$DOTNET_INSTALL_DIR/dotnet" $args || {
- local exit_code=$?
- Write-PipelineTelemetryError -category 'Test' "dotnet test failed for $testproject:$targetframework (exit code $exit_code)."
- ExitWithExitCode $exit_code
- }
+ "$DOTNET_INSTALL_DIR/dotnet" $args || exit $?
}
function BuildSolution {
+ BuildCategory="Build"
+ BuildMessage="Error preparing build"
local solution="FSharp.sln"
echo "$solution:"
@@ -229,33 +232,28 @@ function BuildSolution {
rm -fr $bootstrap_dir
fi
if [ ! -f "$bootstrap_dir/fslex.dll" ]; then
+ BuildMessage="Error building tools"
MSBuild "$repo_root/src/buildtools/buildtools.proj" \
/restore \
/p:Configuration=$bootstrap_config \
- /t:Publish || {
- local exit_code=$?
- Write-PipelineTelemetryError -category 'Build' "Error building buildtools (exit code '$exit_code')."
- ExitWithExitCode $exit_code
- }
+ /t:Publish
mkdir -p "$bootstrap_dir"
- cp -pr $artifacts_dir/bin/fslex/$bootstrap_config/netcoreapp2.1/publish $bootstrap_dir/fslex
- cp -pr $artifacts_dir/bin/fsyacc/$bootstrap_config/netcoreapp2.1/publish $bootstrap_dir/fsyacc
+ cp -pr $artifacts_dir/bin/fslex/$bootstrap_config/netcoreapp3.0/publish $bootstrap_dir/fslex
+ cp -pr $artifacts_dir/bin/fsyacc/$bootstrap_config/netcoreapp3.0/publish $bootstrap_dir/fsyacc
fi
if [ ! -f "$bootstrap_dir/fsc.exe" ]; then
+ BuildMessage="Error building bootstrap"
MSBuild "$repo_root/proto.proj" \
/restore \
/p:Configuration=$bootstrap_config \
- /t:Publish || {
- local exit_code=$?
- Write-PipelineTelemetryError -category 'Build' "Error building bootstrap compiler (exit code '$exit_code')."
- ExitWithExitCode $exit_code
- }
+ /t:Publish
- cp -pr $artifacts_dir/bin/fsc/$bootstrap_config/netcoreapp2.1/publish $bootstrap_dir/fsc
+ cp -pr $artifacts_dir/bin/fsc/$bootstrap_config/netcoreapp3.0/publish $bootstrap_dir/fsc
fi
# do real build
+ BuildMessage="Error building solution"
MSBuild $toolset_build_proj \
$bl \
/v:$verbosity \
@@ -271,30 +269,30 @@ function BuildSolution {
/p:ContinuousIntegrationBuild=$ci \
/p:QuietRestore=$quiet_restore \
/p:QuietRestoreBinaryLog="$binary_log" \
- $properties || {
- local exit_code=$?
- Write-PipelineTelemetryError -category 'Build' "Error building solution (exit code '$exit_code')."
- ExitWithExitCode $exit_code
- }
+ $properties
}
-InitializeDotNetCli $restore
+function TrapAndReportError {
+ local exit_code=$?
+ if [[ ! $exit_code == 0 ]]; then
+ Write-PipelineTelemetryError -category $BuildCategory "$BuildMessage (exit code '$exit_code')."
+ ExitWithExitCode $exit_code
+ fi
+}
-# enable us to build netcoreapp2.1 binaries
-if [[ "$source_build" != true ]]; then
- InstallDotNetSdk $_InitializeDotNetCli 2.1.503
-fi
+# allow early termination to report the appropriate build failure reason
+trap TrapAndReportError EXIT
+
+InitializeDotNetCli $restore
BuildSolution
if [[ "$test_core_clr" == true ]]; then
coreclrtestframework=netcoreapp3.0
TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.UnitTests/FSharp.Compiler.UnitTests.fsproj" --targetframework $coreclrtestframework
- TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.LanguageServer.UnitTests/FSharp.Compiler.LanguageServer.UnitTests.fsproj" --targetframework $coreclrtestframework
TestUsingNUnit --testproject "$repo_root/tests/FSharp.Compiler.Private.Scripting.UnitTests/FSharp.Compiler.Private.Scripting.UnitTests.fsproj" --targetframework $coreclrtestframework
TestUsingNUnit --testproject "$repo_root/tests/FSharp.Build.UnitTests/FSharp.Build.UnitTests.fsproj" --targetframework $coreclrtestframework
TestUsingNUnit --testproject "$repo_root/tests/FSharp.Core.UnitTests/FSharp.Core.UnitTests.fsproj" --targetframework $coreclrtestframework
fi
ExitWithExitCode 0
-
diff --git a/eng/common/CIBuild.cmd b/eng/common/CIBuild.cmd
deleted file mode 100644
index 56c2f25ac2..0000000000
--- a/eng/common/CIBuild.cmd
+++ /dev/null
@@ -1,2 +0,0 @@
-@echo off
-powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0Build.ps1""" -restore -build -test -sign -pack -publish -ci %*"
\ No newline at end of file
diff --git a/eng/common/CheckSymbols.ps1 b/eng/common/CheckSymbols.ps1
deleted file mode 100644
index 5442eff386..0000000000
--- a/eng/common/CheckSymbols.ps1
+++ /dev/null
@@ -1,159 +0,0 @@
-param(
- [Parameter(Mandatory=$true)][string] $InputPath, # Full path to directory where NuGet packages to be checked are stored
- [Parameter(Mandatory=$true)][string] $ExtractPath, # Full path to directory where the packages will be extracted during validation
- [Parameter(Mandatory=$true)][string] $SymbolToolPath # Full path to directory where dotnet symbol-tool was installed
-)
-
-Add-Type -AssemblyName System.IO.Compression.FileSystem
-. $PSScriptRoot\pipeline-logging-functions.ps1
-
-function FirstMatchingSymbolDescriptionOrDefault {
- param(
- [string] $FullPath, # Full path to the module that has to be checked
- [string] $TargetServerParameter, # Parameter to pass to `Symbol Tool` indicating the server to lookup for symbols
- [string] $SymbolsPath
- )
-
- $FileName = [System.IO.Path]::GetFileName($FullPath)
- $Extension = [System.IO.Path]::GetExtension($FullPath)
-
- # Those below are potential symbol files that the `dotnet symbol` might
- # return. Which one will be returned depend on the type of file we are
- # checking and which type of file was uploaded.
-
- # The file itself is returned
- $SymbolPath = $SymbolsPath + '\' + $FileName
-
- # PDB file for the module
- $PdbPath = $SymbolPath.Replace($Extension, '.pdb')
-
- # PDB file for R2R module (created by crossgen)
- $NGenPdb = $SymbolPath.Replace($Extension, '.ni.pdb')
-
- # DBG file for a .so library
- $SODbg = $SymbolPath.Replace($Extension, '.so.dbg')
-
- # DWARF file for a .dylib
- $DylibDwarf = $SymbolPath.Replace($Extension, '.dylib.dwarf')
-
- .\dotnet-symbol.exe --symbols --modules --windows-pdbs $TargetServerParameter $FullPath -o $SymbolsPath | Out-Null
-
- if (Test-Path $PdbPath) {
- return 'PDB'
- }
- elseif (Test-Path $NGenPdb) {
- return 'NGen PDB'
- }
- elseif (Test-Path $SODbg) {
- return 'DBG for SO'
- }
- elseif (Test-Path $DylibDwarf) {
- return 'Dwarf for Dylib'
- }
- elseif (Test-Path $SymbolPath) {
- return 'Module'
- }
- else {
- return $null
- }
-}
-
-function CountMissingSymbols {
- param(
- [string] $PackagePath # Path to a NuGet package
- )
-
- # Ensure input file exist
- if (!(Test-Path $PackagePath)) {
- throw "Input file does not exist: $PackagePath"
- }
-
- # Extensions for which we'll look for symbols
- $RelevantExtensions = @('.dll', '.exe', '.so', '.dylib')
-
- # How many files are missing symbol information
- $MissingSymbols = 0
-
- $PackageId = [System.IO.Path]::GetFileNameWithoutExtension($PackagePath)
- $PackageGuid = New-Guid
- $ExtractPath = Join-Path -Path $ExtractPath -ChildPath $PackageGuid
- $SymbolsPath = Join-Path -Path $ExtractPath -ChildPath 'Symbols'
-
- [System.IO.Compression.ZipFile]::ExtractToDirectory($PackagePath, $ExtractPath)
-
- # Makes easier to reference `symbol tool`
- Push-Location $SymbolToolPath
-
- Get-ChildItem -Recurse $ExtractPath |
- Where-Object {$RelevantExtensions -contains $_.Extension} |
- ForEach-Object {
- if ($_.FullName -Match '\\ref\\') {
- Write-Host "`t Ignoring reference assembly file" $_.FullName
- return
- }
-
- $SymbolsOnMSDL = FirstMatchingSymbolDescriptionOrDefault -FullPath $_.FullName -TargetServerParameter '--microsoft-symbol-server' -SymbolsPath $SymbolsPath
- $SymbolsOnSymWeb = FirstMatchingSymbolDescriptionOrDefault -FullPath $_.FullName -TargetServerParameter '--internal-server' -SymbolsPath $SymbolsPath
-
- Write-Host -NoNewLine "`t Checking file" $_.FullName "... "
-
- if ($SymbolsOnMSDL -ne $null -and $SymbolsOnSymWeb -ne $null) {
- Write-Host "Symbols found on MSDL (${$SymbolsOnMSDL}) and SymWeb (${$SymbolsOnSymWeb})"
- }
- else {
- $MissingSymbols++
-
- if ($SymbolsOnMSDL -eq $null -and $SymbolsOnSymWeb -eq $null) {
- Write-Host 'No symbols found on MSDL or SymWeb!'
- }
- else {
- if ($SymbolsOnMSDL -eq $null) {
- Write-Host 'No symbols found on MSDL!'
- }
- else {
- Write-Host 'No symbols found on SymWeb!'
- }
- }
- }
- }
-
- Pop-Location
-
- return $MissingSymbols
-}
-
-function CheckSymbolsAvailable {
- if (Test-Path $ExtractPath) {
- Remove-Item $ExtractPath -Force -Recurse -ErrorAction SilentlyContinue
- }
-
- Get-ChildItem "$InputPath\*.nupkg" |
- ForEach-Object {
- $FileName = $_.Name
-
- # These packages from Arcade-Services include some native libraries that
- # our current symbol uploader can't handle. Below is a workaround until
- # we get issue: https://github.com/dotnet/arcade/issues/2457 sorted.
- if ($FileName -Match 'Microsoft\.DotNet\.Darc\.') {
- Write-Host "Ignoring Arcade-services file: $FileName"
- Write-Host
- return
- }
- elseif ($FileName -Match 'Microsoft\.DotNet\.Maestro\.Tasks\.') {
- Write-Host "Ignoring Arcade-services file: $FileName"
- Write-Host
- return
- }
-
- Write-Host "Validating $FileName "
- $Status = CountMissingSymbols "$InputPath\$FileName"
-
- if ($Status -ne 0) {
- Write-PipelineTelemetryError -Category 'CheckSymbols' -Message "Missing symbols for $Status modules in the package $FileName"
- }
-
- Write-Host
- }
-}
-
-CheckSymbolsAvailable
diff --git a/eng/common/PSScriptAnalyzerSettings.psd1 b/eng/common/PSScriptAnalyzerSettings.psd1
deleted file mode 100644
index 4c1ea7c98e..0000000000
--- a/eng/common/PSScriptAnalyzerSettings.psd1
+++ /dev/null
@@ -1,11 +0,0 @@
-@{
- IncludeRules=@('PSAvoidUsingCmdletAliases',
- 'PSAvoidUsingWMICmdlet',
- 'PSAvoidUsingPositionalParameters',
- 'PSAvoidUsingInvokeExpression',
- 'PSUseDeclaredVarsMoreThanAssignments',
- 'PSUseCmdletCorrectly',
- 'PSStandardDSCFunctionsInResource',
- 'PSUseIdenticalMandatoryParametersForDSC',
- 'PSUseIdenticalParametersForDSC')
-}
\ No newline at end of file
diff --git a/eng/common/PublishToPackageFeed.proj b/eng/common/PublishToPackageFeed.proj
deleted file mode 100644
index a1b1333723..0000000000
--- a/eng/common/PublishToPackageFeed.proj
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
-
-
- netcoreapp2.1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- https://dotnetfeed.blob.core.windows.net/dotnet-core/index.json
- https://dotnetfeed.blob.core.windows.net/arcade-validation/index.json
- https://dotnetfeed.blob.core.windows.net/aspnet-aspnetcore/index.json
- https://dotnetfeed.blob.core.windows.net/aspnet-aspnetcore-tooling/index.json
- https://dotnetfeed.blob.core.windows.net/aspnet-entityframeworkcore/index.json
- https://dotnetfeed.blob.core.windows.net/aspnet-extensions/index.json
- https://dotnetfeed.blob.core.windows.net/dotnet-coreclr/index.json
- https://dotnetfeed.blob.core.windows.net/dotnet-sdk/index.json
- https://dotnetfeed.blob.core.windows.net/dotnet-tools-internal/index.json
- https://dotnetfeed.blob.core.windows.net/dotnet-toolset/index.json
- https://dotnetfeed.blob.core.windows.net/dotnet-windowsdesktop/index.json
- https://dotnetfeed.blob.core.windows.net/nuget-nugetclient/index.json
- https://dotnetfeed.blob.core.windows.net/aspnet-entityframework6/index.json
- https://dotnetfeed.blob.core.windows.net/aspnet-blazor/index.json
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/eng/common/PublishToSymbolServers.proj b/eng/common/PublishToSymbolServers.proj
deleted file mode 100644
index 311e2bbe0f..0000000000
--- a/eng/common/PublishToSymbolServers.proj
+++ /dev/null
@@ -1,84 +0,0 @@
-
-
-
-
-
- netcoreapp2.1
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 3650
- true
- true
- true
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/eng/common/README.md b/eng/common/README.md
deleted file mode 100644
index ff49c37152..0000000000
--- a/eng/common/README.md
+++ /dev/null
@@ -1,28 +0,0 @@
-# Don't touch this folder
-
- uuuuuuuuuuuuuuuuuuuu
- u" uuuuuuuuuuuuuuuuuu "u
- u" u$$$$$$$$$$$$$$$$$$$$u "u
- u" u$$$$$$$$$$$$$$$$$$$$$$$$u "u
- u" u$$$$$$$$$$$$$$$$$$$$$$$$$$$$u "u
- u" u$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$u "u
- u" u$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$u "u
- $ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $
- $ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $
- $ $$$" ... "$... ...$" ... "$$$ ... "$$$ $
- $ $$$u `"$$$$$$$ $$$ $$$$$ $$ $$$ $$$ $
- $ $$$$$$uu "$$$$ $$$ $$$$$ $$ """ u$$$ $
- $ $$$""$$$ $$$$ $$$u "$$$" u$$ $$$$$$$$ $
- $ $$$$....,$$$$$..$$$$$....,$$$$..$$$$$$$$ $
- $ $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ $
- "u "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" u"
- "u "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$" u"
- "u "$$$$$$$$$$$$$$$$$$$$$$$$$$$$" u"
- "u "$$$$$$$$$$$$$$$$$$$$$$$$" u"
- "u "$$$$$$$$$$$$$$$$$$$$" u"
- "u """""""""""""""""" u"
- """"""""""""""""""""
-
-!!! Changes made in this directory are subject to being overwritten by automation !!!
-
-The files in this directory are shared by all Arcade repos and managed by automation. If you need to make changes to these files, open an issue or submit a pull request to https://github.com/dotnet/arcade first.
diff --git a/eng/common/SetupNugetSources.ps1 b/eng/common/SetupNugetSources.ps1
deleted file mode 100644
index a5a1e711d7..0000000000
--- a/eng/common/SetupNugetSources.ps1
+++ /dev/null
@@ -1,141 +0,0 @@
-# This file is a temporary workaround for internal builds to be able to restore from private AzDO feeds.
-# This file should be removed as part of this issue: https://github.com/dotnet/arcade/issues/4080
-#
-# What the script does is iterate over all package sources in the pointed NuGet.config and add a credential entry
-# under for each Maestro managed private feed. Two additional credential
-# entries are also added for the two private static internal feeds: dotnet3-internal and dotnet3-internal-transport.
-#
-# This script needs to be called in every job that will restore packages and which the base repo has
-# private AzDO feeds in the NuGet.config.
-#
-# See example YAML call for this script below. Note the use of the variable `$(dn-bot-dnceng-artifact-feeds-rw)`
-# from the AzureDevOps-Artifact-Feeds-Pats variable group.
-#
-# - task: PowerShell@2
-# displayName: Setup Private Feeds Credentials
-# condition: eq(variables['Agent.OS'], 'Windows_NT')
-# inputs:
-# filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.ps1
-# arguments: -ConfigFile $(Build.SourcesDirectory)/NuGet.config -Password $Env:Token
-# env:
-# Token: $(dn-bot-dnceng-artifact-feeds-rw)
-
-[CmdletBinding()]
-param (
- [Parameter(Mandatory = $true)][string]$ConfigFile,
- [Parameter(Mandatory = $true)][string]$Password
-)
-
-$ErrorActionPreference = "Stop"
-Set-StrictMode -Version 2.0
-[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
-
-. $PSScriptRoot\tools.ps1
-
-# Add source entry to PackageSources
-function AddPackageSource($sources, $SourceName, $SourceEndPoint, $creds, $Username, $Password) {
- $packageSource = $sources.SelectSingleNode("add[@key='$SourceName']")
-
- if ($packageSource -eq $null)
- {
- $packageSource = $doc.CreateElement("add")
- $packageSource.SetAttribute("key", $SourceName)
- $packageSource.SetAttribute("value", $SourceEndPoint)
- $sources.AppendChild($packageSource) | Out-Null
- }
- else {
- Write-Host "Package source $SourceName already present."
- }
-
- AddCredential -Creds $creds -Source $SourceName -Username $Username -Password $Password
-}
-
-# Add a credential node for the specified source
-function AddCredential($creds, $source, $username, $password) {
- # Looks for credential configuration for the given SourceName. Create it if none is found.
- $sourceElement = $creds.SelectSingleNode($Source)
- if ($sourceElement -eq $null)
- {
- $sourceElement = $doc.CreateElement($Source)
- $creds.AppendChild($sourceElement) | Out-Null
- }
-
- # Add the node to the credential if none is found.
- $usernameElement = $sourceElement.SelectSingleNode("add[@key='Username']")
- if ($usernameElement -eq $null)
- {
- $usernameElement = $doc.CreateElement("add")
- $usernameElement.SetAttribute("key", "Username")
- $sourceElement.AppendChild($usernameElement) | Out-Null
- }
- $usernameElement.SetAttribute("value", $Username)
-
- # Add the to the credential if none is found.
- # Add it as a clear text because there is no support for encrypted ones in non-windows .Net SDKs.
- # -> https://github.com/NuGet/Home/issues/5526
- $passwordElement = $sourceElement.SelectSingleNode("add[@key='ClearTextPassword']")
- if ($passwordElement -eq $null)
- {
- $passwordElement = $doc.CreateElement("add")
- $passwordElement.SetAttribute("key", "ClearTextPassword")
- $sourceElement.AppendChild($passwordElement) | Out-Null
- }
- $passwordElement.SetAttribute("value", $Password)
-}
-
-function InsertMaestroPrivateFeedCredentials($Sources, $Creds, $Password) {
- $maestroPrivateSources = $Sources.SelectNodes("add[contains(@key,'darc-int')]")
-
- Write-Host "Inserting credentials for $($maestroPrivateSources.Count) Maestro's private feeds."
-
- ForEach ($PackageSource in $maestroPrivateSources) {
- Write-Host "`tInserting credential for Maestro's feed:" $PackageSource.Key
- AddCredential -Creds $creds -Source $PackageSource.Key -Username $Username -Password $Password
- }
-}
-
-if (!(Test-Path $ConfigFile -PathType Leaf)) {
- Write-PipelineTelemetryError -Category 'Build' -Message "Eng/common/SetupNugetSources.ps1 returned a non-zero exit code. Couldn't find the NuGet config file: $ConfigFile"
- ExitWithExitCode 1
-}
-
-if (!$Password) {
- Write-PipelineTelemetryError -Category 'Build' -Message 'Eng/common/SetupNugetSources.ps1 returned a non-zero exit code. Please supply a valid PAT'
- ExitWithExitCode 1
-}
-
-# Load NuGet.config
-$doc = New-Object System.Xml.XmlDocument
-$filename = (Get-Item $ConfigFile).FullName
-$doc.Load($filename)
-
-# Get reference to or create one if none exist already
-$sources = $doc.DocumentElement.SelectSingleNode("packageSources")
-if ($sources -eq $null) {
- $sources = $doc.CreateElement("packageSources")
- $doc.DocumentElement.AppendChild($sources) | Out-Null
-}
-
-# Looks for a node. Create it if none is found.
-$creds = $doc.DocumentElement.SelectSingleNode("packageSourceCredentials")
-if ($creds -eq $null) {
- $creds = $doc.CreateElement("packageSourceCredentials")
- $doc.DocumentElement.AppendChild($creds) | Out-Null
-}
-
-# Insert credential nodes for Maestro's private feeds
-InsertMaestroPrivateFeedCredentials -Sources $sources -Creds $creds -Password $Password
-
-$dotnet3Source = $sources.SelectSingleNode("add[@key='dotnet3']")
-if ($dotnet3Source -ne $null) {
- AddPackageSource -Sources $sources -SourceName "dotnet3-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password
- AddPackageSource -Sources $sources -SourceName "dotnet3-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3-internal-transport/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password
-}
-
-$dotnet31Source = $sources.SelectSingleNode("add[@key='dotnet3.1']")
-if ($dotnet31Source -ne $null) {
- AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password
- AddPackageSource -Sources $sources -SourceName "dotnet3.1-internal-transport" -SourceEndPoint "https://pkgs.dev.azure.com/dnceng/_packaging/dotnet3.1-internal-transport/nuget/v2" -Creds $creds -Username "dn-bot" -Password $Password
-}
-
-$doc.Save($filename)
diff --git a/eng/common/SetupNugetSources.sh b/eng/common/SetupNugetSources.sh
deleted file mode 100644
index 7d6fef27fe..0000000000
--- a/eng/common/SetupNugetSources.sh
+++ /dev/null
@@ -1,149 +0,0 @@
-#!/usr/bin/env bash
-
-# This file is a temporary workaround for internal builds to be able to restore from private AzDO feeds.
-# This file should be removed as part of this issue: https://github.com/dotnet/arcade/issues/4080
-#
-# What the script does is iterate over all package sources in the pointed NuGet.config and add a credential entry
-# under for each Maestro's managed private feed. Two additional credential
-# entries are also added for the two private static internal feeds: dotnet3-internal and dotnet3-internal-transport.
-#
-# This script needs to be called in every job that will restore packages and which the base repo has
-# private AzDO feeds in the NuGet.config.
-#
-# See example YAML call for this script below. Note the use of the variable `$(dn-bot-dnceng-artifact-feeds-rw)`
-# from the AzureDevOps-Artifact-Feeds-Pats variable group.
-#
-# - task: Bash@3
-# displayName: Setup Private Feeds Credentials
-# inputs:
-# filePath: $(Build.SourcesDirectory)/eng/common/SetupNugetSources.sh
-# arguments: $(Build.SourcesDirectory)/NuGet.config $Token
-# condition: ne(variables['Agent.OS'], 'Windows_NT')
-# env:
-# Token: $(dn-bot-dnceng-artifact-feeds-rw)
-
-ConfigFile=$1
-CredToken=$2
-NL='\n'
-TB=' '
-
-source="${BASH_SOURCE[0]}"
-
-# resolve $source until the file is no longer a symlink
-while [[ -h "$source" ]]; do
- scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
- source="$(readlink "$source")"
- # if $source was a relative symlink, we need to resolve it relative to the path where the
- # symlink file was located
- [[ $source != /* ]] && source="$scriptroot/$source"
-done
-scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
-
-. "$scriptroot/tools.sh"
-
-if [ ! -f "$ConfigFile" ]; then
- Write-PipelineTelemetryError -Category 'Build' "Error: Eng/common/SetupNugetSources.sh returned a non-zero exit code. Couldn't find the NuGet config file: $ConfigFile"
- ExitWithExitCode 1
-fi
-
-if [ -z "$CredToken" ]; then
- Write-PipelineTelemetryError -category 'Build' "Error: Eng/common/SetupNugetSources.sh returned a non-zero exit code. Please supply a valid PAT"
- ExitWithExitCode 1
-fi
-
-if [[ `uname -s` == "Darwin" ]]; then
- NL=$'\\\n'
- TB=''
-fi
-
-# Ensure there is a ... section.
-grep -i "" $ConfigFile
-if [ "$?" != "0" ]; then
- echo "Adding ... section."
- ConfigNodeHeader=""
- PackageSourcesTemplate="${TB}${NL}${TB}"
-
- sed -i.bak "s|$ConfigNodeHeader|$ConfigNodeHeader${NL}$PackageSourcesTemplate|" NuGet.config
-fi
-
-# Ensure there is a ... section.
-grep -i "" $ConfigFile
-if [ "$?" != "0" ]; then
- echo "Adding ... section."
-
- PackageSourcesNodeFooter=""
- PackageSourceCredentialsTemplate="${TB}${NL}${TB}"
-
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourcesNodeFooter${NL}$PackageSourceCredentialsTemplate|" NuGet.config
-fi
-
-PackageSources=()
-
-# Ensure dotnet3-internal and dotnet3-internal-transport are in the packageSources if the public dotnet3 feeds are present
-grep -i "" $ConfigFile
- if [ "$?" != "0" ]; then
- echo "Adding dotnet3-internal to the packageSources."
- PackageSourcesNodeFooter=""
- PackageSourceTemplate="${TB}"
-
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
- fi
- PackageSources+=('dotnet3-internal')
-
- grep -i ""
-
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
- fi
- PackageSources+=('dotnet3-internal-transport')
-fi
-
-# Ensure dotnet3.1-internal and dotnet3.1-internal-transport are in the packageSources if the public dotnet3.1 feeds are present
-grep -i ""
-
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
- fi
- PackageSources+=('dotnet3.1-internal')
-
- grep -i "" $ConfigFile
- if [ "$?" != "0" ]; then
- echo "Adding dotnet3.1-internal-transport to the packageSources."
- PackageSourcesNodeFooter=""
- PackageSourceTemplate="${TB}"
-
- sed -i.bak "s|$PackageSourcesNodeFooter|$PackageSourceTemplate${NL}$PackageSourcesNodeFooter|" $ConfigFile
- fi
- PackageSources+=('dotnet3.1-internal-transport')
-fi
-
-# I want things split line by line
-PrevIFS=$IFS
-IFS=$'\n'
-PackageSources+="$IFS"
-PackageSources+=$(grep -oh '"darc-int-[^"]*"' $ConfigFile | tr -d '"')
-IFS=$PrevIFS
-
-for FeedName in ${PackageSources[@]} ; do
- # Check if there is no existing credential for this FeedName
- grep -i "<$FeedName>" $ConfigFile
- if [ "$?" != "0" ]; then
- echo "Adding credentials for $FeedName."
-
- PackageSourceCredentialsNodeFooter=""
- NewCredential="${TB}${TB}<$FeedName>${NL}${NL}${NL}$FeedName>"
-
- sed -i.bak "s|$PackageSourceCredentialsNodeFooter|$NewCredential${NL}$PackageSourceCredentialsNodeFooter|" $ConfigFile
- fi
-done
diff --git a/eng/common/SigningValidation.proj b/eng/common/SigningValidation.proj
deleted file mode 100644
index 3d0ac80af3..0000000000
--- a/eng/common/SigningValidation.proj
+++ /dev/null
@@ -1,83 +0,0 @@
-
-
-
-
-
- netcoreapp2.1
-
-
-
-
-
-
-
- $(NuGetPackageRoot)Microsoft.DotNet.SignCheck\$(SignCheckVersion)\tools\Microsoft.DotNet.SignCheck.exe
-
- $(PackageBasePath)
- signcheck.log
- signcheck.errors.log
- signcheck.exclusions.txt
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/eng/common/SourceLinkValidation.ps1 b/eng/common/SourceLinkValidation.ps1
deleted file mode 100644
index 0e4c349e00..0000000000
--- a/eng/common/SourceLinkValidation.ps1
+++ /dev/null
@@ -1,195 +0,0 @@
-param(
- [Parameter(Mandatory=$true)][string] $InputPath, # Full path to directory where Symbols.NuGet packages to be checked are stored
- [Parameter(Mandatory=$true)][string] $ExtractPath, # Full path to directory where the packages will be extracted during validation
- [Parameter(Mandatory=$true)][string] $SourceLinkToolPath, # Full path to directory where dotnet SourceLink CLI was installed
- [Parameter(Mandatory=$true)][string] $GHRepoName, # GitHub name of the repo including the Org. E.g., dotnet/arcade
- [Parameter(Mandatory=$true)][string] $GHCommit # GitHub commit SHA used to build the packages
-)
-
-function ValidateSourceLinkLinks {
- if (!($GHRepoName -Match "^[^\s\/]+/[^\s\/]+$")) {
- Write-PipelineTelemetryError -Category "Build" -Message "GHRepoName should be in the format /"
- $global:LASTEXITCODE = 1
- return
- }
-
- if (!($GHCommit -Match "^[0-9a-fA-F]{40}$")) {
- Write-PipelineTelemetryError -Category "Build" -Message "GHCommit should be a 40 chars hexadecimal string"
- $global:LASTEXITCODE = 1
- return
- }
-
- $RepoTreeURL = -Join("https://api.github.com/repos/", $GHRepoName, "/git/trees/", $GHCommit, "?recursive=1")
- $CodeExtensions = @(".cs", ".vb", ".fs", ".fsi", ".fsx", ".fsscript")
-
- try {
- # Retrieve the list of files in the repo at that particular commit point and store them in the RepoFiles hash
- $Data = Invoke-WebRequest $RepoTreeURL | ConvertFrom-Json | Select-Object -ExpandProperty tree
-
- foreach ($file in $Data) {
- $Extension = [System.IO.Path]::GetExtension($file.path)
-
- if ($CodeExtensions.Contains($Extension)) {
- $RepoFiles[$file.path] = 1
- }
- }
- }
- catch {
- Write-PipelineTelemetryError -Category "Build" -Message "Problems downloading the list of files from the repo. Url used: $RepoTreeURL"
- $global:LASTEXITCODE = 1
- return
- }
-
- if (Test-Path $ExtractPath) {
- Remove-Item $ExtractPath -Force -Recurse -ErrorAction SilentlyContinue
- }
-
- # Process each NuGet package in parallel
- $Jobs = @()
- Get-ChildItem "$InputPath\*.symbols.nupkg" |
- ForEach-Object {
- $Jobs += Start-Job -ScriptBlock $ValidatePackage -ArgumentList $_.FullName
- }
-
- foreach ($Job in $Jobs) {
- Wait-Job -Id $Job.Id | Receive-Job
- }
-}
-
-try {
- . $PSScriptRoot\pipeline-logging-functions.ps1
-
- # Cache/HashMap (File -> Exist flag) used to consult whether a file exist
- # in the repository at a specific commit point. This is populated by inserting
- # all files present in the repo at a specific commit point.
- $global:RepoFiles = @{}
-
- $ValidatePackage = {
- param(
- [string] $PackagePath # Full path to a Symbols.NuGet package
- )
-
- # Ensure input file exist
- if (!(Test-Path $PackagePath)) {
- throw "Input file does not exist: $PackagePath"
- }
-
- # Extensions for which we'll look for SourceLink information
- # For now we'll only care about Portable & Embedded PDBs
- $RelevantExtensions = @(".dll", ".exe", ".pdb")
-
- Write-Host -NoNewLine "Validating" ([System.IO.Path]::GetFileName($PackagePath)) "... "
-
- $PackageId = [System.IO.Path]::GetFileNameWithoutExtension($PackagePath)
- $ExtractPath = Join-Path -Path $using:ExtractPath -ChildPath $PackageId
- $FailedFiles = 0
-
- Add-Type -AssemblyName System.IO.Compression.FileSystem
-
- [System.IO.Directory]::CreateDirectory($ExtractPath);
-
- $zip = [System.IO.Compression.ZipFile]::OpenRead($PackagePath)
-
- $zip.Entries |
- Where-Object {$RelevantExtensions -contains [System.IO.Path]::GetExtension($_.Name)} |
- ForEach-Object {
- $FileName = $_.FullName
- $Extension = [System.IO.Path]::GetExtension($_.Name)
- $FakeName = -Join((New-Guid), $Extension)
- $TargetFile = Join-Path -Path $ExtractPath -ChildPath $FakeName
-
- # We ignore resource DLLs
- if ($FileName.EndsWith(".resources.dll")) {
- return
- }
-
- [System.IO.Compression.ZipFileExtensions]::ExtractToFile($_, $TargetFile, $true)
-
- $ValidateFile = {
- param(
- [string] $FullPath, # Full path to the module that has to be checked
- [string] $RealPath,
- [ref] $FailedFiles
- )
-
- # Makes easier to reference `sourcelink cli`
- Push-Location $using:SourceLinkToolPath
-
- $SourceLinkInfos = .\sourcelink.exe print-urls $FullPath | Out-String
-
- if ($LASTEXITCODE -eq 0 -and -not ([string]::IsNullOrEmpty($SourceLinkInfos))) {
- $NumFailedLinks = 0
-
- # We only care about Http addresses
- $Matches = (Select-String '(http[s]?)(:\/\/)([^\s,]+)' -Input $SourceLinkInfos -AllMatches).Matches
-
- if ($Matches.Count -ne 0) {
- $Matches.Value |
- ForEach-Object {
- $Link = $_
- $CommitUrl = -Join("https://raw.githubusercontent.com/", $using:GHRepoName, "/", $using:GHCommit, "/")
- $FilePath = $Link.Replace($CommitUrl, "")
- $Status = 200
- $Cache = $using:RepoFiles
-
- if ( !($Cache.ContainsKey($FilePath)) ) {
- try {
- $Uri = $Link -as [System.URI]
-
- # Only GitHub links are valid
- if ($Uri.AbsoluteURI -ne $null -and $Uri.Host -match "github") {
- $Status = (Invoke-WebRequest -Uri $Link -UseBasicParsing -Method HEAD -TimeoutSec 5).StatusCode
- }
- else {
- $Status = 0
- }
- }
- catch {
- $Status = 0
- }
- }
-
- if ($Status -ne 200) {
- if ($NumFailedLinks -eq 0) {
- if ($FailedFiles.Value -eq 0) {
- Write-Host
- }
-
- Write-Host "`tFile $RealPath has broken links:"
- }
-
- Write-Host "`t`tFailed to retrieve $Link"
-
- $NumFailedLinks++
- }
- }
- }
-
- if ($NumFailedLinks -ne 0) {
- $FailedFiles.value++
- $global:LASTEXITCODE = 1
- }
- }
-
- Pop-Location
- }
-
- &$ValidateFile $TargetFile $FileName ([ref]$FailedFiles)
- }
-
- $zip.Dispose()
-
- if ($FailedFiles -eq 0) {
- Write-Host "Passed."
- }
- }
-
- Measure-Command { ValidateSourceLinkLinks }
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'SourceLink' -Message $_
- ExitWithExitCode 1
-}
-
-
diff --git a/eng/common/build.ps1 b/eng/common/build.ps1
deleted file mode 100644
index 88814514d8..0000000000
--- a/eng/common/build.ps1
+++ /dev/null
@@ -1,148 +0,0 @@
-[CmdletBinding(PositionalBinding=$false)]
-Param(
- [string][Alias('c')]$configuration = "Debug",
- [string]$platform = $null,
- [string] $projects,
- [string][Alias('v')]$verbosity = "minimal",
- [string] $msbuildEngine = $null,
- [bool] $warnAsError = $true,
- [bool] $nodeReuse = $true,
- [switch][Alias('r')]$restore,
- [switch] $deployDeps,
- [switch][Alias('b')]$build,
- [switch] $rebuild,
- [switch] $deploy,
- [switch][Alias('t')]$test,
- [switch] $integrationTest,
- [switch] $performanceTest,
- [switch] $sign,
- [switch] $pack,
- [switch] $publish,
- [switch] $clean,
- [switch][Alias('bl')]$binaryLog,
- [switch] $ci,
- [switch] $prepareMachine,
- [switch] $help,
- [Parameter(ValueFromRemainingArguments=$true)][String[]]$properties
-)
-
-function Print-Usage() {
- Write-Host "Common settings:"
- Write-Host " -configuration Build configuration: 'Debug' or 'Release' (short: -c)"
- Write-Host " -platform Platform configuration: 'x86', 'x64' or any valid Platform value to pass to msbuild"
- Write-Host " -verbosity Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic] (short: -v)"
- Write-Host " -binaryLog Output binary log (short: -bl)"
- Write-Host " -help Print help and exit"
- Write-Host ""
-
- Write-Host "Actions:"
- Write-Host " -restore Restore dependencies (short: -r)"
- Write-Host " -build Build solution (short: -b)"
- Write-Host " -rebuild Rebuild solution"
- Write-Host " -deploy Deploy built VSIXes"
- Write-Host " -deployDeps Deploy dependencies (e.g. VSIXes for integration tests)"
- Write-Host " -test Run all unit tests in the solution (short: -t)"
- Write-Host " -integrationTest Run all integration tests in the solution"
- Write-Host " -performanceTest Run all performance tests in the solution"
- Write-Host " -pack Package build outputs into NuGet packages and Willow components"
- Write-Host " -sign Sign build outputs"
- Write-Host " -publish Publish artifacts (e.g. symbols)"
- Write-Host " -clean Clean the solution"
- Write-Host ""
-
- Write-Host "Advanced settings:"
- Write-Host " -projects Semi-colon delimited list of sln/proj's to build. Globbing is supported (*.sln)"
- Write-Host " -ci Set when running on CI server"
- Write-Host " -prepareMachine Prepare machine for CI run, clean up processes after build"
- Write-Host " -warnAsError Sets warnaserror msbuild parameter ('true' or 'false')"
- Write-Host " -msbuildEngine Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)."
- Write-Host ""
-
- Write-Host "Command line arguments not listed above are passed thru to msbuild."
- Write-Host "The above arguments can be shortened as much as to be unambiguous (e.g. -co for configuration, -t for test, etc.)."
-}
-
-. $PSScriptRoot\tools.ps1
-
-function InitializeCustomToolset {
- if (-not $restore) {
- return
- }
-
- $script = Join-Path $EngRoot 'restore-toolset.ps1'
-
- if (Test-Path $script) {
- . $script
- }
-}
-
-function Build {
- $toolsetBuildProj = InitializeToolset
- InitializeCustomToolset
-
- $bl = if ($binaryLog) { '/bl:' + (Join-Path $LogDir 'Build.binlog') } else { '' }
- $platformArg = if ($platform) { "/p:Platform=$platform" } else { '' }
-
- if ($projects) {
- # Re-assign properties to a new variable because PowerShell doesn't let us append properties directly for unclear reasons.
- # Explicitly set the type as string[] because otherwise PowerShell would make this char[] if $properties is empty.
- [string[]] $msbuildArgs = $properties
-
- # Resolve relative project paths into full paths
- $projects = ($projects.Split(';').ForEach({Resolve-Path $_}) -join ';')
-
- $msbuildArgs += "/p:Projects=$projects"
- $properties = $msbuildArgs
- }
-
- MSBuild $toolsetBuildProj `
- $bl `
- $platformArg `
- /p:Configuration=$configuration `
- /p:RepoRoot=$RepoRoot `
- /p:Restore=$restore `
- /p:DeployDeps=$deployDeps `
- /p:Build=$build `
- /p:Rebuild=$rebuild `
- /p:Deploy=$deploy `
- /p:Test=$test `
- /p:Pack=$pack `
- /p:IntegrationTest=$integrationTest `
- /p:PerformanceTest=$performanceTest `
- /p:Sign=$sign `
- /p:Publish=$publish `
- @properties
-}
-
-try {
- if ($clean) {
- if (Test-Path $ArtifactsDir) {
- Remove-Item -Recurse -Force $ArtifactsDir
- Write-Host 'Artifacts directory deleted.'
- }
- exit 0
- }
-
- if ($help -or (($null -ne $properties) -and ($properties.Contains('/help') -or $properties.Contains('/?')))) {
- Print-Usage
- exit 0
- }
-
- if ($ci) {
- $binaryLog = $true
- $nodeReuse = $false
- }
-
- if ($restore) {
- InitializeNativeTools
- }
-
- Build
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'InitializeToolset' -Message $_
- ExitWithExitCode 1
-}
-
-ExitWithExitCode 0
diff --git a/eng/common/build.sh b/eng/common/build.sh
deleted file mode 100755
index 36f9aa0462..0000000000
--- a/eng/common/build.sh
+++ /dev/null
@@ -1,216 +0,0 @@
-#!/usr/bin/env bash
-
-# Stop script if unbound variable found (use ${var:-} if intentional)
-set -u
-
-# Stop script if command returns non-zero exit code.
-# Prevents hidden errors caused by missing error code propagation.
-set -e
-
-usage()
-{
- echo "Common settings:"
- echo " --configuration Build configuration: 'Debug' or 'Release' (short: -c)"
- echo " --verbosity Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic] (short: -v)"
- echo " --binaryLog Create MSBuild binary log (short: -bl)"
- echo " --help Print help and exit (short: -h)"
- echo ""
-
- echo "Actions:"
- echo " --restore Restore dependencies (short: -r)"
- echo " --build Build solution (short: -b)"
- echo " --rebuild Rebuild solution"
- echo " --test Run all unit tests in the solution (short: -t)"
- echo " --integrationTest Run all integration tests in the solution"
- echo " --performanceTest Run all performance tests in the solution"
- echo " --pack Package build outputs into NuGet packages and Willow components"
- echo " --sign Sign build outputs"
- echo " --publish Publish artifacts (e.g. symbols)"
- echo " --clean Clean the solution"
- echo ""
-
- echo "Advanced settings:"
- echo " --projects Project or solution file(s) to build"
- echo " --ci Set when running on CI server"
- echo " --prepareMachine Prepare machine for CI run, clean up processes after build"
- echo " --nodeReuse Sets nodereuse msbuild parameter ('true' or 'false')"
- echo " --warnAsError Sets warnaserror msbuild parameter ('true' or 'false')"
- echo ""
- echo "Command line arguments not listed above are passed thru to msbuild."
- echo "Arguments can also be passed in with a single hyphen."
-}
-
-source="${BASH_SOURCE[0]}"
-
-# resolve $source until the file is no longer a symlink
-while [[ -h "$source" ]]; do
- scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
- source="$(readlink "$source")"
- # if $source was a relative symlink, we need to resolve it relative to the path where the
- # symlink file was located
- [[ $source != /* ]] && source="$scriptroot/$source"
-done
-scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
-
-restore=false
-build=false
-rebuild=false
-test=false
-integration_test=false
-performance_test=false
-pack=false
-publish=false
-sign=false
-public=false
-ci=false
-clean=false
-
-warn_as_error=true
-node_reuse=true
-binary_log=false
-pipelines_log=false
-
-projects=''
-configuration='Debug'
-prepare_machine=false
-verbosity='minimal'
-
-properties=''
-
-while [[ $# > 0 ]]; do
- opt="$(echo "${1/#--/-}" | awk '{print tolower($0)}')"
- case "$opt" in
- -help|-h)
- usage
- exit 0
- ;;
- -clean)
- clean=true
- ;;
- -configuration|-c)
- configuration=$2
- shift
- ;;
- -verbosity|-v)
- verbosity=$2
- shift
- ;;
- -binarylog|-bl)
- binary_log=true
- ;;
- -pipelineslog|-pl)
- pipelines_log=true
- ;;
- -restore|-r)
- restore=true
- ;;
- -build|-b)
- build=true
- ;;
- -rebuild)
- rebuild=true
- ;;
- -pack)
- pack=true
- ;;
- -test|-t)
- test=true
- ;;
- -integrationtest)
- integration_test=true
- ;;
- -performancetest)
- performance_test=true
- ;;
- -sign)
- sign=true
- ;;
- -publish)
- publish=true
- ;;
- -preparemachine)
- prepare_machine=true
- ;;
- -projects)
- projects=$2
- shift
- ;;
- -ci)
- ci=true
- ;;
- -warnaserror)
- warn_as_error=$2
- shift
- ;;
- -nodereuse)
- node_reuse=$2
- shift
- ;;
- *)
- properties="$properties $1"
- ;;
- esac
-
- shift
-done
-
-if [[ "$ci" == true ]]; then
- pipelines_log=true
- binary_log=true
- node_reuse=false
-fi
-
-. "$scriptroot/tools.sh"
-
-function InitializeCustomToolset {
- local script="$eng_root/restore-toolset.sh"
-
- if [[ -a "$script" ]]; then
- . "$script"
- fi
-}
-
-function Build {
- InitializeToolset
- InitializeCustomToolset
-
- if [[ ! -z "$projects" ]]; then
- properties="$properties /p:Projects=$projects"
- fi
-
- local bl=""
- if [[ "$binary_log" == true ]]; then
- bl="/bl:\"$log_dir/Build.binlog\""
- fi
-
- MSBuild $_InitializeToolset \
- $bl \
- /p:Configuration=$configuration \
- /p:RepoRoot="$repo_root" \
- /p:Restore=$restore \
- /p:Build=$build \
- /p:Rebuild=$rebuild \
- /p:Test=$test \
- /p:Pack=$pack \
- /p:IntegrationTest=$integration_test \
- /p:PerformanceTest=$performance_test \
- /p:Sign=$sign \
- /p:Publish=$publish \
- $properties
-
- ExitWithExitCode 0
-}
-
-if [[ "$clean" == true ]]; then
- if [ -d "$artifacts_dir" ]; then
- rm -rf $artifacts_dir
- echo "Artifacts directory deleted."
- fi
- exit 0
-fi
-
-if [[ "$restore" == true ]]; then
- InitializeNativeTools
-fi
-
-Build
diff --git a/eng/common/cibuild.sh b/eng/common/cibuild.sh
deleted file mode 100755
index 1a02c0dec8..0000000000
--- a/eng/common/cibuild.sh
+++ /dev/null
@@ -1,16 +0,0 @@
-#!/usr/bin/env bash
-
-source="${BASH_SOURCE[0]}"
-
-# resolve $SOURCE until the file is no longer a symlink
-while [[ -h $source ]]; do
- scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
- source="$(readlink "$source")"
-
- # if $source was a relative symlink, we need to resolve it relative to the path where
- # the symlink file was located
- [[ $source != /* ]] && source="$scriptroot/$source"
-done
-scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
-
-. "$scriptroot/build.sh" --restore --build --test --pack --publish --ci $@
\ No newline at end of file
diff --git a/eng/common/cross/android/arm/toolchain.cmake b/eng/common/cross/android/arm/toolchain.cmake
deleted file mode 100644
index a7e1c73501..0000000000
--- a/eng/common/cross/android/arm/toolchain.cmake
+++ /dev/null
@@ -1,41 +0,0 @@
-set(CROSS_NDK_TOOLCHAIN $ENV{ROOTFS_DIR}/../)
-set(CROSS_ROOTFS ${CROSS_NDK_TOOLCHAIN}/sysroot)
-set(CLR_CMAKE_PLATFORM_ANDROID "Android")
-
-set(CMAKE_SYSTEM_NAME Linux)
-set(CMAKE_SYSTEM_VERSION 1)
-set(CMAKE_SYSTEM_PROCESSOR arm)
-
-## Specify the toolchain
-set(TOOLCHAIN "arm-linux-androideabi")
-set(CMAKE_PREFIX_PATH ${CROSS_NDK_TOOLCHAIN})
-set(TOOLCHAIN_PREFIX ${TOOLCHAIN}-)
-
-find_program(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}clang)
-find_program(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}clang++)
-find_program(CMAKE_ASM_COMPILER ${TOOLCHAIN_PREFIX}clang)
-find_program(CMAKE_AR ${TOOLCHAIN_PREFIX}ar)
-find_program(CMAKE_LD ${TOOLCHAIN_PREFIX}ar)
-find_program(CMAKE_OBJCOPY ${TOOLCHAIN_PREFIX}objcopy)
-find_program(CMAKE_OBJDUMP ${TOOLCHAIN_PREFIX}objdump)
-
-add_compile_options(--sysroot=${CROSS_ROOTFS})
-add_compile_options(-fPIE)
-add_compile_options(-mfloat-abi=soft)
-include_directories(SYSTEM ${CROSS_NDK_TOOLCHAIN}/include/c++/4.9.x/)
-include_directories(SYSTEM ${CROSS_NDK_TOOLCHAIN}/include/c++/4.9.x/arm-linux-androideabi/)
-
-set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B ${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}")
-set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/lib/${TOOLCHAIN}")
-set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} --sysroot=${CROSS_ROOTFS}")
-set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -fPIE -pie")
-
-set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE)
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE)
-set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE)
-
-set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOTFS}")
-set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
diff --git a/eng/common/cross/android/arm64/toolchain.cmake b/eng/common/cross/android/arm64/toolchain.cmake
deleted file mode 100644
index 29415899c1..0000000000
--- a/eng/common/cross/android/arm64/toolchain.cmake
+++ /dev/null
@@ -1,42 +0,0 @@
-set(CROSS_NDK_TOOLCHAIN $ENV{ROOTFS_DIR}/../)
-set(CROSS_ROOTFS ${CROSS_NDK_TOOLCHAIN}/sysroot)
-set(CLR_CMAKE_PLATFORM_ANDROID "Android")
-
-set(CMAKE_SYSTEM_NAME Linux)
-set(CMAKE_SYSTEM_VERSION 1)
-set(CMAKE_SYSTEM_PROCESSOR aarch64)
-
-## Specify the toolchain
-set(TOOLCHAIN "aarch64-linux-android")
-set(CMAKE_PREFIX_PATH ${CROSS_NDK_TOOLCHAIN})
-set(TOOLCHAIN_PREFIX ${TOOLCHAIN}-)
-
-find_program(CMAKE_C_COMPILER ${TOOLCHAIN_PREFIX}clang)
-find_program(CMAKE_CXX_COMPILER ${TOOLCHAIN_PREFIX}clang++)
-find_program(CMAKE_ASM_COMPILER ${TOOLCHAIN_PREFIX}clang)
-find_program(CMAKE_AR ${TOOLCHAIN_PREFIX}ar)
-find_program(CMAKE_LD ${TOOLCHAIN_PREFIX}ar)
-find_program(CMAKE_OBJCOPY ${TOOLCHAIN_PREFIX}objcopy)
-find_program(CMAKE_OBJDUMP ${TOOLCHAIN_PREFIX}objdump)
-
-add_compile_options(--sysroot=${CROSS_ROOTFS})
-add_compile_options(-fPIE)
-
-## Needed for Android or bionic specific conditionals
-add_compile_options(-D__ANDROID__)
-add_compile_options(-D__BIONIC__)
-
-set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -B ${CROSS_ROOTFS}/usr/lib/gcc/${TOOLCHAIN}")
-set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -L${CROSS_ROOTFS}/lib/${TOOLCHAIN}")
-set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} --sysroot=${CROSS_ROOTFS}")
-set(CROSS_LINK_FLAGS "${CROSS_LINK_FLAGS} -fPIE -pie")
-
-set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE)
-set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE)
-set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${CROSS_LINK_FLAGS}" CACHE STRING "" FORCE)
-
-set(CMAKE_FIND_ROOT_PATH "${CROSS_ROOTFS}")
-set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
diff --git a/eng/common/cross/arm/sources.list.bionic b/eng/common/cross/arm/sources.list.bionic
deleted file mode 100644
index 2109557409..0000000000
--- a/eng/common/cross/arm/sources.list.bionic
+++ /dev/null
@@ -1,11 +0,0 @@
-deb http://ports.ubuntu.com/ubuntu-ports/ bionic main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ bionic-updates main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-updates main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ bionic-backports main restricted
-deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-backports main restricted
-
-deb http://ports.ubuntu.com/ubuntu-ports/ bionic-security main restricted universe multiverse
-deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-security main restricted universe multiverse
diff --git a/eng/common/cross/arm/sources.list.jessie b/eng/common/cross/arm/sources.list.jessie
deleted file mode 100644
index 4d142ac9b1..0000000000
--- a/eng/common/cross/arm/sources.list.jessie
+++ /dev/null
@@ -1,3 +0,0 @@
-# Debian (sid) # UNSTABLE
-deb http://ftp.debian.org/debian/ sid main contrib non-free
-deb-src http://ftp.debian.org/debian/ sid main contrib non-free
diff --git a/eng/common/cross/arm/sources.list.trusty b/eng/common/cross/arm/sources.list.trusty
deleted file mode 100644
index 07d8f88d82..0000000000
--- a/eng/common/cross/arm/sources.list.trusty
+++ /dev/null
@@ -1,11 +0,0 @@
-deb http://ports.ubuntu.com/ubuntu-ports/ trusty main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ trusty-backports main restricted
-deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-backports main restricted
-
-deb http://ports.ubuntu.com/ubuntu-ports/ trusty-security main restricted universe multiverse
-deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-security main restricted universe multiverse
\ No newline at end of file
diff --git a/eng/common/cross/arm/sources.list.xenial b/eng/common/cross/arm/sources.list.xenial
deleted file mode 100644
index eacd86b7df..0000000000
--- a/eng/common/cross/arm/sources.list.xenial
+++ /dev/null
@@ -1,11 +0,0 @@
-deb http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
-deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
-
-deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse
-deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse
\ No newline at end of file
diff --git a/eng/common/cross/arm/sources.list.zesty b/eng/common/cross/arm/sources.list.zesty
deleted file mode 100644
index ea2c14a787..0000000000
--- a/eng/common/cross/arm/sources.list.zesty
+++ /dev/null
@@ -1,11 +0,0 @@
-deb http://ports.ubuntu.com/ubuntu-ports/ zesty main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ zesty main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ zesty-updates main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ zesty-updates main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ zesty-backports main restricted
-deb-src http://ports.ubuntu.com/ubuntu-ports/ zesty-backports main restricted
-
-deb http://ports.ubuntu.com/ubuntu-ports/ zesty-security main restricted universe multiverse
-deb-src http://ports.ubuntu.com/ubuntu-ports/ zesty-security main restricted universe multiverse
diff --git a/eng/common/cross/arm/trusty-lttng-2.4.patch b/eng/common/cross/arm/trusty-lttng-2.4.patch
deleted file mode 100644
index 8e4dd7ae71..0000000000
--- a/eng/common/cross/arm/trusty-lttng-2.4.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From e72c9d7ead60e3317bd6d1fade995c07021c947b Mon Sep 17 00:00:00 2001
-From: Mathieu Desnoyers
-Date: Thu, 7 May 2015 13:25:04 -0400
-Subject: [PATCH] Fix: building probe providers with C++ compiler
-
-Robert Daniels wrote:
-> > I'm attempting to use lttng userspace tracing with a C++ application
-> > on an ARM platform. I'm using GCC 4.8.4 on Linux 3.14 with the 2.6
-> > release of lttng. I've compiled lttng-modules, lttng-ust, and
-> > lttng-tools and have been able to get a simple test working with C
-> > code. When I attempt to run the hello.cxx test on my target it will
-> > segfault.
->
->
-> I spent a little time digging into this issue and finally discovered the
-> cause of my segfault with ARM C++ tracepoints.
->
-> There is a struct called 'lttng_event' in ust-events.h which contains an
-> empty union 'u'. This was the cause of my issue. Under C, this empty union
-> compiles to a zero byte member while under C++ it compiles to a one byte
-> member, and in my case was four-byte aligned which caused my C++ code to
-> have the 'cds_list_head node' offset incorrectly by four bytes. This lead
-> to an incorrect linked list structure which caused my issue.
->
-> Since this union is empty, I simply removed it from the struct and everything
-> worked correctly.
->
-> I don't know the history or purpose behind this empty union so I'd like to
-> know if this is a safe fix. If it is I can submit a patch with the union
-> removed.
-
-That's a very nice catch!
-
-We do not support building tracepoint probe provider with
-g++ yet, as stated in lttng-ust(3):
-
-"- Note for C++ support: although an application instrumented with
- tracepoints can be compiled with g++, tracepoint probes should be
- compiled with gcc (only tested with gcc so far)."
-
-However, if it works fine with this fix, then I'm tempted to take it,
-especially because removing the empty union does not appear to affect
-the layout of struct lttng_event as seen from liblttng-ust, which must
-be compiled with a C compiler, and from probe providers compiled with
-a C compiler. So all we are changing is the layout of a probe provider
-compiled with a C++ compiler, which is anyway buggy at the moment,
-because it is not compatible with the layout expected by liblttng-ust
-compiled with a C compiler.
-
-Reported-by: Robert Daniels
-Signed-off-by: Mathieu Desnoyers
----
- include/lttng/ust-events.h | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/usr/include/lttng/ust-events.h b/usr/include/lttng/ust-events.h
-index 328a875..3d7a274 100644
---- a/usr/include/lttng/ust-events.h
-+++ b/usr/include/lttng/ust-events.h
-@@ -407,8 +407,6 @@ struct lttng_event {
- void *_deprecated1;
- struct lttng_ctx *ctx;
- enum lttng_ust_instrumentation instrumentation;
-- union {
-- } u;
- struct cds_list_head node; /* Event list in session */
- struct cds_list_head _deprecated2;
- void *_deprecated3;
---
-2.7.4
-
diff --git a/eng/common/cross/arm/trusty.patch b/eng/common/cross/arm/trusty.patch
deleted file mode 100644
index 2f2972f8eb..0000000000
--- a/eng/common/cross/arm/trusty.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-diff -u -r a/usr/include/urcu/uatomic/generic.h b/usr/include/urcu/uatomic/generic.h
---- a/usr/include/urcu/uatomic/generic.h 2014-03-28 06:04:42.000000000 +0900
-+++ b/usr/include/urcu/uatomic/generic.h 2017-02-13 10:35:21.189927116 +0900
-@@ -65,17 +65,17 @@
- switch (len) {
- #ifdef UATOMIC_HAS_ATOMIC_BYTE
- case 1:
-- return __sync_val_compare_and_swap_1(addr, old, _new);
-+ return __sync_val_compare_and_swap_1((uint8_t *) addr, old, _new);
- #endif
- #ifdef UATOMIC_HAS_ATOMIC_SHORT
- case 2:
-- return __sync_val_compare_and_swap_2(addr, old, _new);
-+ return __sync_val_compare_and_swap_2((uint16_t *) addr, old, _new);
- #endif
- case 4:
-- return __sync_val_compare_and_swap_4(addr, old, _new);
-+ return __sync_val_compare_and_swap_4((uint32_t *) addr, old, _new);
- #if (CAA_BITS_PER_LONG == 64)
- case 8:
-- return __sync_val_compare_and_swap_8(addr, old, _new);
-+ return __sync_val_compare_and_swap_8((uint64_t *) addr, old, _new);
- #endif
- }
- _uatomic_link_error();
-@@ -100,20 +100,20 @@
- switch (len) {
- #ifdef UATOMIC_HAS_ATOMIC_BYTE
- case 1:
-- __sync_and_and_fetch_1(addr, val);
-+ __sync_and_and_fetch_1((uint8_t *) addr, val);
- return;
- #endif
- #ifdef UATOMIC_HAS_ATOMIC_SHORT
- case 2:
-- __sync_and_and_fetch_2(addr, val);
-+ __sync_and_and_fetch_2((uint16_t *) addr, val);
- return;
- #endif
- case 4:
-- __sync_and_and_fetch_4(addr, val);
-+ __sync_and_and_fetch_4((uint32_t *) addr, val);
- return;
- #if (CAA_BITS_PER_LONG == 64)
- case 8:
-- __sync_and_and_fetch_8(addr, val);
-+ __sync_and_and_fetch_8((uint64_t *) addr, val);
- return;
- #endif
- }
-@@ -139,20 +139,20 @@
- switch (len) {
- #ifdef UATOMIC_HAS_ATOMIC_BYTE
- case 1:
-- __sync_or_and_fetch_1(addr, val);
-+ __sync_or_and_fetch_1((uint8_t *) addr, val);
- return;
- #endif
- #ifdef UATOMIC_HAS_ATOMIC_SHORT
- case 2:
-- __sync_or_and_fetch_2(addr, val);
-+ __sync_or_and_fetch_2((uint16_t *) addr, val);
- return;
- #endif
- case 4:
-- __sync_or_and_fetch_4(addr, val);
-+ __sync_or_and_fetch_4((uint32_t *) addr, val);
- return;
- #if (CAA_BITS_PER_LONG == 64)
- case 8:
-- __sync_or_and_fetch_8(addr, val);
-+ __sync_or_and_fetch_8((uint64_t *) addr, val);
- return;
- #endif
- }
-@@ -180,17 +180,17 @@
- switch (len) {
- #ifdef UATOMIC_HAS_ATOMIC_BYTE
- case 1:
-- return __sync_add_and_fetch_1(addr, val);
-+ return __sync_add_and_fetch_1((uint8_t *) addr, val);
- #endif
- #ifdef UATOMIC_HAS_ATOMIC_SHORT
- case 2:
-- return __sync_add_and_fetch_2(addr, val);
-+ return __sync_add_and_fetch_2((uint16_t *) addr, val);
- #endif
- case 4:
-- return __sync_add_and_fetch_4(addr, val);
-+ return __sync_add_and_fetch_4((uint32_t *) addr, val);
- #if (CAA_BITS_PER_LONG == 64)
- case 8:
-- return __sync_add_and_fetch_8(addr, val);
-+ return __sync_add_and_fetch_8((uint64_t *) addr, val);
- #endif
- }
- _uatomic_link_error();
diff --git a/eng/common/cross/arm64/sources.list.bionic b/eng/common/cross/arm64/sources.list.bionic
deleted file mode 100644
index 2109557409..0000000000
--- a/eng/common/cross/arm64/sources.list.bionic
+++ /dev/null
@@ -1,11 +0,0 @@
-deb http://ports.ubuntu.com/ubuntu-ports/ bionic main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ bionic-updates main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-updates main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ bionic-backports main restricted
-deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-backports main restricted
-
-deb http://ports.ubuntu.com/ubuntu-ports/ bionic-security main restricted universe multiverse
-deb-src http://ports.ubuntu.com/ubuntu-ports/ bionic-security main restricted universe multiverse
diff --git a/eng/common/cross/arm64/sources.list.buster b/eng/common/cross/arm64/sources.list.buster
deleted file mode 100644
index 7194ac64a9..0000000000
--- a/eng/common/cross/arm64/sources.list.buster
+++ /dev/null
@@ -1,11 +0,0 @@
-deb http://deb.debian.org/debian buster main
-deb-src http://deb.debian.org/debian buster main
-
-deb http://deb.debian.org/debian-security/ buster/updates main
-deb-src http://deb.debian.org/debian-security/ buster/updates main
-
-deb http://deb.debian.org/debian buster-updates main
-deb-src http://deb.debian.org/debian buster-updates main
-
-deb http://deb.debian.org/debian buster-backports main contrib non-free
-deb-src http://deb.debian.org/debian buster-backports main contrib non-free
diff --git a/eng/common/cross/arm64/sources.list.stretch b/eng/common/cross/arm64/sources.list.stretch
deleted file mode 100644
index 0e12157743..0000000000
--- a/eng/common/cross/arm64/sources.list.stretch
+++ /dev/null
@@ -1,12 +0,0 @@
-deb http://deb.debian.org/debian stretch main
-deb-src http://deb.debian.org/debian stretch main
-
-deb http://deb.debian.org/debian-security/ stretch/updates main
-deb-src http://deb.debian.org/debian-security/ stretch/updates main
-
-deb http://deb.debian.org/debian stretch-updates main
-deb-src http://deb.debian.org/debian stretch-updates main
-
-deb http://deb.debian.org/debian stretch-backports main contrib non-free
-deb-src http://deb.debian.org/debian stretch-backports main contrib non-free
-
diff --git a/eng/common/cross/arm64/sources.list.trusty b/eng/common/cross/arm64/sources.list.trusty
deleted file mode 100644
index 07d8f88d82..0000000000
--- a/eng/common/cross/arm64/sources.list.trusty
+++ /dev/null
@@ -1,11 +0,0 @@
-deb http://ports.ubuntu.com/ubuntu-ports/ trusty main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-updates main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ trusty-backports main restricted
-deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-backports main restricted
-
-deb http://ports.ubuntu.com/ubuntu-ports/ trusty-security main restricted universe multiverse
-deb-src http://ports.ubuntu.com/ubuntu-ports/ trusty-security main restricted universe multiverse
\ No newline at end of file
diff --git a/eng/common/cross/arm64/sources.list.xenial b/eng/common/cross/arm64/sources.list.xenial
deleted file mode 100644
index eacd86b7df..0000000000
--- a/eng/common/cross/arm64/sources.list.xenial
+++ /dev/null
@@ -1,11 +0,0 @@
-deb http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
-deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-backports main restricted
-
-deb http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse
-deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-security main restricted universe multiverse
\ No newline at end of file
diff --git a/eng/common/cross/arm64/sources.list.zesty b/eng/common/cross/arm64/sources.list.zesty
deleted file mode 100644
index ea2c14a787..0000000000
--- a/eng/common/cross/arm64/sources.list.zesty
+++ /dev/null
@@ -1,11 +0,0 @@
-deb http://ports.ubuntu.com/ubuntu-ports/ zesty main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ zesty main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ zesty-updates main restricted universe
-deb-src http://ports.ubuntu.com/ubuntu-ports/ zesty-updates main restricted universe
-
-deb http://ports.ubuntu.com/ubuntu-ports/ zesty-backports main restricted
-deb-src http://ports.ubuntu.com/ubuntu-ports/ zesty-backports main restricted
-
-deb http://ports.ubuntu.com/ubuntu-ports/ zesty-security main restricted universe multiverse
-deb-src http://ports.ubuntu.com/ubuntu-ports/ zesty-security main restricted universe multiverse
diff --git a/eng/common/cross/armel/sources.list.jessie b/eng/common/cross/armel/sources.list.jessie
deleted file mode 100644
index 3d9c3059d8..0000000000
--- a/eng/common/cross/armel/sources.list.jessie
+++ /dev/null
@@ -1,3 +0,0 @@
-# Debian (jessie) # Stable
-deb http://ftp.debian.org/debian/ jessie main contrib non-free
-deb-src http://ftp.debian.org/debian/ jessie main contrib non-free
diff --git a/eng/common/cross/armel/tizen-build-rootfs.sh b/eng/common/cross/armel/tizen-build-rootfs.sh
deleted file mode 100755
index 87c48e78fb..0000000000
--- a/eng/common/cross/armel/tizen-build-rootfs.sh
+++ /dev/null
@@ -1,44 +0,0 @@
-#!/usr/bin/env bash
-set -e
-
-__ARM_SOFTFP_CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-__TIZEN_CROSSDIR="$__ARM_SOFTFP_CrossDir/tizen"
-
-if [[ -z "$ROOTFS_DIR" ]]; then
- echo "ROOTFS_DIR is not defined."
- exit 1;
-fi
-
-# Clean-up (TODO-Cleanup: We may already delete $ROOTFS_DIR at ./cross/build-rootfs.sh.)
-# hk0110
-if [ -d "$ROOTFS_DIR" ]; then
- umount $ROOTFS_DIR/*
- rm -rf $ROOTFS_DIR
-fi
-
-TIZEN_TMP_DIR=$ROOTFS_DIR/tizen_tmp
-mkdir -p $TIZEN_TMP_DIR
-
-# Download files
-echo ">>Start downloading files"
-VERBOSE=1 $__ARM_SOFTFP_CrossDir/tizen-fetch.sh $TIZEN_TMP_DIR
-echo "<>Start constructing Tizen rootfs"
-TIZEN_RPM_FILES=`ls $TIZEN_TMP_DIR/*.rpm`
-cd $ROOTFS_DIR
-for f in $TIZEN_RPM_FILES; do
- rpm2cpio $f | cpio -idm --quiet
-done
-echo "<>Start configuring Tizen rootfs"
-rm ./usr/lib/libunwind.so
-ln -s libunwind.so.8 ./usr/lib/libunwind.so
-ln -sfn asm-arm ./usr/include/asm
-patch -p1 < $__TIZEN_CROSSDIR/tizen.patch
-echo "</dev/null; then
- VERBOSE=0
-fi
-
-Log()
-{
- if [ $VERBOSE -ge $1 ]; then
- echo ${@:2}
- fi
-}
-
-Inform()
-{
- Log 1 -e "\x1B[0;34m$@\x1B[m"
-}
-
-Debug()
-{
- Log 2 -e "\x1B[0;32m$@\x1B[m"
-}
-
-Error()
-{
- >&2 Log 0 -e "\x1B[0;31m$@\x1B[m"
-}
-
-Fetch()
-{
- URL=$1
- FILE=$2
- PROGRESS=$3
- if [ $VERBOSE -ge 1 ] && [ $PROGRESS ]; then
- CURL_OPT="--progress-bar"
- else
- CURL_OPT="--silent"
- fi
- curl $CURL_OPT $URL > $FILE
-}
-
-hash curl 2> /dev/null || { Error "Require 'curl' Aborting."; exit 1; }
-hash xmllint 2> /dev/null || { Error "Require 'xmllint' Aborting."; exit 1; }
-hash sha256sum 2> /dev/null || { Error "Require 'sha256sum' Aborting."; exit 1; }
-
-TMPDIR=$1
-if [ ! -d $TMPDIR ]; then
- TMPDIR=./tizen_tmp
- Debug "Create temporary directory : $TMPDIR"
- mkdir -p $TMPDIR
-fi
-
-TIZEN_URL=http://download.tizen.org/releases/milestone/tizen
-BUILD_XML=build.xml
-REPOMD_XML=repomd.xml
-PRIMARY_XML=primary.xml
-TARGET_URL="http://__not_initialized"
-
-Xpath_get()
-{
- XPATH_RESULT=''
- XPATH=$1
- XML_FILE=$2
- RESULT=$(xmllint --xpath $XPATH $XML_FILE)
- if [[ -z ${RESULT// } ]]; then
- Error "Can not find target from $XML_FILE"
- Debug "Xpath = $XPATH"
- exit 1
- fi
- XPATH_RESULT=$RESULT
-}
-
-fetch_tizen_pkgs_init()
-{
- TARGET=$1
- PROFILE=$2
- Debug "Initialize TARGET=$TARGET, PROFILE=$PROFILE"
-
- TMP_PKG_DIR=$TMPDIR/tizen_${PROFILE}_pkgs
- if [ -d $TMP_PKG_DIR ]; then rm -rf $TMP_PKG_DIR; fi
- mkdir -p $TMP_PKG_DIR
-
- PKG_URL=$TIZEN_URL/$PROFILE/latest
-
- BUILD_XML_URL=$PKG_URL/$BUILD_XML
- TMP_BUILD=$TMP_PKG_DIR/$BUILD_XML
- TMP_REPOMD=$TMP_PKG_DIR/$REPOMD_XML
- TMP_PRIMARY=$TMP_PKG_DIR/$PRIMARY_XML
- TMP_PRIMARYGZ=${TMP_PRIMARY}.gz
-
- Fetch $BUILD_XML_URL $TMP_BUILD
-
- Debug "fetch $BUILD_XML_URL to $TMP_BUILD"
-
- TARGET_XPATH="//build/buildtargets/buildtarget[@name=\"$TARGET\"]/repo[@type=\"binary\"]/text()"
- Xpath_get $TARGET_XPATH $TMP_BUILD
- TARGET_PATH=$XPATH_RESULT
- TARGET_URL=$PKG_URL/$TARGET_PATH
-
- REPOMD_URL=$TARGET_URL/repodata/repomd.xml
- PRIMARY_XPATH='string(//*[local-name()="data"][@type="primary"]/*[local-name()="location"]/@href)'
-
- Fetch $REPOMD_URL $TMP_REPOMD
-
- Debug "fetch $REPOMD_URL to $TMP_REPOMD"
-
- Xpath_get $PRIMARY_XPATH $TMP_REPOMD
- PRIMARY_XML_PATH=$XPATH_RESULT
- PRIMARY_URL=$TARGET_URL/$PRIMARY_XML_PATH
-
- Fetch $PRIMARY_URL $TMP_PRIMARYGZ
-
- Debug "fetch $PRIMARY_URL to $TMP_PRIMARYGZ"
-
- gunzip $TMP_PRIMARYGZ
-
- Debug "unzip $TMP_PRIMARYGZ to $TMP_PRIMARY"
-}
-
-fetch_tizen_pkgs()
-{
- ARCH=$1
- PACKAGE_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="location"]/@href)'
-
- PACKAGE_CHECKSUM_XPATH_TPL='string(//*[local-name()="metadata"]/*[local-name()="package"][*[local-name()="name"][text()="_PKG_"]][*[local-name()="arch"][text()="_ARCH_"]]/*[local-name()="checksum"]/text())'
-
- for pkg in ${@:2}
- do
- Inform "Fetching... $pkg"
- XPATH=${PACKAGE_XPATH_TPL/_PKG_/$pkg}
- XPATH=${XPATH/_ARCH_/$ARCH}
- Xpath_get $XPATH $TMP_PRIMARY
- PKG_PATH=$XPATH_RESULT
-
- XPATH=${PACKAGE_CHECKSUM_XPATH_TPL/_PKG_/$pkg}
- XPATH=${XPATH/_ARCH_/$ARCH}
- Xpath_get $XPATH $TMP_PRIMARY
- CHECKSUM=$XPATH_RESULT
-
- PKG_URL=$TARGET_URL/$PKG_PATH
- PKG_FILE=$(basename $PKG_PATH)
- PKG_PATH=$TMPDIR/$PKG_FILE
-
- Debug "Download $PKG_URL to $PKG_PATH"
- Fetch $PKG_URL $PKG_PATH true
-
- echo "$CHECKSUM $PKG_PATH" | sha256sum -c - > /dev/null
- if [ $? -ne 0 ]; then
- Error "Fail to fetch $PKG_URL to $PKG_PATH"
- Debug "Checksum = $CHECKSUM"
- exit 1
- fi
- done
-}
-
-Inform "Initialize arm base"
-fetch_tizen_pkgs_init standard base
-Inform "fetch common packages"
-fetch_tizen_pkgs armv7l gcc glibc glibc-devel libicu libicu-devel libatomic
-fetch_tizen_pkgs noarch linux-glibc-devel
-Inform "fetch coreclr packages"
-fetch_tizen_pkgs armv7l lldb lldb-devel libgcc libstdc++ libstdc++-devel libunwind libunwind-devel lttng-ust-devel lttng-ust userspace-rcu-devel userspace-rcu
-Inform "fetch corefx packages"
-fetch_tizen_pkgs armv7l libcom_err libcom_err-devel zlib zlib-devel libopenssl libopenssl-devel krb5 krb5-devel libcurl libcurl-devel
-
-Inform "Initialize standard unified"
-fetch_tizen_pkgs_init standard unified
-Inform "fetch corefx packages"
-fetch_tizen_pkgs armv7l gssdp gssdp-devel tizen-release
-
diff --git a/eng/common/cross/armel/tizen/tizen-dotnet.ks b/eng/common/cross/armel/tizen/tizen-dotnet.ks
deleted file mode 100644
index 506d455bd4..0000000000
--- a/eng/common/cross/armel/tizen/tizen-dotnet.ks
+++ /dev/null
@@ -1,50 +0,0 @@
-lang en_US.UTF-8
-keyboard us
-timezone --utc Asia/Seoul
-
-part / --fstype="ext4" --size=3500 --ondisk=mmcblk0 --label rootfs --fsoptions=defaults,noatime
-
-rootpw tizen
-desktop --autologinuser=root
-user --name root --groups audio,video --password 'tizen'
-
-repo --name=standard --baseurl=http://download.tizen.org/releases/milestone/tizen/unified/latest/repos/standard/packages/ --ssl_verify=no
-repo --name=base --baseurl=http://download.tizen.org/releases/milestone/tizen/base/latest/repos/standard/packages/ --ssl_verify=no
-
-%packages
-tar
-gzip
-
-sed
-grep
-gawk
-perl
-
-binutils
-findutils
-util-linux
-lttng-ust
-userspace-rcu
-procps-ng
-tzdata
-ca-certificates
-
-
-### Core FX
-libicu
-libunwind
-iputils
-zlib
-krb5
-libcurl
-libopenssl
-
-%end
-
-%post
-
-### Update /tmp privilege
-chmod 777 /tmp
-####################################
-
-%end
diff --git a/eng/common/cross/armel/tizen/tizen.patch b/eng/common/cross/armel/tizen/tizen.patch
deleted file mode 100644
index d223427c97..0000000000
--- a/eng/common/cross/armel/tizen/tizen.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -u -r a/usr/lib/libc.so b/usr/lib/libc.so
---- a/usr/lib/libc.so 2016-12-30 23:00:08.284951863 +0900
-+++ b/usr/lib/libc.so 2016-12-30 23:00:32.140951815 +0900
-@@ -2,4 +2,4 @@
- Use the shared library, but some functions are only in
- the static library, so try that secondarily. */
- OUTPUT_FORMAT(elf32-littlearm)
--GROUP ( /lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED ( /lib/ld-linux.so.3 ) )
-+GROUP ( libc.so.6 libc_nonshared.a AS_NEEDED ( ld-linux.so.3 ) )
-diff -u -r a/usr/lib/libpthread.so b/usr/lib/libpthread.so
---- a/usr/lib/libpthread.so 2016-12-30 23:00:19.408951841 +0900
-+++ b/usr/lib/libpthread.so 2016-12-30 23:00:39.068951801 +0900
-@@ -2,4 +2,4 @@
- Use the shared library, but some functions are only in
- the static library, so try that secondarily. */
- OUTPUT_FORMAT(elf32-littlearm)
--GROUP ( /lib/libpthread.so.0 /usr/lib/libpthread_nonshared.a )
-+GROUP ( libpthread.so.0 libpthread_nonshared.a )
diff --git a/eng/common/cross/build-android-rootfs.sh b/eng/common/cross/build-android-rootfs.sh
deleted file mode 100755
index adceda877a..0000000000
--- a/eng/common/cross/build-android-rootfs.sh
+++ /dev/null
@@ -1,137 +0,0 @@
-#!/usr/bin/env bash
-set -e
-__NDK_Version=r14
-
-usage()
-{
- echo "Creates a toolchain and sysroot used for cross-compiling for Android."
- echo.
- echo "Usage: $0 [BuildArch] [ApiLevel]"
- echo.
- echo "BuildArch is the target architecture of Android. Currently only arm64 is supported."
- echo "ApiLevel is the target Android API level. API levels usually match to Android releases. See https://source.android.com/source/build-numbers.html"
- echo.
- echo "By default, the toolchain and sysroot will be generated in cross/android-rootfs/toolchain/[BuildArch]. You can change this behavior"
- echo "by setting the TOOLCHAIN_DIR environment variable"
- echo.
- echo "By default, the NDK will be downloaded into the cross/android-rootfs/android-ndk-$__NDK_Version directory. If you already have an NDK installation,"
- echo "you can set the NDK_DIR environment variable to have this script use that installation of the NDK."
- echo "By default, this script will generate a file, android_platform, in the root of the ROOTFS_DIR directory that contains the RID for the supported and tested Android build: android.21-arm64. This file is to replace '/etc/os-release', which is not available for Android."
- exit 1
-}
-
-__ApiLevel=21 # The minimum platform for arm64 is API level 21
-__BuildArch=arm64
-__AndroidArch=aarch64
-__AndroidToolchain=aarch64-linux-android
-
-for i in "$@"
- do
- lowerI="$(echo $i | awk '{print tolower($0)}')"
- case $lowerI in
- -?|-h|--help)
- usage
- exit 1
- ;;
- arm64)
- __BuildArch=arm64
- __AndroidArch=aarch64
- __AndroidToolchain=aarch64-linux-android
- ;;
- arm)
- __BuildArch=arm
- __AndroidArch=arm
- __AndroidToolchain=arm-linux-androideabi
- ;;
- *[0-9])
- __ApiLevel=$i
- ;;
- *)
- __UnprocessedBuildArgs="$__UnprocessedBuildArgs $i"
- ;;
- esac
-done
-
-# Obtain the location of the bash script to figure out where the root of the repo is.
-__CrossDir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
-
-__Android_Cross_Dir="$__CrossDir/android-rootfs"
-__NDK_Dir="$__Android_Cross_Dir/android-ndk-$__NDK_Version"
-__libunwind_Dir="$__Android_Cross_Dir/libunwind"
-__lldb_Dir="$__Android_Cross_Dir/lldb"
-__ToolchainDir="$__Android_Cross_Dir/toolchain/$__BuildArch"
-
-if [[ -n "$TOOLCHAIN_DIR" ]]; then
- __ToolchainDir=$TOOLCHAIN_DIR
-fi
-
-if [[ -n "$NDK_DIR" ]]; then
- __NDK_Dir=$NDK_DIR
-fi
-
-echo "Target API level: $__ApiLevel"
-echo "Target architecture: $__BuildArch"
-echo "NDK location: $__NDK_Dir"
-echo "Target Toolchain location: $__ToolchainDir"
-
-# Download the NDK if required
-if [ ! -d $__NDK_Dir ]; then
- echo Downloading the NDK into $__NDK_Dir
- mkdir -p $__NDK_Dir
- wget -nv -nc --show-progress https://dl.google.com/android/repository/android-ndk-$__NDK_Version-linux-x86_64.zip -O $__Android_Cross_Dir/android-ndk-$__NDK_Version-linux-x86_64.zip
- unzip -q $__Android_Cross_Dir/android-ndk-$__NDK_Version-linux-x86_64.zip -d $__Android_Cross_Dir
-fi
-
-if [ ! -d $__lldb_Dir ]; then
- mkdir -p $__lldb_Dir
- echo Downloading LLDB into $__lldb_Dir
- wget -nv -nc --show-progress https://dl.google.com/android/repository/lldb-2.3.3614996-linux-x86_64.zip -O $__Android_Cross_Dir/lldb-2.3.3614996-linux-x86_64.zip
- unzip -q $__Android_Cross_Dir/lldb-2.3.3614996-linux-x86_64.zip -d $__lldb_Dir
-fi
-
-# Create the RootFS for both arm64 as well as aarch
-rm -rf $__Android_Cross_Dir/toolchain
-
-echo Generating the $__BuildArch toolchain
-$__NDK_Dir/build/tools/make_standalone_toolchain.py --arch $__BuildArch --api $__ApiLevel --install-dir $__ToolchainDir
-
-# Install the required packages into the toolchain
-# TODO: Add logic to get latest pkg version instead of specific version number
-rm -rf $__Android_Cross_Dir/deb/
-rm -rf $__Android_Cross_Dir/tmp
-
-mkdir -p $__Android_Cross_Dir/deb/
-mkdir -p $__Android_Cross_Dir/tmp/$arch/
-wget -nv -nc http://termux.net/dists/stable/main/binary-$__AndroidArch/libicu_60.2_$__AndroidArch.deb -O $__Android_Cross_Dir/deb/libicu_60.2_$__AndroidArch.deb
-wget -nv -nc http://termux.net/dists/stable/main/binary-$__AndroidArch/libicu-dev_60.2_$__AndroidArch.deb -O $__Android_Cross_Dir/deb/libicu-dev_60.2_$__AndroidArch.deb
-
-wget -nv -nc http://termux.net/dists/stable/main/binary-$__AndroidArch/libandroid-glob-dev_0.4_$__AndroidArch.deb -O $__Android_Cross_Dir/deb/libandroid-glob-dev_0.4_$__AndroidArch.deb
-wget -nv -nc http://termux.net/dists/stable/main/binary-$__AndroidArch/libandroid-glob_0.4_$__AndroidArch.deb -O $__Android_Cross_Dir/deb/libandroid-glob_0.4_$__AndroidArch.deb
-wget -nv -nc http://termux.net/dists/stable/main/binary-$__AndroidArch/libandroid-support-dev_22_$__AndroidArch.deb -O $__Android_Cross_Dir/deb/libandroid-support-dev_22_$__AndroidArch.deb
-wget -nv -nc http://termux.net/dists/stable/main/binary-$__AndroidArch/libandroid-support_22_$__AndroidArch.deb -O $__Android_Cross_Dir/deb/libandroid-support_22_$__AndroidArch.deb
-wget -nv -nc http://termux.net/dists/stable/main/binary-$__AndroidArch/liblzma-dev_5.2.3_$__AndroidArch.deb -O $__Android_Cross_Dir/deb/liblzma-dev_5.2.3_$__AndroidArch.deb
-wget -nv -nc http://termux.net/dists/stable/main/binary-$__AndroidArch/liblzma_5.2.3_$__AndroidArch.deb -O $__Android_Cross_Dir/deb/liblzma_5.2.3_$__AndroidArch.deb
-wget -nv -nc http://termux.net/dists/stable/main/binary-$__AndroidArch/libunwind-dev_1.2.20170304_$__AndroidArch.deb -O $__Android_Cross_Dir/deb/libunwind-dev_1.2.20170304_$__AndroidArch.deb
-wget -nv -nc http://termux.net/dists/stable/main/binary-$__AndroidArch/libunwind_1.2.20170304_$__AndroidArch.deb -O $__Android_Cross_Dir/deb/libunwind_1.2.20170304_$__AndroidArch.deb
-
-echo Unpacking Termux packages
-dpkg -x $__Android_Cross_Dir/deb/libicu_60.2_$__AndroidArch.deb $__Android_Cross_Dir/tmp/$__AndroidArch/
-dpkg -x $__Android_Cross_Dir/deb/libicu-dev_60.2_$__AndroidArch.deb $__Android_Cross_Dir/tmp/$__AndroidArch/
-dpkg -x $__Android_Cross_Dir/deb/libandroid-glob-dev_0.4_$__AndroidArch.deb $__Android_Cross_Dir/tmp/$__AndroidArch/
-dpkg -x $__Android_Cross_Dir/deb/libandroid-glob_0.4_$__AndroidArch.deb $__Android_Cross_Dir/tmp/$__AndroidArch/
-dpkg -x $__Android_Cross_Dir/deb/libandroid-support-dev_22_$__AndroidArch.deb $__Android_Cross_Dir/tmp/$__AndroidArch/
-dpkg -x $__Android_Cross_Dir/deb/libandroid-support_22_$__AndroidArch.deb $__Android_Cross_Dir/tmp/$__AndroidArch/
-dpkg -x $__Android_Cross_Dir/deb/liblzma-dev_5.2.3_$__AndroidArch.deb $__Android_Cross_Dir/tmp/$__AndroidArch/
-dpkg -x $__Android_Cross_Dir/deb/liblzma_5.2.3_$__AndroidArch.deb $__Android_Cross_Dir/tmp/$__AndroidArch/
-dpkg -x $__Android_Cross_Dir/deb/libunwind-dev_1.2.20170304_$__AndroidArch.deb $__Android_Cross_Dir/tmp/$__AndroidArch/
-dpkg -x $__Android_Cross_Dir/deb/libunwind_1.2.20170304_$__AndroidArch.deb $__Android_Cross_Dir/tmp/$__AndroidArch/
-
-cp -R $__Android_Cross_Dir/tmp/$__AndroidArch/data/data/com.termux/files/usr/* $__ToolchainDir/sysroot/usr/
-
-# Generate platform file for build.sh script to assign to __DistroRid
-echo "Generating platform file..."
-
-echo "RID=android.21-arm64" > $__ToolchainDir/sysroot/android_platform
-echo Now run:
-echo CONFIG_DIR=\`realpath cross/android/$__BuildArch\` ROOTFS_DIR=\`realpath $__ToolchainDir/sysroot\` ./build.sh cross $__BuildArch skipgenerateversion skipnuget cmakeargs -DENABLE_LLDBPLUGIN=0
-
diff --git a/eng/common/cross/build-rootfs.sh b/eng/common/cross/build-rootfs.sh
deleted file mode 100755
index 8d61377a87..0000000000
--- a/eng/common/cross/build-rootfs.sh
+++ /dev/null
@@ -1,234 +0,0 @@
-#!/usr/bin/env bash
-
-usage()
-{
- echo "Usage: $0 [BuildArch] [LinuxCodeName] [lldbx.y] [--skipunmount] --rootfsdir ]"
- echo "BuildArch can be: arm(default), armel, arm64, x86"
- echo "LinuxCodeName - optional, Code name for Linux, can be: trusty, xenial(default), zesty, bionic, alpine. If BuildArch is armel, LinuxCodeName is jessie(default) or tizen."
- echo "lldbx.y - optional, LLDB version, can be: lldb3.9(default), lldb4.0, lldb5.0, lldb6.0 no-lldb. Ignored for alpine"
- echo "--skipunmount - optional, will skip the unmount of rootfs folder."
- exit 1
-}
-
-__LinuxCodeName=xenial
-__CrossDir=$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )
-__InitialDir=$PWD
-__BuildArch=arm
-__UbuntuArch=armhf
-__UbuntuRepo="http://ports.ubuntu.com/"
-__LLDB_Package="liblldb-3.9-dev"
-__SkipUnmount=0
-
-# base development support
-__UbuntuPackages="build-essential"
-
-__AlpinePackages="alpine-base"
-__AlpinePackages+=" build-base"
-__AlpinePackages+=" linux-headers"
-__AlpinePackages+=" lldb-dev"
-__AlpinePackages+=" llvm-dev"
-
-# symlinks fixer
-__UbuntuPackages+=" symlinks"
-
-# CoreCLR and CoreFX dependencies
-__UbuntuPackages+=" libicu-dev"
-__UbuntuPackages+=" liblttng-ust-dev"
-__UbuntuPackages+=" libunwind8-dev"
-
-__AlpinePackages+=" gettext-dev"
-__AlpinePackages+=" icu-dev"
-__AlpinePackages+=" libunwind-dev"
-__AlpinePackages+=" lttng-ust-dev"
-
-# CoreFX dependencies
-__UbuntuPackages+=" libcurl4-openssl-dev"
-__UbuntuPackages+=" libkrb5-dev"
-__UbuntuPackages+=" libssl-dev"
-__UbuntuPackages+=" zlib1g-dev"
-
-__AlpinePackages+=" curl-dev"
-__AlpinePackages+=" krb5-dev"
-__AlpinePackages+=" openssl-dev"
-__AlpinePackages+=" zlib-dev"
-
-__UnprocessedBuildArgs=
-while :; do
- if [ $# -le 0 ]; then
- break
- fi
-
- lowerI="$(echo $1 | awk '{print tolower($0)}')"
- case $lowerI in
- -?|-h|--help)
- usage
- exit 1
- ;;
- arm)
- __BuildArch=arm
- __UbuntuArch=armhf
- __AlpineArch=armhf
- __QEMUArch=arm
- ;;
- arm64)
- __BuildArch=arm64
- __UbuntuArch=arm64
- __AlpineArch=aarch64
- __QEMUArch=aarch64
- ;;
- armel)
- __BuildArch=armel
- __UbuntuArch=armel
- __UbuntuRepo="http://ftp.debian.org/debian/"
- __LinuxCodeName=jessie
- ;;
- x86)
- __BuildArch=x86
- __UbuntuArch=i386
- __UbuntuRepo="http://archive.ubuntu.com/ubuntu/"
- ;;
- lldb3.6)
- __LLDB_Package="lldb-3.6-dev"
- ;;
- lldb3.8)
- __LLDB_Package="lldb-3.8-dev"
- ;;
- lldb3.9)
- __LLDB_Package="liblldb-3.9-dev"
- ;;
- lldb4.0)
- __LLDB_Package="liblldb-4.0-dev"
- ;;
- lldb5.0)
- __LLDB_Package="liblldb-5.0-dev"
- ;;
- lldb6.0)
- __LLDB_Package="liblldb-6.0-dev"
- ;;
- no-lldb)
- unset __LLDB_Package
- ;;
- trusty) # Ubuntu 14.04
- if [ "$__LinuxCodeName" != "jessie" ]; then
- __LinuxCodeName=trusty
- fi
- ;;
- xenial) # Ubuntu 16.04
- if [ "$__LinuxCodeName" != "jessie" ]; then
- __LinuxCodeName=xenial
- fi
- ;;
- zesty) # Ubuntu 17.04
- if [ "$__LinuxCodeName" != "jessie" ]; then
- __LinuxCodeName=zesty
- fi
- ;;
- bionic) # Ubuntu 18.04
- if [ "$__LinuxCodeName" != "jessie" ]; then
- __LinuxCodeName=bionic
- fi
- ;;
- jessie) # Debian 8
- __LinuxCodeName=jessie
- __UbuntuRepo="http://ftp.debian.org/debian/"
- ;;
- stretch) # Debian 9
- __LinuxCodeName=stretch
- __UbuntuRepo="http://ftp.debian.org/debian/"
- __LLDB_Package="liblldb-6.0-dev"
- ;;
- buster) # Debian 10
- __LinuxCodeName=buster
- __UbuntuRepo="http://ftp.debian.org/debian/"
- __LLDB_Package="liblldb-6.0-dev"
- ;;
- tizen)
- if [ "$__BuildArch" != "armel" ]; then
- echo "Tizen is available only for armel."
- usage;
- exit 1;
- fi
- __LinuxCodeName=
- __UbuntuRepo=
- __Tizen=tizen
- ;;
- alpine)
- __LinuxCodeName=alpine
- __UbuntuRepo=
- ;;
- --skipunmount)
- __SkipUnmount=1
- ;;
- --rootfsdir|-rootfsdir)
- shift
- __RootfsDir=$1
- ;;
- *)
- __UnprocessedBuildArgs="$__UnprocessedBuildArgs $1"
- ;;
- esac
-
- shift
-done
-
-if [ "$__BuildArch" == "armel" ]; then
- __LLDB_Package="lldb-3.5-dev"
-fi
-__UbuntuPackages+=" ${__LLDB_Package:-}"
-
-if [ -z "$__RootfsDir" ] && [ ! -z "$ROOTFS_DIR" ]; then
- __RootfsDir=$ROOTFS_DIR
-fi
-
-if [ -z "$__RootfsDir" ]; then
- __RootfsDir="$__CrossDir/../../../.tools/rootfs/$__BuildArch"
-fi
-
-if [ -d "$__RootfsDir" ]; then
- if [ $__SkipUnmount == 0 ]; then
- umount $__RootfsDir/*
- fi
- rm -rf $__RootfsDir
-fi
-
-if [[ "$__LinuxCodeName" == "alpine" ]]; then
- __ApkToolsVersion=2.9.1
- __AlpineVersion=3.9
- __ApkToolsDir=$(mktemp -d)
- wget https://github.com/alpinelinux/apk-tools/releases/download/v$__ApkToolsVersion/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz -P $__ApkToolsDir
- tar -xf $__ApkToolsDir/apk-tools-$__ApkToolsVersion-x86_64-linux.tar.gz -C $__ApkToolsDir
- mkdir -p $__RootfsDir/usr/bin
- cp -v /usr/bin/qemu-$__QEMUArch-static $__RootfsDir/usr/bin
- $__ApkToolsDir/apk-tools-$__ApkToolsVersion/apk \
- -X http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/main \
- -X http://dl-cdn.alpinelinux.org/alpine/v$__AlpineVersion/community \
- -X http://dl-cdn.alpinelinux.org/alpine/edge/testing \
- -X http://dl-cdn.alpinelinux.org/alpine/edge/main \
- -U --allow-untrusted --root $__RootfsDir --arch $__AlpineArch --initdb \
- add $__AlpinePackages
- rm -r $__ApkToolsDir
-elif [[ -n $__LinuxCodeName ]]; then
- qemu-debootstrap --arch $__UbuntuArch $__LinuxCodeName $__RootfsDir $__UbuntuRepo
- cp $__CrossDir/$__BuildArch/sources.list.$__LinuxCodeName $__RootfsDir/etc/apt/sources.list
- chroot $__RootfsDir apt-get update
- chroot $__RootfsDir apt-get -f -y install
- chroot $__RootfsDir apt-get -y install $__UbuntuPackages
- chroot $__RootfsDir symlinks -cr /usr
-
- if [ $__SkipUnmount == 0 ]; then
- umount $__RootfsDir/*
- fi
-
- if [[ "$__BuildArch" == "arm" && "$__LinuxCodeName" == "trusty" ]]; then
- pushd $__RootfsDir
- patch -p1 < $__CrossDir/$__BuildArch/trusty.patch
- patch -p1 < $__CrossDir/$__BuildArch/trusty-lttng-2.4.patch
- popd
- fi
-elif [ "$__Tizen" == "tizen" ]; then
- ROOTFS_DIR=$__RootfsDir $__CrossDir/$__BuildArch/tizen-build-rootfs.sh
-else
- echo "Unsupported target platform."
- usage;
- exit 1
-fi
diff --git a/eng/common/cross/toolchain.cmake b/eng/common/cross/toolchain.cmake
deleted file mode 100644
index 0eea7d1df3..0000000000
--- a/eng/common/cross/toolchain.cmake
+++ /dev/null
@@ -1,119 +0,0 @@
-set(CROSS_ROOTFS $ENV{ROOTFS_DIR})
-
-set(TARGET_ARCH_NAME $ENV{TARGET_BUILD_ARCH})
-set(CMAKE_SYSTEM_NAME Linux)
-set(CMAKE_SYSTEM_VERSION 1)
-
-if(TARGET_ARCH_NAME STREQUAL "armel")
- set(CMAKE_SYSTEM_PROCESSOR armv7l)
- set(TOOLCHAIN "arm-linux-gnueabi")
- if("$ENV{__DistroRid}" MATCHES "tizen.*")
- set(TIZEN_TOOLCHAIN "armv7l-tizen-linux-gnueabi/6.2.1")
- endif()
-elseif(TARGET_ARCH_NAME STREQUAL "arm")
- set(CMAKE_SYSTEM_PROCESSOR armv7l)
- if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/armv6-alpine-linux-musleabihf)
- set(TOOLCHAIN "armv6-alpine-linux-musleabihf")
- else()
- set(TOOLCHAIN "arm-linux-gnueabihf")
- endif()
-elseif(TARGET_ARCH_NAME STREQUAL "arm64")
- set(CMAKE_SYSTEM_PROCESSOR aarch64)
- if(EXISTS ${CROSS_ROOTFS}/usr/lib/gcc/aarch64-alpine-linux-musl)
- set(TOOLCHAIN "aarch64-alpine-linux-musl")
- else()
- set(TOOLCHAIN "aarch64-linux-gnu")
- endif()
-elseif(TARGET_ARCH_NAME STREQUAL "x86")
- set(CMAKE_SYSTEM_PROCESSOR i686)
- set(TOOLCHAIN "i686-linux-gnu")
-else()
- message(FATAL_ERROR "Arch is ${TARGET_ARCH_NAME}. Only armel, arm, arm64 and x86 are supported!")
-endif()
-
-if(DEFINED ENV{TOOLCHAIN})
- set(TOOLCHAIN $ENV{TOOLCHAIN})
-endif()
-
-# Specify include paths
-if(TARGET_ARCH_NAME STREQUAL "armel")
- if(DEFINED TIZEN_TOOLCHAIN)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/)
- include_directories(SYSTEM ${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}/include/c++/armv7l-tizen-linux-gnueabi)
- endif()
-endif()
-
-set(CMAKE_SYSROOT "${CROSS_ROOTFS}")
-set(CMAKE_C_COMPILER_EXTERNAL_TOOLCHAIN "${CROSS_ROOTFS}/usr")
-set(CMAKE_CXX_COMPILER_EXTERNAL_TOOLCHAIN "${CROSS_ROOTFS}/usr")
-set(CMAKE_ASM_COMPILER_EXTERNAL_TOOLCHAIN "${CROSS_ROOTFS}/usr")
-
-# Specify link flags
-
-if(TARGET_ARCH_NAME STREQUAL "armel")
- if(DEFINED TIZEN_TOOLCHAIN) # For Tizen only
- add_link_options("-B${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
- add_link_options("-L${CROSS_ROOTFS}/lib")
- add_link_options("-L${CROSS_ROOTFS}/usr/lib")
- add_link_options("-L${CROSS_ROOTFS}/usr/lib/gcc/${TIZEN_TOOLCHAIN}")
- endif()
-elseif(TARGET_ARCH_NAME STREQUAL "x86")
- add_link_options(-m32)
-endif()
-
-# Specify compile options
-
-if(TARGET_ARCH_NAME MATCHES "^(arm|armel|arm64)$")
- set(CMAKE_C_COMPILER_TARGET ${TOOLCHAIN})
- set(CMAKE_CXX_COMPILER_TARGET ${TOOLCHAIN})
- set(CMAKE_ASM_COMPILER_TARGET ${TOOLCHAIN})
-endif()
-
-if(TARGET_ARCH_NAME MATCHES "^(arm|armel)$")
- add_compile_options(-mthumb)
- add_compile_options(-mfpu=vfpv3)
- if(TARGET_ARCH_NAME STREQUAL "armel")
- add_compile_options(-mfloat-abi=softfp)
- if(DEFINED TIZEN_TOOLCHAIN)
- add_compile_options(-Wno-deprecated-declarations) # compile-time option
- add_compile_options(-D__extern_always_inline=inline) # compile-time option
- endif()
- endif()
-elseif(TARGET_ARCH_NAME STREQUAL "x86")
- add_compile_options(-m32)
- add_compile_options(-Wno-error=unused-command-line-argument)
-endif()
-
-# Set LLDB include and library paths for builds that need lldb.
-if(TARGET_ARCH_NAME MATCHES "^(arm|armel|x86)$")
- if(TARGET_ARCH_NAME STREQUAL "x86")
- set(LLVM_CROSS_DIR "$ENV{LLVM_CROSS_HOME}")
- else() # arm/armel case
- set(LLVM_CROSS_DIR "$ENV{LLVM_ARM_HOME}")
- endif()
- if(LLVM_CROSS_DIR)
- set(WITH_LLDB_LIBS "${LLVM_CROSS_DIR}/lib/" CACHE STRING "")
- set(WITH_LLDB_INCLUDES "${LLVM_CROSS_DIR}/include" CACHE STRING "")
- set(LLDB_H "${WITH_LLDB_INCLUDES}" CACHE STRING "")
- set(LLDB "${LLVM_CROSS_DIR}/lib/liblldb.so" CACHE STRING "")
- else()
- if(TARGET_ARCH_NAME STREQUAL "x86")
- set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/i386-linux-gnu" CACHE STRING "")
- set(CHECK_LLVM_DIR "${CROSS_ROOTFS}/usr/lib/llvm-3.8/include")
- if(EXISTS "${CHECK_LLVM_DIR}" AND IS_DIRECTORY "${CHECK_LLVM_DIR}")
- set(WITH_LLDB_INCLUDES "${CHECK_LLVM_DIR}")
- else()
- set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include")
- endif()
- else() # arm/armel case
- set(WITH_LLDB_LIBS "${CROSS_ROOTFS}/usr/lib/${TOOLCHAIN}" CACHE STRING "")
- set(WITH_LLDB_INCLUDES "${CROSS_ROOTFS}/usr/lib/llvm-3.6/include" CACHE STRING "")
- endif()
- endif()
-endif()
-
-
-set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
diff --git a/eng/common/cross/x86/sources.list.bionic b/eng/common/cross/x86/sources.list.bionic
deleted file mode 100644
index a71ccadcff..0000000000
--- a/eng/common/cross/x86/sources.list.bionic
+++ /dev/null
@@ -1,11 +0,0 @@
-deb http://archive.ubuntu.com/ubuntu/ bionic main restricted universe
-deb-src http://archive.ubuntu.com/ubuntu/ bionic main restricted universe
-
-deb http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe
-deb-src http://archive.ubuntu.com/ubuntu/ bionic-updates main restricted universe
-
-deb http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted
-deb-src http://archive.ubuntu.com/ubuntu/ bionic-backports main restricted
-
-deb http://archive.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
-deb-src http://archive.ubuntu.com/ubuntu/ bionic-security main restricted universe multiverse
diff --git a/eng/common/cross/x86/sources.list.trusty b/eng/common/cross/x86/sources.list.trusty
deleted file mode 100644
index 9b3085436e..0000000000
--- a/eng/common/cross/x86/sources.list.trusty
+++ /dev/null
@@ -1,11 +0,0 @@
-deb http://archive.ubuntu.com/ubuntu/ trusty main restricted universe
-deb-src http://archive.ubuntu.com/ubuntu/ trusty main restricted universe
-
-deb http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe
-deb-src http://archive.ubuntu.com/ubuntu/ trusty-updates main restricted universe
-
-deb http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted
-deb-src http://archive.ubuntu.com/ubuntu/ trusty-backports main restricted
-
-deb http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
-deb-src http://archive.ubuntu.com/ubuntu/ trusty-security main restricted universe multiverse
diff --git a/eng/common/cross/x86/sources.list.xenial b/eng/common/cross/x86/sources.list.xenial
deleted file mode 100644
index ad9c5a0144..0000000000
--- a/eng/common/cross/x86/sources.list.xenial
+++ /dev/null
@@ -1,11 +0,0 @@
-deb http://archive.ubuntu.com/ubuntu/ xenial main restricted universe
-deb-src http://archive.ubuntu.com/ubuntu/ xenial main restricted universe
-
-deb http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe
-deb-src http://archive.ubuntu.com/ubuntu/ xenial-updates main restricted universe
-
-deb http://archive.ubuntu.com/ubuntu/ xenial-backports main restricted
-deb-src http://archive.ubuntu.com/ubuntu/ xenial-backports main restricted
-
-deb http://archive.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
-deb-src http://archive.ubuntu.com/ubuntu/ xenial-security main restricted universe multiverse
diff --git a/eng/common/darc-init.ps1 b/eng/common/darc-init.ps1
deleted file mode 100644
index fc2190365f..0000000000
--- a/eng/common/darc-init.ps1
+++ /dev/null
@@ -1,45 +0,0 @@
-param (
- $darcVersion = $null,
- $versionEndpoint = 'https://maestro-prod.westus2.cloudapp.azure.com/api/assets/darc-version?api-version=2019-01-16',
- $verbosity = 'minimal',
- $toolpath = $null
-)
-
-. $PSScriptRoot\tools.ps1
-
-function InstallDarcCli ($darcVersion) {
- $darcCliPackageName = 'microsoft.dotnet.darc'
-
- $dotnetRoot = InitializeDotNetCli -install:$true
- $dotnet = "$dotnetRoot\dotnet.exe"
- $toolList = & "$dotnet" tool list -g
-
- if ($toolList -like "*$darcCliPackageName*") {
- & "$dotnet" tool uninstall $darcCliPackageName -g
- }
-
- # If the user didn't explicitly specify the darc version,
- # query the Maestro API for the correct version of darc to install.
- if (-not $darcVersion) {
- $darcVersion = $(Invoke-WebRequest -Uri $versionEndpoint -UseBasicParsing).Content
- }
-
- $arcadeServicesSource = 'https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json'
-
- Write-Host "Installing Darc CLI version $darcVersion..."
- Write-Host 'You may need to restart your command window if this is the first dotnet tool you have installed.'
- if (-not $toolpath) {
- & "$dotnet" tool install $darcCliPackageName --version $darcVersion --add-source "$arcadeServicesSource" -v $verbosity -g
- }else {
- & "$dotnet" tool install $darcCliPackageName --version $darcVersion --add-source "$arcadeServicesSource" -v $verbosity --tool-path "$toolpath"
- }
-}
-
-try {
- InstallDarcCli $darcVersion
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'Darc' -Message $_
- ExitWithExitCode 1
-}
\ No newline at end of file
diff --git a/eng/common/darc-init.sh b/eng/common/darc-init.sh
deleted file mode 100755
index d981d7bbf3..0000000000
--- a/eng/common/darc-init.sh
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/env bash
-
-source="${BASH_SOURCE[0]}"
-darcVersion=''
-versionEndpoint='https://maestro-prod.westus2.cloudapp.azure.com/api/assets/darc-version?api-version=2019-01-16'
-verbosity='minimal'
-
-while [[ $# > 0 ]]; do
- opt="$(echo "$1" | awk '{print tolower($0)}')"
- case "$opt" in
- --darcversion)
- darcVersion=$2
- shift
- ;;
- --versionendpoint)
- versionEndpoint=$2
- shift
- ;;
- --verbosity)
- verbosity=$2
- shift
- ;;
- --toolpath)
- toolpath=$2
- shift
- ;;
- *)
- echo "Invalid argument: $1"
- usage
- exit 1
- ;;
- esac
-
- shift
-done
-
-# resolve $source until the file is no longer a symlink
-while [[ -h "$source" ]]; do
- scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
- source="$(readlink "$source")"
- # if $source was a relative symlink, we need to resolve it relative to the path where the
- # symlink file was located
- [[ $source != /* ]] && source="$scriptroot/$source"
-done
-scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
-
-. "$scriptroot/tools.sh"
-
-if [ -z "$darcVersion" ]; then
- darcVersion=$(curl -X GET "$versionEndpoint" -H "accept: text/plain")
-fi
-
-function InstallDarcCli {
- local darc_cli_package_name="microsoft.dotnet.darc"
-
- InitializeDotNetCli
- local dotnet_root=$_InitializeDotNetCli
-
- if [ -z "$toolpath" ]; then
- local tool_list=$($dotnet_root/dotnet tool list -g)
- if [[ $tool_list = *$darc_cli_package_name* ]]; then
- echo $($dotnet_root/dotnet tool uninstall $darc_cli_package_name -g)
- fi
- else
- local tool_list=$($dotnet_root/dotnet tool list --tool-path "$toolpath")
- if [[ $tool_list = *$darc_cli_package_name* ]]; then
- echo $($dotnet_root/dotnet tool uninstall $darc_cli_package_name --tool-path "$toolpath")
- fi
- fi
-
- local arcadeServicesSource="https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet-tools/nuget/v3/index.json"
-
- echo "Installing Darc CLI version $darcVersion..."
- echo "You may need to restart your command shell if this is the first dotnet tool you have installed."
- if [ -z "$toolpath" ]; then
- echo $($dotnet_root/dotnet tool install $darc_cli_package_name --version $darcVersion --add-source "$arcadeServicesSource" -v $verbosity -g)
- else
- echo $($dotnet_root/dotnet tool install $darc_cli_package_name --version $darcVersion --add-source "$arcadeServicesSource" -v $verbosity --tool-path "$toolpath")
- fi
-}
-
-InstallDarcCli
diff --git a/eng/common/dotnet-install.cmd b/eng/common/dotnet-install.cmd
deleted file mode 100644
index b1c2642e76..0000000000
--- a/eng/common/dotnet-install.cmd
+++ /dev/null
@@ -1,2 +0,0 @@
-@echo off
-powershell -ExecutionPolicy ByPass -NoProfile -command "& """%~dp0dotnet-install.ps1""" %*"
\ No newline at end of file
diff --git a/eng/common/dotnet-install.ps1 b/eng/common/dotnet-install.ps1
deleted file mode 100644
index 811f0f717f..0000000000
--- a/eng/common/dotnet-install.ps1
+++ /dev/null
@@ -1,28 +0,0 @@
-[CmdletBinding(PositionalBinding=$false)]
-Param(
- [string] $verbosity = 'minimal',
- [string] $architecture = '',
- [string] $version = 'Latest',
- [string] $runtime = 'dotnet',
- [string] $RuntimeSourceFeed = '',
- [string] $RuntimeSourceFeedKey = ''
-)
-
-. $PSScriptRoot\tools.ps1
-
-$dotnetRoot = Join-Path $RepoRoot '.dotnet'
-
-$installdir = $dotnetRoot
-try {
- if ($architecture -and $architecture.Trim() -eq 'x86') {
- $installdir = Join-Path $installdir 'x86'
- }
- InstallDotNet $installdir $version $architecture $runtime $true -RuntimeSourceFeed $RuntimeSourceFeed -RuntimeSourceFeedKey $RuntimeSourceFeedKey
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'InitializeToolset' -Message $_
- ExitWithExitCode 1
-}
-
-ExitWithExitCode 0
diff --git a/eng/common/dotnet-install.sh b/eng/common/dotnet-install.sh
deleted file mode 100755
index 50bc5e475c..0000000000
--- a/eng/common/dotnet-install.sh
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/usr/bin/env bash
-
-source="${BASH_SOURCE[0]}"
-# resolve $source until the file is no longer a symlink
-while [[ -h "$source" ]]; do
- scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
- source="$(readlink "$source")"
- # if $source was a relative symlink, we need to resolve it relative to the path where the
- # symlink file was located
- [[ $source != /* ]] && source="$scriptroot/$source"
-done
-scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
-
-. "$scriptroot/tools.sh"
-
-version='Latest'
-architecture=''
-runtime='dotnet'
-runtimeSourceFeed=''
-runtimeSourceFeedKey=''
-while [[ $# > 0 ]]; do
- opt="$(echo "$1" | awk '{print tolower($0)}')"
- case "$opt" in
- -version|-v)
- shift
- version="$1"
- ;;
- -architecture|-a)
- shift
- architecture="$1"
- ;;
- -runtime|-r)
- shift
- runtime="$1"
- ;;
- -runtimesourcefeed)
- shift
- runtimeSourceFeed="$1"
- ;;
- -runtimesourcefeedkey)
- shift
- runtimeSourceFeedKey="$1"
- ;;
- *)
- Write-PipelineTelemetryError -Category 'Build' -Message "Invalid argument: $1"
- exit 1
- ;;
- esac
- shift
-done
-
-# Use uname to determine what the CPU is.
-cpuname=$(uname -p)
-# Some Linux platforms report unknown for platform, but the arch for machine.
-if [[ "$cpuname" == "unknown" ]]; then
- cpuname=$(uname -m)
-fi
-
-case $cpuname in
- aarch64)
- buildarch=arm64
- ;;
- amd64|x86_64)
- buildarch=x64
- ;;
- armv7l)
- buildarch=arm
- ;;
- i686)
- buildarch=x86
- ;;
- *)
- echo "Unknown CPU $cpuname detected, treating it as x64"
- buildarch=x64
- ;;
-esac
-
-dotnetRoot="$repo_root/.dotnet"
-if [[ $architecture != "" ]] && [[ $architecture != $buildarch ]]; then
- dotnetRoot="$dotnetRoot/$architecture"
-fi
-
-InstallDotNet $dotnetRoot $version "$architecture" $runtime true $runtimeSourceFeed $runtimeSourceFeedKey || {
- local exit_code=$?
- Write-PipelineTelemetryError -Category 'InitializeToolset' -Message "dotnet-install.sh failed (exit code '$exit_code')." >&2
- ExitWithExitCode $exit_code
-}
-
-ExitWithExitCode 0
diff --git a/eng/common/enable-cross-org-publishing.ps1 b/eng/common/enable-cross-org-publishing.ps1
deleted file mode 100644
index eccbf9f1b1..0000000000
--- a/eng/common/enable-cross-org-publishing.ps1
+++ /dev/null
@@ -1,6 +0,0 @@
-param(
- [string] $token
-)
-
-Write-Host "##vso[task.setvariable variable=VSS_NUGET_ACCESSTOKEN]$token"
-Write-Host "##vso[task.setvariable variable=VSS_NUGET_URI_PREFIXES]https://dnceng.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/dnceng/;https://devdiv.pkgs.visualstudio.com/;https://pkgs.dev.azure.com/devdiv/"
diff --git a/eng/common/generate-graph-files.ps1 b/eng/common/generate-graph-files.ps1
deleted file mode 100644
index 7ad26afa69..0000000000
--- a/eng/common/generate-graph-files.ps1
+++ /dev/null
@@ -1,86 +0,0 @@
-Param(
- [Parameter(Mandatory=$true)][string] $barToken, # Token generated at https://maestro-prod.westus2.cloudapp.azure.com/Account/Tokens
- [Parameter(Mandatory=$true)][string] $gitHubPat, # GitHub personal access token from https://github.com/settings/tokens (no auth scopes needed)
- [Parameter(Mandatory=$true)][string] $azdoPat, # Azure Dev Ops tokens from https://dev.azure.com/dnceng/_details/security/tokens (code read scope needed)
- [Parameter(Mandatory=$true)][string] $outputFolder, # Where the graphviz.txt file will be created
- [string] $darcVersion = '1.1.0-beta.19175.6', # darc's version
- [string] $graphvizVersion = '2.38', # GraphViz version
- [switch] $includeToolset # Whether the graph should include toolset dependencies or not. i.e. arcade, optimization. For more about
- # toolset dependencies see https://github.com/dotnet/arcade/blob/master/Documentation/Darc.md#toolset-vs-product-dependencies
-)
-
-function CheckExitCode ([string]$stage)
-{
- $exitCode = $LASTEXITCODE
- if ($exitCode -ne 0) {
- Write-PipelineTelemetryError -Category 'Arcade' -Message "Something failed in stage: '$stage'. Check for errors above. Exiting now..."
- ExitWithExitCode $exitCode
- }
-}
-
-try {
- $ErrorActionPreference = 'Stop'
- . $PSScriptRoot\tools.ps1
-
- Import-Module -Name (Join-Path $PSScriptRoot 'native\CommonLibrary.psm1')
-
- Push-Location $PSScriptRoot
-
- Write-Host 'Installing darc...'
- . .\darc-init.ps1 -darcVersion $darcVersion
- CheckExitCode 'Running darc-init'
-
- $engCommonBaseDir = Join-Path $PSScriptRoot 'native\'
- $graphvizInstallDir = CommonLibrary\Get-NativeInstallDirectory
- $nativeToolBaseUri = 'https://netcorenativeassets.blob.core.windows.net/resource-packages/external'
- $installBin = Join-Path $graphvizInstallDir 'bin'
-
- Write-Host 'Installing dot...'
- .\native\install-tool.ps1 -ToolName graphviz -InstallPath $installBin -BaseUri $nativeToolBaseUri -CommonLibraryDirectory $engCommonBaseDir -Version $graphvizVersion -Verbose
-
- $darcExe = "$env:USERPROFILE\.dotnet\tools"
- $darcExe = Resolve-Path "$darcExe\darc.exe"
-
- Create-Directory $outputFolder
-
- # Generate 3 graph descriptions:
- # 1. Flat with coherency information
- # 2. Graphviz (dot) file
- # 3. Standard dependency graph
- $graphVizFilePath = "$outputFolder\graphviz.txt"
- $graphVizImageFilePath = "$outputFolder\graph.png"
- $normalGraphFilePath = "$outputFolder\graph-full.txt"
- $flatGraphFilePath = "$outputFolder\graph-flat.txt"
- $baseOptions = @( '--github-pat', "$gitHubPat", '--azdev-pat', "$azdoPat", '--password', "$barToken" )
-
- if ($includeToolset) {
- Write-Host 'Toolsets will be included in the graph...'
- $baseOptions += @( '--include-toolset' )
- }
-
- Write-Host 'Generating standard dependency graph...'
- & "$darcExe" get-dependency-graph @baseOptions --output-file $normalGraphFilePath
- CheckExitCode 'Generating normal dependency graph'
-
- Write-Host 'Generating flat dependency graph and graphviz file...'
- & "$darcExe" get-dependency-graph @baseOptions --flat --coherency --graphviz $graphVizFilePath --output-file $flatGraphFilePath
- CheckExitCode 'Generating flat and graphviz dependency graph'
-
- Write-Host "Generating graph image $graphVizFilePath"
- $dotFilePath = Join-Path $installBin "graphviz\$graphvizVersion\release\bin\dot.exe"
- & "$dotFilePath" -Tpng -o"$graphVizImageFilePath" "$graphVizFilePath"
- CheckExitCode 'Generating graphviz image'
-
- Write-Host "'$graphVizFilePath', '$flatGraphFilePath', '$normalGraphFilePath' and '$graphVizImageFilePath' created!"
-}
-catch {
- if (!$includeToolset) {
- Write-Host 'This might be a toolset repo which includes only toolset dependencies. ' -NoNewline -ForegroundColor Yellow
- Write-Host 'Since -includeToolset is not set there is no graph to create. Include -includeToolset and try again...' -ForegroundColor Yellow
- }
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'Arcade' -Message $_
- ExitWithExitCode 1
-} finally {
- Pop-Location
-}
\ No newline at end of file
diff --git a/eng/common/helixpublish.proj b/eng/common/helixpublish.proj
deleted file mode 100644
index d7f185856e..0000000000
--- a/eng/common/helixpublish.proj
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
- msbuild
-
-
-
-
- %(Identity)
-
-
-
-
-
- $(WorkItemDirectory)
- $(WorkItemCommand)
- $(WorkItemTimeout)
-
-
-
-
-
-
-
-
-
diff --git a/eng/common/init-tools-native.cmd b/eng/common/init-tools-native.cmd
deleted file mode 100644
index 438cd548c4..0000000000
--- a/eng/common/init-tools-native.cmd
+++ /dev/null
@@ -1,3 +0,0 @@
-@echo off
-powershell -NoProfile -NoLogo -ExecutionPolicy ByPass -command "& """%~dp0init-tools-native.ps1""" %*"
-exit /b %ErrorLevel%
\ No newline at end of file
diff --git a/eng/common/init-tools-native.ps1 b/eng/common/init-tools-native.ps1
deleted file mode 100644
index db830c00a6..0000000000
--- a/eng/common/init-tools-native.ps1
+++ /dev/null
@@ -1,152 +0,0 @@
-<#
-.SYNOPSIS
-Entry point script for installing native tools
-
-.DESCRIPTION
-Reads $RepoRoot\global.json file to determine native assets to install
-and executes installers for those tools
-
-.PARAMETER BaseUri
-Base file directory or Url from which to acquire tool archives
-
-.PARAMETER InstallDirectory
-Directory to install native toolset. This is a command-line override for the default
-Install directory precedence order:
-- InstallDirectory command-line override
-- NETCOREENG_INSTALL_DIRECTORY environment variable
-- (default) %USERPROFILE%/.netcoreeng/native
-
-.PARAMETER Clean
-Switch specifying to not install anything, but cleanup native asset folders
-
-.PARAMETER Force
-Clean and then install tools
-
-.PARAMETER DownloadRetries
-Total number of retry attempts
-
-.PARAMETER RetryWaitTimeInSeconds
-Wait time between retry attempts in seconds
-
-.PARAMETER GlobalJsonFile
-File path to global.json file
-
-.NOTES
-#>
-[CmdletBinding(PositionalBinding=$false)]
-Param (
- [string] $BaseUri = 'https://netcorenativeassets.blob.core.windows.net/resource-packages/external',
- [string] $InstallDirectory,
- [switch] $Clean = $False,
- [switch] $Force = $False,
- [int] $DownloadRetries = 5,
- [int] $RetryWaitTimeInSeconds = 30,
- [string] $GlobalJsonFile
-)
-
-if (!$GlobalJsonFile) {
- $GlobalJsonFile = Join-Path (Get-Item $PSScriptRoot).Parent.Parent.FullName 'global.json'
-}
-
-Set-StrictMode -version 2.0
-$ErrorActionPreference='Stop'
-
-. $PSScriptRoot\pipeline-logging-functions.ps1
-Import-Module -Name (Join-Path $PSScriptRoot 'native\CommonLibrary.psm1')
-
-try {
- # Define verbose switch if undefined
- $Verbose = $VerbosePreference -Eq 'Continue'
-
- $EngCommonBaseDir = Join-Path $PSScriptRoot 'native\'
- $NativeBaseDir = $InstallDirectory
- if (!$NativeBaseDir) {
- $NativeBaseDir = CommonLibrary\Get-NativeInstallDirectory
- }
- $Env:CommonLibrary_NativeInstallDir = $NativeBaseDir
- $InstallBin = Join-Path $NativeBaseDir 'bin'
- $InstallerPath = Join-Path $EngCommonBaseDir 'install-tool.ps1'
-
- # Process tools list
- Write-Host "Processing $GlobalJsonFile"
- If (-Not (Test-Path $GlobalJsonFile)) {
- Write-Host "Unable to find '$GlobalJsonFile'"
- exit 0
- }
- $NativeTools = Get-Content($GlobalJsonFile) -Raw |
- ConvertFrom-Json |
- Select-Object -Expand 'native-tools' -ErrorAction SilentlyContinue
- if ($NativeTools) {
- $NativeTools.PSObject.Properties | ForEach-Object {
- $ToolName = $_.Name
- $ToolVersion = $_.Value
- $LocalInstallerArguments = @{ ToolName = "$ToolName" }
- $LocalInstallerArguments += @{ InstallPath = "$InstallBin" }
- $LocalInstallerArguments += @{ BaseUri = "$BaseUri" }
- $LocalInstallerArguments += @{ CommonLibraryDirectory = "$EngCommonBaseDir" }
- $LocalInstallerArguments += @{ Version = "$ToolVersion" }
-
- if ($Verbose) {
- $LocalInstallerArguments += @{ Verbose = $True }
- }
- if (Get-Variable 'Force' -ErrorAction 'SilentlyContinue') {
- if($Force) {
- $LocalInstallerArguments += @{ Force = $True }
- }
- }
- if ($Clean) {
- $LocalInstallerArguments += @{ Clean = $True }
- }
-
- Write-Verbose "Installing $ToolName version $ToolVersion"
- Write-Verbose "Executing '$InstallerPath $($LocalInstallerArguments.Keys.ForEach({"-$_ '$($LocalInstallerArguments.$_)'"}) -join ' ')'"
- & $InstallerPath @LocalInstallerArguments
- if ($LASTEXITCODE -Ne "0") {
- $errMsg = "$ToolName installation failed"
- if ((Get-Variable 'DoNotAbortNativeToolsInstallationOnFailure' -ErrorAction 'SilentlyContinue') -and $DoNotAbortNativeToolsInstallationOnFailure) {
- $showNativeToolsWarning = $true
- if ((Get-Variable 'DoNotDisplayNativeToolsInstallationWarnings' -ErrorAction 'SilentlyContinue') -and $DoNotDisplayNativeToolsInstallationWarnings) {
- $showNativeToolsWarning = $false
- }
- if ($showNativeToolsWarning) {
- Write-Warning $errMsg
- }
- $toolInstallationFailure = $true
- } else {
- # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482
- Write-Host $errMsg
- exit 1
- }
- }
- }
-
- if ((Get-Variable 'toolInstallationFailure' -ErrorAction 'SilentlyContinue') -and $toolInstallationFailure) {
- # We cannot change this to Write-PipelineTelemetryError because of https://github.com/dotnet/arcade/issues/4482
- Write-Host 'Native tools bootstrap failed'
- exit 1
- }
- }
- else {
- Write-Host 'No native tools defined in global.json'
- exit 0
- }
-
- if ($Clean) {
- exit 0
- }
- if (Test-Path $InstallBin) {
- Write-Host 'Native tools are available from ' (Convert-Path -Path $InstallBin)
- Write-Host "##vso[task.prependpath]$(Convert-Path -Path $InstallBin)"
- return $InstallBin
- }
- else {
- Write-PipelineTelemetryError -Category 'NativeToolsBootstrap' -Message 'Native tools install directory does not exist, installation failed'
- exit 1
- }
- exit 0
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'NativeToolsBootstrap' -Message $_
- ExitWithExitCode 1
-}
diff --git a/eng/common/init-tools-native.sh b/eng/common/init-tools-native.sh
deleted file mode 100755
index dbd7cbfdf6..0000000000
--- a/eng/common/init-tools-native.sh
+++ /dev/null
@@ -1,142 +0,0 @@
-#!/usr/bin/env bash
-
-source="${BASH_SOURCE[0]}"
-scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
-
-base_uri='https://netcorenativeassets.blob.core.windows.net/resource-packages/external'
-install_directory=''
-clean=false
-force=false
-download_retries=5
-retry_wait_time_seconds=30
-global_json_file="$(dirname "$(dirname "${scriptroot}")")/global.json"
-declare -A native_assets
-
-. $scriptroot/pipeline-logging-functions.sh
-. $scriptroot/native/common-library.sh
-
-while (($# > 0)); do
- lowerI="$(echo $1 | awk '{print tolower($0)}')"
- case $lowerI in
- --baseuri)
- base_uri=$2
- shift 2
- ;;
- --installdirectory)
- install_directory=$2
- shift 2
- ;;
- --clean)
- clean=true
- shift 1
- ;;
- --force)
- force=true
- shift 1
- ;;
- --downloadretries)
- download_retries=$2
- shift 2
- ;;
- --retrywaittimeseconds)
- retry_wait_time_seconds=$2
- shift 2
- ;;
- --help)
- echo "Common settings:"
- echo " --installdirectory Directory to install native toolset."
- echo " This is a command-line override for the default"
- echo " Install directory precedence order:"
- echo " - InstallDirectory command-line override"
- echo " - NETCOREENG_INSTALL_DIRECTORY environment variable"
- echo " - (default) %USERPROFILE%/.netcoreeng/native"
- echo ""
- echo " --clean Switch specifying not to install anything, but cleanup native asset folders"
- echo " --force Clean and then install tools"
- echo " --help Print help and exit"
- echo ""
- echo "Advanced settings:"
- echo " --baseuri Base URI for where to download native tools from"
- echo " --downloadretries Number of times a download should be attempted"
- echo " --retrywaittimeseconds Wait time between download attempts"
- echo ""
- exit 0
- ;;
- esac
-done
-
-function ReadGlobalJsonNativeTools {
- # Get the native-tools section from the global.json.
- local native_tools_section=$(cat $global_json_file | awk '/"native-tools"/,/}/')
- # Only extract the contents of the object.
- local native_tools_list=$(echo $native_tools_section | awk -F"[{}]" '{print $2}')
- native_tools_list=${native_tools_list//[\" ]/}
- native_tools_list=$( echo "$native_tools_list" | sed 's/\s//g' | sed 's/,/\n/g' )
-
- local old_IFS=$IFS
- while read -r line; do
- # Lines are of the form: 'tool:version'
- IFS=:
- while read -r key value; do
- native_assets[$key]=$value
- done <<< "$line"
- done <<< "$native_tools_list"
- IFS=$old_IFS
-
- return 0;
-}
-
-native_base_dir=$install_directory
-if [[ -z $install_directory ]]; then
- native_base_dir=$(GetNativeInstallDirectory)
-fi
-
-install_bin="${native_base_dir}/bin"
-
-ReadGlobalJsonNativeTools
-
-if [[ ${#native_assets[@]} -eq 0 ]]; then
- echo "No native tools defined in global.json"
- exit 0;
-else
- native_installer_dir="$scriptroot/native"
- for tool in "${!native_assets[@]}"
- do
- tool_version=${native_assets[$tool]}
- installer_name="install-$tool.sh"
- installer_command="$native_installer_dir/$installer_name"
- installer_command+=" --baseuri $base_uri"
- installer_command+=" --installpath $install_bin"
- installer_command+=" --version $tool_version"
- echo $installer_command
-
- if [[ $force = true ]]; then
- installer_command+=" --force"
- fi
-
- if [[ $clean = true ]]; then
- installer_command+=" --clean"
- fi
-
- $installer_command
-
- if [[ $? != 0 ]]; then
- Write-PipelineTelemetryError -category 'NativeToolsBootstrap' "Execution Failed"
- exit 1
- fi
- done
-fi
-
-if [[ $clean = true ]]; then
- exit 0
-fi
-
-if [[ -d $install_bin ]]; then
- echo "Native tools are available from $install_bin"
- echo "##vso[task.prependpath]$install_bin"
-else
- Write-PipelineTelemetryError -category 'NativeToolsBootstrap' "Native tools install directory does not exist, installation failed"
- exit 1
-fi
-
-exit 0
diff --git a/eng/common/internal-feed-operations.ps1 b/eng/common/internal-feed-operations.ps1
deleted file mode 100644
index db0baac9a4..0000000000
--- a/eng/common/internal-feed-operations.ps1
+++ /dev/null
@@ -1,133 +0,0 @@
-param(
- [Parameter(Mandatory=$true)][string] $Operation,
- [string] $AuthToken,
- [string] $CommitSha,
- [string] $RepoName,
- [switch] $IsFeedPrivate
-)
-
-$ErrorActionPreference = 'Stop'
-Set-StrictMode -Version 2.0
-. $PSScriptRoot\tools.ps1
-
-# Sets VSS_NUGET_EXTERNAL_FEED_ENDPOINTS based on the "darc-int-*" feeds defined in NuGet.config. This is needed
-# in build agents by CredProvider to authenticate the restore requests to internal feeds as specified in
-# https://github.com/microsoft/artifacts-credprovider/blob/0f53327cd12fd893d8627d7b08a2171bf5852a41/README.md#environment-variables. This should ONLY be called from identified
-# internal builds
-function SetupCredProvider {
- param(
- [string] $AuthToken
- )
-
- # Install the Cred Provider NuGet plugin
- Write-Host 'Setting up Cred Provider NuGet plugin in the agent...'
- Write-Host "Getting 'installcredprovider.ps1' from 'https://github.com/microsoft/artifacts-credprovider'..."
-
- $url = 'https://raw.githubusercontent.com/microsoft/artifacts-credprovider/master/helpers/installcredprovider.ps1'
-
- Write-Host "Writing the contents of 'installcredprovider.ps1' locally..."
- Invoke-WebRequest $url -OutFile installcredprovider.ps1
-
- Write-Host 'Installing plugin...'
- .\installcredprovider.ps1 -Force
-
- Write-Host "Deleting local copy of 'installcredprovider.ps1'..."
- Remove-Item .\installcredprovider.ps1
-
- if (-Not("$env:USERPROFILE\.nuget\plugins\netcore")) {
- Write-PipelineTelemetryError -Category 'Arcade' -Message 'CredProvider plugin was not installed correctly!'
- ExitWithExitCode 1
- }
- else {
- Write-Host 'CredProvider plugin was installed correctly!'
- }
-
- # Then, we set the 'VSS_NUGET_EXTERNAL_FEED_ENDPOINTS' environment variable to restore from the stable
- # feeds successfully
-
- $nugetConfigPath = "$RepoRoot\NuGet.config"
-
- if (-Not (Test-Path -Path $nugetConfigPath)) {
- Write-PipelineTelemetryError -Category 'Build' -Message 'NuGet.config file not found in repo root!'
- ExitWithExitCode 1
- }
-
- $endpoints = New-Object System.Collections.ArrayList
- $nugetConfigPackageSources = Select-Xml -Path $nugetConfigPath -XPath "//packageSources/add[contains(@key, 'darc-int-')]/@value" | foreach{$_.Node.Value}
-
- if (($nugetConfigPackageSources | Measure-Object).Count -gt 0 ) {
- foreach ($stableRestoreResource in $nugetConfigPackageSources) {
- $trimmedResource = ([string]$stableRestoreResource).Trim()
- [void]$endpoints.Add(@{endpoint="$trimmedResource"; password="$AuthToken"})
- }
- }
-
- if (($endpoints | Measure-Object).Count -gt 0) {
- # Create the JSON object. It should look like '{"endpointCredentials": [{"endpoint":"http://example.index.json", "username":"optional", "password":"accesstoken"}]}'
- $endpointCredentials = @{endpointCredentials=$endpoints} | ConvertTo-Json -Compress
-
- # Create the environment variables the AzDo way
- Write-LoggingCommand -Area 'task' -Event 'setvariable' -Data $endpointCredentials -Properties @{
- 'variable' = 'VSS_NUGET_EXTERNAL_FEED_ENDPOINTS'
- 'issecret' = 'false'
- }
-
- # We don't want sessions cached since we will be updating the endpoints quite frequently
- Write-LoggingCommand -Area 'task' -Event 'setvariable' -Data 'False' -Properties @{
- 'variable' = 'NUGET_CREDENTIALPROVIDER_SESSIONTOKENCACHE_ENABLED'
- 'issecret' = 'false'
- }
- }
- else
- {
- Write-Host 'No internal endpoints found in NuGet.config'
- }
-}
-
-#Workaround for https://github.com/microsoft/msbuild/issues/4430
-function InstallDotNetSdkAndRestoreArcade {
- $dotnetTempDir = "$RepoRoot\dotnet"
- $dotnetSdkVersion="2.1.507" # After experimentation we know this version works when restoring the SDK (compared to 3.0.*)
- $dotnet = "$dotnetTempDir\dotnet.exe"
- $restoreProjPath = "$PSScriptRoot\restore.proj"
-
- Write-Host "Installing dotnet SDK version $dotnetSdkVersion to restore Arcade SDK..."
- InstallDotNetSdk "$dotnetTempDir" "$dotnetSdkVersion"
-
- '' | Out-File "$restoreProjPath"
-
- & $dotnet restore $restoreProjPath
-
- Write-Host 'Arcade SDK restored!'
-
- if (Test-Path -Path $restoreProjPath) {
- Remove-Item $restoreProjPath
- }
-
- if (Test-Path -Path $dotnetTempDir) {
- Remove-Item $dotnetTempDir -Recurse
- }
-}
-
-try {
- Push-Location $PSScriptRoot
-
- if ($Operation -like 'setup') {
- SetupCredProvider $AuthToken
- }
- elseif ($Operation -like 'install-restore') {
- InstallDotNetSdkAndRestoreArcade
- }
- else {
- Write-PipelineTelemetryError -Category 'Arcade' -Message "Unknown operation '$Operation'!"
- ExitWithExitCode 1
- }
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'Arcade' -Message $_
- ExitWithExitCode 1
-}
-finally {
- Pop-Location
-}
diff --git a/eng/common/internal-feed-operations.sh b/eng/common/internal-feed-operations.sh
deleted file mode 100755
index 5941ea2833..0000000000
--- a/eng/common/internal-feed-operations.sh
+++ /dev/null
@@ -1,142 +0,0 @@
-#!/usr/bin/env bash
-
-set -e
-
-# Sets VSS_NUGET_EXTERNAL_FEED_ENDPOINTS based on the "darc-int-*" feeds defined in NuGet.config. This is needed
-# in build agents by CredProvider to authenticate the restore requests to internal feeds as specified in
-# https://github.com/microsoft/artifacts-credprovider/blob/0f53327cd12fd893d8627d7b08a2171bf5852a41/README.md#environment-variables.
-# This should ONLY be called from identified internal builds
-function SetupCredProvider {
- local authToken=$1
-
- # Install the Cred Provider NuGet plugin
- echo "Setting up Cred Provider NuGet plugin in the agent..."...
- echo "Getting 'installcredprovider.ps1' from 'https://github.com/microsoft/artifacts-credprovider'..."
-
- local url="https://raw.githubusercontent.com/microsoft/artifacts-credprovider/master/helpers/installcredprovider.sh"
-
- echo "Writing the contents of 'installcredprovider.ps1' locally..."
- local installcredproviderPath="installcredprovider.sh"
- if command -v curl > /dev/null; then
- curl $url > "$installcredproviderPath"
- else
- wget -q -O "$installcredproviderPath" "$url"
- fi
-
- echo "Installing plugin..."
- . "$installcredproviderPath"
-
- echo "Deleting local copy of 'installcredprovider.sh'..."
- rm installcredprovider.sh
-
- if [ ! -d "$HOME/.nuget/plugins" ]; then
- Write-PipelineTelemetryError -category 'Build' 'CredProvider plugin was not installed correctly!'
- ExitWithExitCode 1
- else
- echo "CredProvider plugin was installed correctly!"
- fi
-
- # Then, we set the 'VSS_NUGET_EXTERNAL_FEED_ENDPOINTS' environment variable to restore from the stable
- # feeds successfully
-
- local nugetConfigPath="$repo_root/NuGet.config"
-
- if [ ! "$nugetConfigPath" ]; then
- Write-PipelineTelemetryError -category 'Build' "NuGet.config file not found in repo's root!"
- ExitWithExitCode 1
- fi
-
- local endpoints='['
- local nugetConfigPackageValues=`cat "$nugetConfigPath" | grep "key=\"darc-int-"`
- local pattern="value=\"(.*)\""
-
- for value in $nugetConfigPackageValues
- do
- if [[ $value =~ $pattern ]]; then
- local endpoint="${BASH_REMATCH[1]}"
- endpoints+="{\"endpoint\": \"$endpoint\", \"password\": \"$authToken\"},"
- fi
- done
-
- endpoints=${endpoints%?}
- endpoints+=']'
-
- if [ ${#endpoints} -gt 2 ]; then
- # Create the JSON object. It should look like '{"endpointCredentials": [{"endpoint":"http://example.index.json", "username":"optional", "password":"accesstoken"}]}'
- local endpointCredentials="{\"endpointCredentials\": "$endpoints"}"
-
- echo "##vso[task.setvariable variable=VSS_NUGET_EXTERNAL_FEED_ENDPOINTS]$endpointCredentials"
- echo "##vso[task.setvariable variable=NUGET_CREDENTIALPROVIDER_SESSIONTOKENCACHE_ENABLED]False"
- else
- echo "No internal endpoints found in NuGet.config"
- fi
-}
-
-# Workaround for https://github.com/microsoft/msbuild/issues/4430
-function InstallDotNetSdkAndRestoreArcade {
- local dotnetTempDir="$repo_root/dotnet"
- local dotnetSdkVersion="2.1.507" # After experimentation we know this version works when restoring the SDK (compared to 3.0.*)
- local restoreProjPath="$repo_root/eng/common/restore.proj"
-
- echo "Installing dotnet SDK version $dotnetSdkVersion to restore Arcade SDK..."
- echo "" > "$restoreProjPath"
-
- InstallDotNetSdk "$dotnetTempDir" "$dotnetSdkVersion"
-
- local res=`$dotnetTempDir/dotnet restore $restoreProjPath`
- echo "Arcade SDK restored!"
-
- # Cleanup
- if [ "$restoreProjPath" ]; then
- rm "$restoreProjPath"
- fi
-
- if [ "$dotnetTempDir" ]; then
- rm -r $dotnetTempDir
- fi
-}
-
-source="${BASH_SOURCE[0]}"
-operation=''
-authToken=''
-repoName=''
-
-while [[ $# > 0 ]]; do
- opt="$(echo "$1" | awk '{print tolower($0)}')"
- case "$opt" in
- --operation)
- operation=$2
- shift
- ;;
- --authtoken)
- authToken=$2
- shift
- ;;
- *)
- echo "Invalid argument: $1"
- usage
- exit 1
- ;;
- esac
-
- shift
-done
-
-while [[ -h "$source" ]]; do
- scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
- source="$(readlink "$source")"
- # if $source was a relative symlink, we need to resolve it relative to the path where the
- # symlink file was located
- [[ $source != /* ]] && source="$scriptroot/$source"
-done
-scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
-
-. "$scriptroot/tools.sh"
-
-if [ "$operation" = "setup" ]; then
- SetupCredProvider $authToken
-elif [ "$operation" = "install-restore" ]; then
- InstallDotNetSdkAndRestoreArcade
-else
- echo "Unknown operation '$operation'!"
-fi
diff --git a/eng/common/internal/Directory.Build.props b/eng/common/internal/Directory.Build.props
deleted file mode 100644
index e33179ef37..0000000000
--- a/eng/common/internal/Directory.Build.props
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/eng/common/internal/Tools.csproj b/eng/common/internal/Tools.csproj
deleted file mode 100644
index 1a39a7ef3f..0000000000
--- a/eng/common/internal/Tools.csproj
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
- net472
- false
-
-
-
-
-
-
-
-
-
-
- https://devdiv.pkgs.visualstudio.com/_packaging/dotnet-core-internal-tooling/nuget/v3/index.json;
-
-
- $(RestoreSources);
- https://devdiv.pkgs.visualstudio.com/_packaging/VS/nuget/v3/index.json;
-
-
-
-
-
-
diff --git a/eng/common/msbuild.ps1 b/eng/common/msbuild.ps1
deleted file mode 100644
index c640123000..0000000000
--- a/eng/common/msbuild.ps1
+++ /dev/null
@@ -1,26 +0,0 @@
-[CmdletBinding(PositionalBinding=$false)]
-Param(
- [string] $verbosity = 'minimal',
- [bool] $warnAsError = $true,
- [bool] $nodeReuse = $true,
- [switch] $ci,
- [switch] $prepareMachine,
- [Parameter(ValueFromRemainingArguments=$true)][String[]]$extraArgs
-)
-
-. $PSScriptRoot\tools.ps1
-
-try {
- if ($ci) {
- $nodeReuse = $false
- }
-
- MSBuild @extraArgs
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'Build' -Message $_
- ExitWithExitCode 1
-}
-
-ExitWithExitCode 0
\ No newline at end of file
diff --git a/eng/common/msbuild.sh b/eng/common/msbuild.sh
deleted file mode 100755
index 8160cd5a59..0000000000
--- a/eng/common/msbuild.sh
+++ /dev/null
@@ -1,58 +0,0 @@
-#!/usr/bin/env bash
-
-source="${BASH_SOURCE[0]}"
-
-# resolve $source until the file is no longer a symlink
-while [[ -h "$source" ]]; do
- scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
- source="$(readlink "$source")"
- # if $source was a relative symlink, we need to resolve it relative to the path where the
- # symlink file was located
- [[ $source != /* ]] && source="$scriptroot/$source"
-done
-scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
-
-verbosity='minimal'
-warn_as_error=true
-node_reuse=true
-prepare_machine=false
-extra_args=''
-
-while (($# > 0)); do
- lowerI="$(echo $1 | awk '{print tolower($0)}')"
- case $lowerI in
- --verbosity)
- verbosity=$2
- shift 2
- ;;
- --warnaserror)
- warn_as_error=$2
- shift 2
- ;;
- --nodereuse)
- node_reuse=$2
- shift 2
- ;;
- --ci)
- ci=true
- shift 1
- ;;
- --preparemachine)
- prepare_machine=true
- shift 1
- ;;
- *)
- extra_args="$extra_args $1"
- shift 1
- ;;
- esac
-done
-
-. "$scriptroot/tools.sh"
-
-if [[ "$ci" == true ]]; then
- node_reuse=false
-fi
-
-MSBuild $extra_args
-ExitWithExitCode 0
diff --git a/eng/common/native/CommonLibrary.psm1 b/eng/common/native/CommonLibrary.psm1
deleted file mode 100644
index 41416862d9..0000000000
--- a/eng/common/native/CommonLibrary.psm1
+++ /dev/null
@@ -1,389 +0,0 @@
-<#
-.SYNOPSIS
-Helper module to install an archive to a directory
-
-.DESCRIPTION
-Helper module to download and extract an archive to a specified directory
-
-.PARAMETER Uri
-Uri of artifact to download
-
-.PARAMETER InstallDirectory
-Directory to extract artifact contents to
-
-.PARAMETER Force
-Force download / extraction if file or contents already exist. Default = False
-
-.PARAMETER DownloadRetries
-Total number of retry attempts. Default = 5
-
-.PARAMETER RetryWaitTimeInSeconds
-Wait time between retry attempts in seconds. Default = 30
-
-.NOTES
-Returns False if download or extraction fail, True otherwise
-#>
-function DownloadAndExtract {
- [CmdletBinding(PositionalBinding=$false)]
- Param (
- [Parameter(Mandatory=$True)]
- [string] $Uri,
- [Parameter(Mandatory=$True)]
- [string] $InstallDirectory,
- [switch] $Force = $False,
- [int] $DownloadRetries = 5,
- [int] $RetryWaitTimeInSeconds = 30
- )
- # Define verbose switch if undefined
- $Verbose = $VerbosePreference -Eq "Continue"
-
- $TempToolPath = CommonLibrary\Get-TempPathFilename -Path $Uri
-
- # Download native tool
- $DownloadStatus = CommonLibrary\Get-File -Uri $Uri `
- -Path $TempToolPath `
- -DownloadRetries $DownloadRetries `
- -RetryWaitTimeInSeconds $RetryWaitTimeInSeconds `
- -Force:$Force `
- -Verbose:$Verbose
-
- if ($DownloadStatus -Eq $False) {
- Write-Error "Download failed"
- return $False
- }
-
- # Extract native tool
- $UnzipStatus = CommonLibrary\Expand-Zip -ZipPath $TempToolPath `
- -OutputDirectory $InstallDirectory `
- -Force:$Force `
- -Verbose:$Verbose
-
- if ($UnzipStatus -Eq $False) {
- # Retry Download one more time with Force=true
- $DownloadRetryStatus = CommonLibrary\Get-File -Uri $Uri `
- -Path $TempToolPath `
- -DownloadRetries 1 `
- -RetryWaitTimeInSeconds $RetryWaitTimeInSeconds `
- -Force:$True `
- -Verbose:$Verbose
-
- if ($DownloadRetryStatus -Eq $False) {
- Write-Error "Last attempt of download failed as well"
- return $False
- }
-
- # Retry unzip again one more time with Force=true
- $UnzipRetryStatus = CommonLibrary\Expand-Zip -ZipPath $TempToolPath `
- -OutputDirectory $InstallDirectory `
- -Force:$True `
- -Verbose:$Verbose
- if ($UnzipRetryStatus -Eq $False)
- {
- Write-Error "Last attempt of unzip failed as well"
- # Clean up partial zips and extracts
- if (Test-Path $TempToolPath) {
- Remove-Item $TempToolPath -Force
- }
- if (Test-Path $InstallDirectory) {
- Remove-Item $InstallDirectory -Force -Recurse
- }
- return $False
- }
- }
-
- return $True
-}
-
-<#
-.SYNOPSIS
-Download a file, retry on failure
-
-.DESCRIPTION
-Download specified file and retry if attempt fails
-
-.PARAMETER Uri
-Uri of file to download. If Uri is a local path, the file will be copied instead of downloaded
-
-.PARAMETER Path
-Path to download or copy uri file to
-
-.PARAMETER Force
-Overwrite existing file if present. Default = False
-
-.PARAMETER DownloadRetries
-Total number of retry attempts. Default = 5
-
-.PARAMETER RetryWaitTimeInSeconds
-Wait time between retry attempts in seconds Default = 30
-
-#>
-function Get-File {
- [CmdletBinding(PositionalBinding=$false)]
- Param (
- [Parameter(Mandatory=$True)]
- [string] $Uri,
- [Parameter(Mandatory=$True)]
- [string] $Path,
- [int] $DownloadRetries = 5,
- [int] $RetryWaitTimeInSeconds = 30,
- [switch] $Force = $False
- )
- $Attempt = 0
-
- if ($Force) {
- if (Test-Path $Path) {
- Remove-Item $Path -Force
- }
- }
- if (Test-Path $Path) {
- Write-Host "File '$Path' already exists, skipping download"
- return $True
- }
-
- $DownloadDirectory = Split-Path -ErrorAction Ignore -Path "$Path" -Parent
- if (-Not (Test-Path $DownloadDirectory)) {
- New-Item -path $DownloadDirectory -force -itemType "Directory" | Out-Null
- }
-
- if (Test-Path -IsValid -Path $Uri) {
- Write-Verbose "'$Uri' is a file path, copying file to '$Path'"
- Copy-Item -Path $Uri -Destination $Path
- return $?
- }
- else {
- Write-Verbose "Downloading $Uri"
- # Don't display the console progress UI - it's a huge perf hit
- $ProgressPreference = 'SilentlyContinue'
- while($Attempt -Lt $DownloadRetries)
- {
- try {
- Invoke-WebRequest -UseBasicParsing -Uri $Uri -OutFile $Path
- Write-Verbose "Downloaded to '$Path'"
- return $True
- }
- catch {
- $Attempt++
- if ($Attempt -Lt $DownloadRetries) {
- $AttemptsLeft = $DownloadRetries - $Attempt
- Write-Warning "Download failed, $AttemptsLeft attempts remaining, will retry in $RetryWaitTimeInSeconds seconds"
- Start-Sleep -Seconds $RetryWaitTimeInSeconds
- }
- else {
- Write-Error $_
- Write-Error $_.Exception
- }
- }
- }
- }
-
- return $False
-}
-
-<#
-.SYNOPSIS
-Generate a shim for a native tool
-
-.DESCRIPTION
-Creates a wrapper script (shim) that passes arguments forward to native tool assembly
-
-.PARAMETER ShimName
-The name of the shim
-
-.PARAMETER ShimDirectory
-The directory where shims are stored
-
-.PARAMETER ToolFilePath
-Path to file that shim forwards to
-
-.PARAMETER Force
-Replace shim if already present. Default = False
-
-.NOTES
-Returns $True if generating shim succeeds, $False otherwise
-#>
-function New-ScriptShim {
- [CmdletBinding(PositionalBinding=$false)]
- Param (
- [Parameter(Mandatory=$True)]
- [string] $ShimName,
- [Parameter(Mandatory=$True)]
- [string] $ShimDirectory,
- [Parameter(Mandatory=$True)]
- [string] $ToolFilePath,
- [Parameter(Mandatory=$True)]
- [string] $BaseUri,
- [switch] $Force
- )
- try {
- Write-Verbose "Generating '$ShimName' shim"
-
- if (-Not (Test-Path $ToolFilePath)){
- Write-Error "Specified tool file path '$ToolFilePath' does not exist"
- return $False
- }
-
- # WinShimmer is a small .NET Framework program that creates .exe shims to bootstrapped programs
- # Many of the checks for installed programs expect a .exe extension for Windows tools, rather
- # than a .bat or .cmd file.
- # Source: https://github.com/dotnet/arcade/tree/master/src/WinShimmer
- if (-Not (Test-Path "$ShimDirectory\WinShimmer\winshimmer.exe")) {
- $InstallStatus = DownloadAndExtract -Uri "$BaseUri/windows/winshimmer/WinShimmer.zip" `
- -InstallDirectory $ShimDirectory\WinShimmer `
- -Force:$Force `
- -DownloadRetries 2 `
- -RetryWaitTimeInSeconds 5 `
- -Verbose:$Verbose
- }
-
- if ((Test-Path (Join-Path $ShimDirectory "$ShimName.exe"))) {
- Write-Host "$ShimName.exe already exists; replacing..."
- Remove-Item (Join-Path $ShimDirectory "$ShimName.exe")
- }
-
- & "$ShimDirectory\WinShimmer\winshimmer.exe" $ShimName $ToolFilePath $ShimDirectory
- return $True
- }
- catch {
- Write-Host $_
- Write-Host $_.Exception
- return $False
- }
-}
-
-<#
-.SYNOPSIS
-Returns the machine architecture of the host machine
-
-.NOTES
-Returns 'x64' on 64 bit machines
- Returns 'x86' on 32 bit machines
-#>
-function Get-MachineArchitecture {
- $ProcessorArchitecture = $Env:PROCESSOR_ARCHITECTURE
- $ProcessorArchitectureW6432 = $Env:PROCESSOR_ARCHITEW6432
- if($ProcessorArchitecture -Eq "X86")
- {
- if(($ProcessorArchitectureW6432 -Eq "") -Or
- ($ProcessorArchitectureW6432 -Eq "X86")) {
- return "x86"
- }
- $ProcessorArchitecture = $ProcessorArchitectureW6432
- }
- if (($ProcessorArchitecture -Eq "AMD64") -Or
- ($ProcessorArchitecture -Eq "IA64") -Or
- ($ProcessorArchitecture -Eq "ARM64")) {
- return "x64"
- }
- return "x86"
-}
-
-<#
-.SYNOPSIS
-Get the name of a temporary folder under the native install directory
-#>
-function Get-TempDirectory {
- return Join-Path (Get-NativeInstallDirectory) "temp/"
-}
-
-function Get-TempPathFilename {
- [CmdletBinding(PositionalBinding=$false)]
- Param (
- [Parameter(Mandatory=$True)]
- [string] $Path
- )
- $TempDir = CommonLibrary\Get-TempDirectory
- $TempFilename = Split-Path $Path -leaf
- $TempPath = Join-Path $TempDir $TempFilename
- return $TempPath
-}
-
-<#
-.SYNOPSIS
-Returns the base directory to use for native tool installation
-
-.NOTES
-Returns the value of the NETCOREENG_INSTALL_DIRECTORY if that environment variable
-is set, or otherwise returns an install directory under the %USERPROFILE%
-#>
-function Get-NativeInstallDirectory {
- $InstallDir = $Env:NETCOREENG_INSTALL_DIRECTORY
- if (!$InstallDir) {
- $InstallDir = Join-Path $Env:USERPROFILE ".netcoreeng/native/"
- }
- return $InstallDir
-}
-
-<#
-.SYNOPSIS
-Unzip an archive
-
-.DESCRIPTION
-Powershell module to unzip an archive to a specified directory
-
-.PARAMETER ZipPath (Required)
-Path to archive to unzip
-
-.PARAMETER OutputDirectory (Required)
-Output directory for archive contents
-
-.PARAMETER Force
-Overwrite output directory contents if they already exist
-
-.NOTES
-- Returns True and does not perform an extraction if output directory already exists but Overwrite is not True.
-- Returns True if unzip operation is successful
-- Returns False if Overwrite is True and it is unable to remove contents of OutputDirectory
-- Returns False if unable to extract zip archive
-#>
-function Expand-Zip {
- [CmdletBinding(PositionalBinding=$false)]
- Param (
- [Parameter(Mandatory=$True)]
- [string] $ZipPath,
- [Parameter(Mandatory=$True)]
- [string] $OutputDirectory,
- [switch] $Force
- )
-
- Write-Verbose "Extracting '$ZipPath' to '$OutputDirectory'"
- try {
- if ((Test-Path $OutputDirectory) -And (-Not $Force)) {
- Write-Host "Directory '$OutputDirectory' already exists, skipping extract"
- return $True
- }
- if (Test-Path $OutputDirectory) {
- Write-Verbose "'Force' is 'True', but '$OutputDirectory' exists, removing directory"
- Remove-Item $OutputDirectory -Force -Recurse
- if ($? -Eq $False) {
- Write-Error "Unable to remove '$OutputDirectory'"
- return $False
- }
- }
- if (-Not (Test-Path $OutputDirectory)) {
- New-Item -path $OutputDirectory -Force -itemType "Directory" | Out-Null
- }
-
- Add-Type -assembly "system.io.compression.filesystem"
- [io.compression.zipfile]::ExtractToDirectory("$ZipPath", "$OutputDirectory")
- if ($? -Eq $False) {
- Write-Error "Unable to extract '$ZipPath'"
- return $False
- }
- }
- catch {
- Write-Host $_
- Write-Host $_.Exception
-
- return $False
- }
- return $True
-}
-
-export-modulemember -function DownloadAndExtract
-export-modulemember -function Expand-Zip
-export-modulemember -function Get-File
-export-modulemember -function Get-MachineArchitecture
-export-modulemember -function Get-NativeInstallDirectory
-export-modulemember -function Get-TempDirectory
-export-modulemember -function Get-TempPathFilename
-export-modulemember -function New-ScriptShim
diff --git a/eng/common/native/common-library.sh b/eng/common/native/common-library.sh
deleted file mode 100755
index bf272dcf55..0000000000
--- a/eng/common/native/common-library.sh
+++ /dev/null
@@ -1,168 +0,0 @@
-#!/usr/bin/env bash
-
-function GetNativeInstallDirectory {
- local install_dir
-
- if [[ -z $NETCOREENG_INSTALL_DIRECTORY ]]; then
- install_dir=$HOME/.netcoreeng/native/
- else
- install_dir=$NETCOREENG_INSTALL_DIRECTORY
- fi
-
- echo $install_dir
- return 0
-}
-
-function GetTempDirectory {
-
- echo $(GetNativeInstallDirectory)temp/
- return 0
-}
-
-function ExpandZip {
- local zip_path=$1
- local output_directory=$2
- local force=${3:-false}
-
- echo "Extracting $zip_path to $output_directory"
- if [[ -d $output_directory ]] && [[ $force = false ]]; then
- echo "Directory '$output_directory' already exists, skipping extract"
- return 0
- fi
-
- if [[ -d $output_directory ]]; then
- echo "'Force flag enabled, but '$output_directory' exists. Removing directory"
- rm -rf $output_directory
- if [[ $? != 0 ]]; then
- Write-PipelineTelemetryError -category 'NativeToolsBootstrap' "Unable to remove '$output_directory'"
- return 1
- fi
- fi
-
- echo "Creating directory: '$output_directory'"
- mkdir -p $output_directory
-
- echo "Extracting archive"
- tar -xf $zip_path -C $output_directory
- if [[ $? != 0 ]]; then
- Write-PipelineTelemetryError -category 'NativeToolsBootstrap' "Unable to extract '$zip_path'"
- return 1
- fi
-
- return 0
-}
-
-function GetCurrentOS {
- local unameOut="$(uname -s)"
- case $unameOut in
- Linux*) echo "Linux";;
- Darwin*) echo "MacOS";;
- esac
- return 0
-}
-
-function GetFile {
- local uri=$1
- local path=$2
- local force=${3:-false}
- local download_retries=${4:-5}
- local retry_wait_time_seconds=${5:-30}
-
- if [[ -f $path ]]; then
- if [[ $force = false ]]; then
- echo "File '$path' already exists. Skipping download"
- return 0
- else
- rm -rf $path
- fi
- fi
-
- if [[ -f $uri ]]; then
- echo "'$uri' is a file path, copying file to '$path'"
- cp $uri $path
- return $?
- fi
-
- echo "Downloading $uri"
- # Use curl if available, otherwise use wget
- if command -v curl > /dev/null; then
- curl "$uri" -sSL --retry $download_retries --retry-delay $retry_wait_time_seconds --create-dirs -o "$path" --fail
- else
- wget -q -O "$path" "$uri" --tries="$download_retries"
- fi
-
- return $?
-}
-
-function GetTempPathFileName {
- local path=$1
-
- local temp_dir=$(GetTempDirectory)
- local temp_file_name=$(basename $path)
- echo $temp_dir$temp_file_name
- return 0
-}
-
-function DownloadAndExtract {
- local uri=$1
- local installDir=$2
- local force=${3:-false}
- local download_retries=${4:-5}
- local retry_wait_time_seconds=${5:-30}
-
- local temp_tool_path=$(GetTempPathFileName $uri)
-
- echo "downloading to: $temp_tool_path"
-
- # Download file
- GetFile "$uri" "$temp_tool_path" $force $download_retries $retry_wait_time_seconds
- if [[ $? != 0 ]]; then
- Write-PipelineTelemetryError -category 'NativeToolsBootstrap' "Failed to download '$uri' to '$temp_tool_path'."
- return 1
- fi
-
- # Extract File
- echo "extracting from $temp_tool_path to $installDir"
- ExpandZip "$temp_tool_path" "$installDir" $force $download_retries $retry_wait_time_seconds
- if [[ $? != 0 ]]; then
- Write-PipelineTelemetryError -category 'NativeToolsBootstrap' "Failed to extract '$temp_tool_path' to '$installDir'."
- return 1
- fi
-
- return 0
-}
-
-function NewScriptShim {
- local shimpath=$1
- local tool_file_path=$2
- local force=${3:-false}
-
- echo "Generating '$shimpath' shim"
- if [[ -f $shimpath ]]; then
- if [[ $force = false ]]; then
- echo "File '$shimpath' already exists." >&2
- return 1
- else
- rm -rf $shimpath
- fi
- fi
-
- if [[ ! -f $tool_file_path ]]; then
- Write-PipelineTelemetryError -category 'NativeToolsBootstrap' "Specified tool file path:'$tool_file_path' does not exist"
- return 1
- fi
-
- local shim_contents=$'#!/usr/bin/env bash\n'
- shim_contents+="SHIMARGS="$'$1\n'
- shim_contents+="$tool_file_path"$' $SHIMARGS\n'
-
- # Write shim file
- echo "$shim_contents" > $shimpath
-
- chmod +x $shimpath
-
- echo "Finished generating shim '$shimpath'"
-
- return $?
-}
-
diff --git a/eng/common/native/install-cmake-test.sh b/eng/common/native/install-cmake-test.sh
deleted file mode 100755
index 12339a4076..0000000000
--- a/eng/common/native/install-cmake-test.sh
+++ /dev/null
@@ -1,117 +0,0 @@
-#!/usr/bin/env bash
-
-source="${BASH_SOURCE[0]}"
-scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
-
-. $scriptroot/common-library.sh
-
-base_uri=
-install_path=
-version=
-clean=false
-force=false
-download_retries=5
-retry_wait_time_seconds=30
-
-while (($# > 0)); do
- lowerI="$(echo $1 | awk '{print tolower($0)}')"
- case $lowerI in
- --baseuri)
- base_uri=$2
- shift 2
- ;;
- --installpath)
- install_path=$2
- shift 2
- ;;
- --version)
- version=$2
- shift 2
- ;;
- --clean)
- clean=true
- shift 1
- ;;
- --force)
- force=true
- shift 1
- ;;
- --downloadretries)
- download_retries=$2
- shift 2
- ;;
- --retrywaittimeseconds)
- retry_wait_time_seconds=$2
- shift 2
- ;;
- --help)
- echo "Common settings:"
- echo " --baseuri Base file directory or Url wrom which to acquire tool archives"
- echo " --installpath Base directory to install native tool to"
- echo " --clean Don't install the tool, just clean up the current install of the tool"
- echo " --force Force install of tools even if they previously exist"
- echo " --help Print help and exit"
- echo ""
- echo "Advanced settings:"
- echo " --downloadretries Total number of retry attempts"
- echo " --retrywaittimeseconds Wait time between retry attempts in seconds"
- echo ""
- exit 0
- ;;
- esac
-done
-
-tool_name="cmake-test"
-tool_os=$(GetCurrentOS)
-tool_folder=$(echo $tool_os | awk '{print tolower($0)}')
-tool_arch="x86_64"
-tool_name_moniker="$tool_name-$version-$tool_os-$tool_arch"
-tool_install_directory="$install_path/$tool_name/$version"
-tool_file_path="$tool_install_directory/$tool_name_moniker/bin/$tool_name"
-shim_path="$install_path/$tool_name.sh"
-uri="${base_uri}/$tool_folder/$tool_name/$tool_name_moniker.tar.gz"
-
-# Clean up tool and installers
-if [[ $clean = true ]]; then
- echo "Cleaning $tool_install_directory"
- if [[ -d $tool_install_directory ]]; then
- rm -rf $tool_install_directory
- fi
-
- echo "Cleaning $shim_path"
- if [[ -f $shim_path ]]; then
- rm -rf $shim_path
- fi
-
- tool_temp_path=$(GetTempPathFileName $uri)
- echo "Cleaning $tool_temp_path"
- if [[ -f $tool_temp_path ]]; then
- rm -rf $tool_temp_path
- fi
-
- exit 0
-fi
-
-# Install tool
-if [[ -f $tool_file_path ]] && [[ $force = false ]]; then
- echo "$tool_name ($version) already exists, skipping install"
- exit 0
-fi
-
-DownloadAndExtract $uri $tool_install_directory $force $download_retries $retry_wait_time_seconds
-
-if [[ $? != 0 ]]; then
- Write-PipelineTelemetryError -category 'NativeToolsBootstrap' 'Installation failed'
- exit 1
-fi
-
-# Generate Shim
-# Always rewrite shims so that we are referencing the expected version
-NewScriptShim $shim_path $tool_file_path true
-
-if [[ $? != 0 ]]; then
- Write-PipelineTelemetryError -category 'NativeToolsBootstrap' 'Shim generation failed'
- exit 1
-fi
-
-exit 0
\ No newline at end of file
diff --git a/eng/common/native/install-cmake.sh b/eng/common/native/install-cmake.sh
deleted file mode 100755
index 18041be876..0000000000
--- a/eng/common/native/install-cmake.sh
+++ /dev/null
@@ -1,117 +0,0 @@
-#!/usr/bin/env bash
-
-source="${BASH_SOURCE[0]}"
-scriptroot="$( cd -P "$( dirname "$source" )" && pwd )"
-
-. $scriptroot/common-library.sh
-
-base_uri=
-install_path=
-version=
-clean=false
-force=false
-download_retries=5
-retry_wait_time_seconds=30
-
-while (($# > 0)); do
- lowerI="$(echo $1 | awk '{print tolower($0)}')"
- case $lowerI in
- --baseuri)
- base_uri=$2
- shift 2
- ;;
- --installpath)
- install_path=$2
- shift 2
- ;;
- --version)
- version=$2
- shift 2
- ;;
- --clean)
- clean=true
- shift 1
- ;;
- --force)
- force=true
- shift 1
- ;;
- --downloadretries)
- download_retries=$2
- shift 2
- ;;
- --retrywaittimeseconds)
- retry_wait_time_seconds=$2
- shift 2
- ;;
- --help)
- echo "Common settings:"
- echo " --baseuri Base file directory or Url wrom which to acquire tool archives"
- echo " --installpath Base directory to install native tool to"
- echo " --clean Don't install the tool, just clean up the current install of the tool"
- echo " --force Force install of tools even if they previously exist"
- echo " --help Print help and exit"
- echo ""
- echo "Advanced settings:"
- echo " --downloadretries Total number of retry attempts"
- echo " --retrywaittimeseconds Wait time between retry attempts in seconds"
- echo ""
- exit 0
- ;;
- esac
-done
-
-tool_name="cmake"
-tool_os=$(GetCurrentOS)
-tool_folder=$(echo $tool_os | awk '{print tolower($0)}')
-tool_arch="x86_64"
-tool_name_moniker="$tool_name-$version-$tool_os-$tool_arch"
-tool_install_directory="$install_path/$tool_name/$version"
-tool_file_path="$tool_install_directory/$tool_name_moniker/bin/$tool_name"
-shim_path="$install_path/$tool_name.sh"
-uri="${base_uri}/$tool_folder/$tool_name/$tool_name_moniker.tar.gz"
-
-# Clean up tool and installers
-if [[ $clean = true ]]; then
- echo "Cleaning $tool_install_directory"
- if [[ -d $tool_install_directory ]]; then
- rm -rf $tool_install_directory
- fi
-
- echo "Cleaning $shim_path"
- if [[ -f $shim_path ]]; then
- rm -rf $shim_path
- fi
-
- tool_temp_path=$(GetTempPathFileName $uri)
- echo "Cleaning $tool_temp_path"
- if [[ -f $tool_temp_path ]]; then
- rm -rf $tool_temp_path
- fi
-
- exit 0
-fi
-
-# Install tool
-if [[ -f $tool_file_path ]] && [[ $force = false ]]; then
- echo "$tool_name ($version) already exists, skipping install"
- exit 0
-fi
-
-DownloadAndExtract $uri $tool_install_directory $force $download_retries $retry_wait_time_seconds
-
-if [[ $? != 0 ]]; then
- Write-PipelineTelemetryError -category 'NativeToolsBootstrap' 'Installation failed'
- exit 1
-fi
-
-# Generate Shim
-# Always rewrite shims so that we are referencing the expected version
-NewScriptShim $shim_path $tool_file_path true
-
-if [[ $? != 0 ]]; then
- Write-PipelineTelemetryError -category 'NativeToolsBootstrap' 'Shim generation failed'
- exit 1
-fi
-
-exit 0
\ No newline at end of file
diff --git a/eng/common/native/install-tool.ps1 b/eng/common/native/install-tool.ps1
deleted file mode 100644
index f397e1c75d..0000000000
--- a/eng/common/native/install-tool.ps1
+++ /dev/null
@@ -1,132 +0,0 @@
-<#
-.SYNOPSIS
-Install native tool
-
-.DESCRIPTION
-Install cmake native tool from Azure blob storage
-
-.PARAMETER InstallPath
-Base directory to install native tool to
-
-.PARAMETER BaseUri
-Base file directory or Url from which to acquire tool archives
-
-.PARAMETER CommonLibraryDirectory
-Path to folder containing common library modules
-
-.PARAMETER Force
-Force install of tools even if they previously exist
-
-.PARAMETER Clean
-Don't install the tool, just clean up the current install of the tool
-
-.PARAMETER DownloadRetries
-Total number of retry attempts
-
-.PARAMETER RetryWaitTimeInSeconds
-Wait time between retry attempts in seconds
-
-.NOTES
-Returns 0 if install succeeds, 1 otherwise
-#>
-[CmdletBinding(PositionalBinding=$false)]
-Param (
- [Parameter(Mandatory=$True)]
- [string] $ToolName,
- [Parameter(Mandatory=$True)]
- [string] $InstallPath,
- [Parameter(Mandatory=$True)]
- [string] $BaseUri,
- [Parameter(Mandatory=$True)]
- [string] $Version,
- [string] $CommonLibraryDirectory = $PSScriptRoot,
- [switch] $Force = $False,
- [switch] $Clean = $False,
- [int] $DownloadRetries = 5,
- [int] $RetryWaitTimeInSeconds = 30
-)
-
-. $PSScriptRoot\..\pipeline-logging-functions.ps1
-
-# Import common library modules
-Import-Module -Name (Join-Path $CommonLibraryDirectory "CommonLibrary.psm1")
-
-try {
- # Define verbose switch if undefined
- $Verbose = $VerbosePreference -Eq "Continue"
-
- $Arch = CommonLibrary\Get-MachineArchitecture
- $ToolOs = "win64"
- if($Arch -Eq "x32") {
- $ToolOs = "win32"
- }
- $ToolNameMoniker = "$ToolName-$Version-$ToolOs-$Arch"
- $ToolInstallDirectory = Join-Path $InstallPath "$ToolName\$Version\"
- $Uri = "$BaseUri/windows/$ToolName/$ToolNameMoniker.zip"
- $ShimPath = Join-Path $InstallPath "$ToolName.exe"
-
- if ($Clean) {
- Write-Host "Cleaning $ToolInstallDirectory"
- if (Test-Path $ToolInstallDirectory) {
- Remove-Item $ToolInstallDirectory -Force -Recurse
- }
- Write-Host "Cleaning $ShimPath"
- if (Test-Path $ShimPath) {
- Remove-Item $ShimPath -Force
- }
- $ToolTempPath = CommonLibrary\Get-TempPathFilename -Path $Uri
- Write-Host "Cleaning $ToolTempPath"
- if (Test-Path $ToolTempPath) {
- Remove-Item $ToolTempPath -Force
- }
- exit 0
- }
-
- # Install tool
- if ((Test-Path $ToolInstallDirectory) -And (-Not $Force)) {
- Write-Verbose "$ToolName ($Version) already exists, skipping install"
- }
- else {
- $InstallStatus = CommonLibrary\DownloadAndExtract -Uri $Uri `
- -InstallDirectory $ToolInstallDirectory `
- -Force:$Force `
- -DownloadRetries $DownloadRetries `
- -RetryWaitTimeInSeconds $RetryWaitTimeInSeconds `
- -Verbose:$Verbose
-
- if ($InstallStatus -Eq $False) {
- Write-PipelineTelemetryError "Installation failed" -Category "NativeToolsetBootstrapping"
- exit 1
- }
- }
-
- $ToolFilePath = Get-ChildItem $ToolInstallDirectory -Recurse -Filter "$ToolName.exe" | % { $_.FullName }
- if (@($ToolFilePath).Length -Gt 1) {
- Write-Error "There are multiple copies of $ToolName in $($ToolInstallDirectory): `n$(@($ToolFilePath | out-string))"
- exit 1
- } elseif (@($ToolFilePath).Length -Lt 1) {
- Write-Host "$ToolName was not found in $ToolFilePath."
- exit 1
- }
-
- # Generate shim
- # Always rewrite shims so that we are referencing the expected version
- $GenerateShimStatus = CommonLibrary\New-ScriptShim -ShimName $ToolName `
- -ShimDirectory $InstallPath `
- -ToolFilePath "$ToolFilePath" `
- -BaseUri $BaseUri `
- -Force:$Force `
- -Verbose:$Verbose
-
- if ($GenerateShimStatus -Eq $False) {
- Write-PipelineTelemetryError "Generate shim failed" -Category "NativeToolsetBootstrapping"
- return 1
- }
-
- exit 0
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category "NativeToolsetBootstrapping" -Message $_
- exit 1
-}
diff --git a/eng/common/performance/perfhelixpublish.proj b/eng/common/performance/perfhelixpublish.proj
deleted file mode 100644
index e5826b5323..0000000000
--- a/eng/common/performance/perfhelixpublish.proj
+++ /dev/null
@@ -1,102 +0,0 @@
-
-
-
- %HELIX_CORRELATION_PAYLOAD%\performance\scripts\benchmarks_ci.py --csproj %HELIX_CORRELATION_PAYLOAD%\performance\$(TargetCsproj)
- --dotnet-versions %DOTNET_VERSION% --cli-source-info args --cli-branch %PERFLAB_BRANCH% --cli-commit-sha %PERFLAB_HASH% --cli-repository https://github.com/%PERFLAB_REPO% --cli-source-timestamp %PERFLAB_BUILDTIMESTAMP%
- py -3
- %HELIX_CORRELATION_PAYLOAD%\Core_Root\CoreRun.exe
- %HELIX_CORRELATION_PAYLOAD%\Baseline_Core_Root\CoreRun.exe
- $(HelixPreCommands);call %HELIX_CORRELATION_PAYLOAD%\performance\tools\machine-setup.cmd
- %HELIX_CORRELATION_PAYLOAD%\artifacts\BenchmarkDotNet.Artifacts
- %HELIX_CORRELATION_PAYLOAD%\artifacts\BenchmarkDotNet.Artifacts_Baseline
- %HELIX_CORRELATION_PAYLOAD%\performance\src\tools\ResultsComparer\ResultsComparer.csproj
- %HELIX_CORRELATION_PAYLOAD%\performance\tools\dotnet\$(Architecture)\dotnet.exe
- %25%25
- %HELIX_WORKITEM_ROOT%\testResults.xml
-
-
-
- $HELIX_CORRELATION_PAYLOAD
- $(BaseDirectory)/performance
-
-
-
- $HELIX_WORKITEM_PAYLOAD
- $(BaseDirectory)
-
-
-
- $(PerformanceDirectory)/scripts/benchmarks_ci.py --csproj $(PerformanceDirectory)/$(TargetCsproj)
- --dotnet-versions $DOTNET_VERSION --cli-source-info args --cli-branch $PERFLAB_BRANCH --cli-commit-sha $PERFLAB_HASH --cli-repository https://github.com/$PERFLAB_REPO --cli-source-timestamp $PERFLAB_BUILDTIMESTAMP
- python3
- $(BaseDirectory)/Core_Root/corerun
- $(BaseDirectory)/Baseline_Core_Root/corerun
- $(HelixPreCommands);chmod +x $(PerformanceDirectory)/tools/machine-setup.sh;. $(PerformanceDirectory)/tools/machine-setup.sh
- $(BaseDirectory)/artifacts/BenchmarkDotNet.Artifacts
- $(BaseDirectory)/artifacts/BenchmarkDotNet.Artifacts_Baseline
- $(PerformanceDirectory)/src/tools/ResultsComparer/ResultsComparer.csproj
- $(PerformanceDirectory)/tools/dotnet/$(Architecture)/dotnet
- %25
- $HELIX_WORKITEM_ROOT/testResults.xml
-
-
-
- --corerun $(CoreRun)
-
-
-
- --corerun $(BaselineCoreRun)
-
-
-
- $(Python) $(WorkItemCommand) --incremental no --architecture $(Architecture) -f $(_Framework) $(PerfLabArguments)
-
-
-
- $(WorkItemCommand) $(CliArguments)
-
-
-
-
- %(Identity)
-
-
-
-
- 5
-
-
-
-
-
-
-
-
-
-
- false
-
-
-
-
-
- $(WorkItemDirectory)
- $(WorkItemCommand) --bdn-artifacts $(BaselineArtifactsDirectory) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(BaselineCoreRunArgument) --partition-count $(PartitionCount) --partition-index %(HelixWorkItem.Index)"
- $(WorkItemCommand) --bdn-artifacts $(ArtifactsDirectory) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(CoreRunArgument) --partition-count $(PartitionCount) --partition-index %(HelixWorkItem.Index)"
- $(DotnetExe) run -f $(_Framework) -p $(ResultsComparer) --base $(BaselineArtifactsDirectory) --diff $(ArtifactsDirectory) --threshold 2$(Percent) --xml $(XMLResults);$(FinalCommand)
- 4:00
-
-
-
-
-
- $(WorkItemDirectory)
- $(WorkItemCommand) --bdn-artifacts $(BaselineArtifactsDirectory) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(BaselineCoreRunArgument)"
- $(WorkItemCommand) --bdn-artifacts $(ArtifactsDirectory) --bdn-arguments="--anyCategories $(BDNCategories) $(ExtraBenchmarkDotNetArguments) $(CoreRunArgument)"
- $(DotnetExe) run -f $(_Framework) -p $(ResultsComparer) --base $(BaselineArtifactsDirectory) --diff $(ArtifactsDirectory) --threshold 2$(Percent) --xml $(XMLResults)
- 4:00
-
-
-
\ No newline at end of file
diff --git a/eng/common/performance/performance-setup.ps1 b/eng/common/performance/performance-setup.ps1
deleted file mode 100644
index ec41965fc8..0000000000
--- a/eng/common/performance/performance-setup.ps1
+++ /dev/null
@@ -1,106 +0,0 @@
-Param(
- [string] $SourceDirectory=$env:BUILD_SOURCESDIRECTORY,
- [string] $CoreRootDirectory,
- [string] $BaselineCoreRootDirectory,
- [string] $Architecture="x64",
- [string] $Framework="netcoreapp5.0",
- [string] $CompilationMode="Tiered",
- [string] $Repository=$env:BUILD_REPOSITORY_NAME,
- [string] $Branch=$env:BUILD_SOURCEBRANCH,
- [string] $CommitSha=$env:BUILD_SOURCEVERSION,
- [string] $BuildNumber=$env:BUILD_BUILDNUMBER,
- [string] $RunCategories="coreclr corefx",
- [string] $Csproj="src\benchmarks\micro\MicroBenchmarks.csproj",
- [string] $Kind="micro",
- [switch] $Internal,
- [switch] $Compare,
- [string] $Configurations="CompilationMode=$CompilationMode"
-)
-
-$RunFromPerformanceRepo = ($Repository -eq "dotnet/performance") -or ($Repository -eq "dotnet-performance")
-$UseCoreRun = ($CoreRootDirectory -ne [string]::Empty)
-$UseBaselineCoreRun = ($BaselineCoreRootDirectory -ne [string]::Empty)
-
-$PayloadDirectory = (Join-Path $SourceDirectory "Payload")
-$PerformanceDirectory = (Join-Path $PayloadDirectory "performance")
-$WorkItemDirectory = (Join-Path $SourceDirectory "workitem")
-$ExtraBenchmarkDotNetArguments = "--iterationCount 1 --warmupCount 0 --invocationCount 1 --unrollFactor 1 --strategy ColdStart --stopOnFirstError true"
-$Creator = $env:BUILD_DEFINITIONNAME
-$PerfLabArguments = ""
-$HelixSourcePrefix = "pr"
-
-$Queue = "Windows.10.Amd64.ClientRS4.DevEx.15.8.Open"
-
-if ($Framework.StartsWith("netcoreapp")) {
- $Queue = "Windows.10.Amd64.ClientRS5.Open"
-}
-
-if ($Compare) {
- $Queue = "Windows.10.Amd64.19H1.Tiger.Perf.Open"
- $PerfLabArguments = ""
- $ExtraBenchmarkDotNetArguments = ""
-}
-
-if ($Internal) {
- $Queue = "Windows.10.Amd64.19H1.Tiger.Perf"
- $PerfLabArguments = "--upload-to-perflab-container"
- $ExtraBenchmarkDotNetArguments = ""
- $Creator = ""
- $HelixSourcePrefix = "official"
-}
-
-$CommonSetupArguments="--frameworks $Framework --queue $Queue --build-number $BuildNumber --build-configs $Configurations"
-$SetupArguments = "--repository https://github.com/$Repository --branch $Branch --get-perf-hash --commit-sha $CommitSha $CommonSetupArguments"
-
-if ($RunFromPerformanceRepo) {
- $SetupArguments = "--perf-hash $CommitSha $CommonSetupArguments"
-
- robocopy $SourceDirectory $PerformanceDirectory /E /XD $PayloadDirectory $SourceDirectory\artifacts $SourceDirectory\.git
-}
-else {
- git clone --branch master --depth 1 --quiet https://github.com/dotnet/performance $PerformanceDirectory
-}
-
-if ($UseCoreRun) {
- $NewCoreRoot = (Join-Path $PayloadDirectory "Core_Root")
- Move-Item -Path $CoreRootDirectory -Destination $NewCoreRoot
-}
-if ($UseBaselineCoreRun) {
- $NewBaselineCoreRoot = (Join-Path $PayloadDirectory "Baseline_Core_Root")
- Move-Item -Path $BaselineCoreRootDirectory -Destination $NewBaselineCoreRoot
-}
-
-$DocsDir = (Join-Path $PerformanceDirectory "docs")
-robocopy $DocsDir $WorkItemDirectory
-
-# Set variables that we will need to have in future steps
-$ci = $true
-
-. "$PSScriptRoot\..\pipeline-logging-functions.ps1"
-
-# Directories
-Write-PipelineSetVariable -Name 'PayloadDirectory' -Value "$PayloadDirectory" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name 'PerformanceDirectory' -Value "$PerformanceDirectory" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name 'WorkItemDirectory' -Value "$WorkItemDirectory" -IsMultiJobVariable $false
-
-# Script Arguments
-Write-PipelineSetVariable -Name 'Python' -Value "py -3" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name 'ExtraBenchmarkDotNetArguments' -Value "$ExtraBenchmarkDotNetArguments" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name 'SetupArguments' -Value "$SetupArguments" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name 'PerfLabArguments' -Value "$PerfLabArguments" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name 'BDNCategories' -Value "$RunCategories" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name 'TargetCsproj' -Value "$Csproj" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name 'Kind' -Value "$Kind" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name 'Architecture' -Value "$Architecture" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name 'UseCoreRun' -Value "$UseCoreRun" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name 'UseBaselineCoreRun' -Value "$UseBaselineCoreRun" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name 'RunFromPerfRepo' -Value "$RunFromPerformanceRepo" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name 'Compare' -Value "$Compare" -IsMultiJobVariable $false
-
-# Helix Arguments
-Write-PipelineSetVariable -Name 'Creator' -Value "$Creator" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name 'Queue' -Value "$Queue" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name 'HelixSourcePrefix' -Value "$HelixSourcePrefix" -IsMultiJobVariable $false
-Write-PipelineSetVariable -Name '_BuildConfig' -Value "$Architecture.$Kind.$Framework" -IsMultiJobVariable $false
-
-exit 0
\ No newline at end of file
diff --git a/eng/common/performance/performance-setup.sh b/eng/common/performance/performance-setup.sh
deleted file mode 100755
index 2f2092166e..0000000000
--- a/eng/common/performance/performance-setup.sh
+++ /dev/null
@@ -1,216 +0,0 @@
-#!/usr/bin/env bash
-
-source_directory=$BUILD_SOURCESDIRECTORY
-core_root_directory=
-baseline_core_root_directory=
-architecture=x64
-framework=netcoreapp5.0
-compilation_mode=tiered
-repository=$BUILD_REPOSITORY_NAME
-branch=$BUILD_SOURCEBRANCH
-commit_sha=$BUILD_SOURCEVERSION
-build_number=$BUILD_BUILDNUMBER
-internal=false
-compare=false
-kind="micro"
-run_categories="coreclr corefx"
-csproj="src\benchmarks\micro\MicroBenchmarks.csproj"
-configurations=
-run_from_perf_repo=false
-use_core_run=true
-use_baseline_core_run=true
-
-while (($# > 0)); do
- lowerI="$(echo $1 | awk '{print tolower($0)}')"
- case $lowerI in
- --sourcedirectory)
- source_directory=$2
- shift 2
- ;;
- --corerootdirectory)
- core_root_directory=$2
- shift 2
- ;;
- --baselinecorerootdirectory)
- baseline_core_root_directory=$2
- shift 2
- ;;
- --architecture)
- architecture=$2
- shift 2
- ;;
- --framework)
- framework=$2
- shift 2
- ;;
- --compilationmode)
- compilation_mode=$2
- shift 2
- ;;
- --repository)
- repository=$2
- shift 2
- ;;
- --branch)
- branch=$2
- shift 2
- ;;
- --commitsha)
- commit_sha=$2
- shift 2
- ;;
- --buildnumber)
- build_number=$2
- shift 2
- ;;
- --kind)
- kind=$2
- shift 2
- ;;
- --runcategories)
- run_categories=$2
- shift 2
- ;;
- --csproj)
- csproj=$2
- shift 2
- ;;
- --internal)
- internal=true
- shift 1
- ;;
- --compare)
- compare=true
- shift 1
- ;;
- --configurations)
- configurations=$2
- shift 2
- ;;
- --help)
- echo "Common settings:"
- echo " --corerootdirectory Directory where Core_Root exists, if running perf testing with --corerun"
- echo " --architecture Architecture of the testing being run"
- echo " --configurations List of key=value pairs that will be passed to perf testing infrastructure."
- echo " ex: --configurations \"CompilationMode=Tiered OptimzationLevel=PGO\""
- echo " --help Print help and exit"
- echo ""
- echo "Advanced settings:"
- echo " --framework The framework to run, if not running in master"
- echo " --compliationmode The compilation mode if not passing --configurations"
- echo " --sourcedirectory The directory of the sources. Defaults to env:BUILD_SOURCESDIRECTORY"
- echo " --repository The name of the repository in the / format. Defaults to env:BUILD_REPOSITORY_NAME"
- echo " --branch The name of the branch. Defaults to env:BUILD_SOURCEBRANCH"
- echo " --commitsha The commit sha1 to run against. Defaults to env:BUILD_SOURCEVERSION"
- echo " --buildnumber The build number currently running. Defaults to env:BUILD_BUILDNUMBER"
- echo " --csproj The relative path to the benchmark csproj whose tests should be run. Defaults to src\benchmarks\micro\MicroBenchmarks.csproj"
- echo " --kind Related to csproj. The kind of benchmarks that should be run. Defaults to micro"
- echo " --runcategories Related to csproj. Categories of benchmarks to run. Defaults to \"coreclr corefx\""
- echo " --internal If the benchmarks are running as an official job."
- echo ""
- exit 0
- ;;
- esac
-done
-
-if [ "$repository" == "dotnet/performance" ] || [ "$repository" == "dotnet-performance" ]; then
- run_from_perf_repo=true
-fi
-
-if [ -z "$configurations" ]; then
- configurations="CompliationMode=$compilation_mode"
-fi
-
-if [ -z "$core_root_directory" ]; then
- use_core_run=false
-fi
-
-if [ -z "$baseline_core_root_directory" ]; then
- use_baseline_core_run=false
-fi
-
-payload_directory=$source_directory/Payload
-performance_directory=$payload_directory/performance
-workitem_directory=$source_directory/workitem
-extra_benchmark_dotnet_arguments="--iterationCount 1 --warmupCount 0 --invocationCount 1 --unrollFactor 1 --strategy ColdStart --stopOnFirstError true"
-perflab_arguments=
-queue=Ubuntu.1804.Amd64.Open
-creator=$BUILD_DEFINITIONNAME
-helix_source_prefix="pr"
-
-if [[ "$compare" == true ]]; then
- extra_benchmark_dotnet_arguments=
- perflab_arguments=
-
- # No open queues for arm64
- if [[ "$architecture" = "arm64" ]]; then
- echo "Compare not available for arm64"
- exit 1
- fi
-
- queue=Ubuntu.1804.Amd64.Tiger.Perf.Open
-fi
-
-if [[ "$internal" == true ]]; then
- perflab_arguments="--upload-to-perflab-container"
- helix_source_prefix="official"
- creator=
- extra_benchmark_dotnet_arguments=
-
- if [[ "$architecture" = "arm64" ]]; then
- queue=Ubuntu.1804.Arm64.Perf
- else
- queue=Ubuntu.1804.Amd64.Tiger.Perf
- fi
-fi
-
-common_setup_arguments="--frameworks $framework --queue $queue --build-number $build_number --build-configs $configurations"
-setup_arguments="--repository https://github.com/$repository --branch $branch --get-perf-hash --commit-sha $commit_sha $common_setup_arguments"
-
-if [[ "$run_from_perf_repo" = true ]]; then
- payload_directory=
- workitem_directory=$source_directory
- performance_directory=$workitem_directory
- setup_arguments="--perf-hash $commit_sha $common_setup_arguments"
-else
- git clone --branch master --depth 1 --quiet https://github.com/dotnet/performance $performance_directory
-
- docs_directory=$performance_directory/docs
- mv $docs_directory $workitem_directory
-fi
-
-if [[ "$use_core_run" = true ]]; then
- new_core_root=$payload_directory/Core_Root
- mv $core_root_directory $new_core_root
-fi
-
-if [[ "$use_baseline_core_run" = true ]]; then
- new_baseline_core_root=$payload_directory/Baseline_Core_Root
- mv $baseline_core_root_directory $new_baseline_core_root
-fi
-
-ci=true
-
-_script_dir=$(pwd)/eng/common
-. "$_script_dir/pipeline-logging-functions.sh"
-
-# Make sure all of our variables are available for future steps
-Write-PipelineSetVariable -name "UseCoreRun" -value "$use_core_run" -is_multi_job_variable false
-Write-PipelineSetVariable -name "UseBaselineCoreRun" -value "$use_baseline_core_run" -is_multi_job_variable false
-Write-PipelineSetVariable -name "Architecture" -value "$architecture" -is_multi_job_variable false
-Write-PipelineSetVariable -name "PayloadDirectory" -value "$payload_directory" -is_multi_job_variable false
-Write-PipelineSetVariable -name "PerformanceDirectory" -value "$performance_directory" -is_multi_job_variable false
-Write-PipelineSetVariable -name "WorkItemDirectory" -value "$workitem_directory" -is_multi_job_variable false
-Write-PipelineSetVariable -name "Queue" -value "$queue" -is_multi_job_variable false
-Write-PipelineSetVariable -name "SetupArguments" -value "$setup_arguments" -is_multi_job_variable false
-Write-PipelineSetVariable -name "Python" -value "$python3" -is_multi_job_variable false
-Write-PipelineSetVariable -name "PerfLabArguments" -value "$perflab_arguments" -is_multi_job_variable false
-Write-PipelineSetVariable -name "ExtraBenchmarkDotNetArguments" -value "$extra_benchmark_dotnet_arguments" -is_multi_job_variable false
-Write-PipelineSetVariable -name "BDNCategories" -value "$run_categories" -is_multi_job_variable false
-Write-PipelineSetVariable -name "TargetCsproj" -value "$csproj" -is_multi_job_variable false
-Write-PipelineSetVariable -name "RunFromPerfRepo" -value "$run_from_perf_repo" -is_multi_job_variable false
-Write-PipelineSetVariable -name "Creator" -value "$creator" -is_multi_job_variable false
-Write-PipelineSetVariable -name "HelixSourcePrefix" -value "$helix_source_prefix" -is_multi_job_variable false
-Write-PipelineSetVariable -name "Kind" -value "$kind" -is_multi_job_variable false
-Write-PipelineSetVariable -name "_BuildConfig" -value "$architecture.$kind.$framework" -is_multi_job_variable false
-Write-PipelineSetVariable -name "Compare" -value "$compare" -is_multi_job_variable false
diff --git a/eng/common/pipeline-logging-functions.ps1 b/eng/common/pipeline-logging-functions.ps1
deleted file mode 100644
index 2688c389bd..0000000000
--- a/eng/common/pipeline-logging-functions.ps1
+++ /dev/null
@@ -1,240 +0,0 @@
-# Source for this file was taken from https://github.com/microsoft/azure-pipelines-task-lib/blob/11c9439d4af17e6475d9fe058e6b2e03914d17e6/powershell/VstsTaskSdk/LoggingCommandFunctions.ps1 and modified.
-
-# NOTE: You should not be calling these method directly as they are likely to change. Instead you should be calling the Write-Pipeline* functions defined in tools.ps1
-
-$script:loggingCommandPrefix = '##vso['
-$script:loggingCommandEscapeMappings = @( # TODO: WHAT ABOUT "="? WHAT ABOUT "%"?
- New-Object psobject -Property @{ Token = ';' ; Replacement = '%3B' }
- New-Object psobject -Property @{ Token = "`r" ; Replacement = '%0D' }
- New-Object psobject -Property @{ Token = "`n" ; Replacement = '%0A' }
- New-Object psobject -Property @{ Token = "]" ; Replacement = '%5D' }
-)
-# TODO: BUG: Escape % ???
-# TODO: Add test to verify don't need to escape "=".
-
-# Specify "-Force" to force pipeline formatted output even if "$ci" is false or not set
-function Write-PipelineTelemetryError {
- [CmdletBinding()]
- param(
- [Parameter(Mandatory = $true)]
- [string]$Category,
- [Parameter(Mandatory = $true)]
- [string]$Message,
- [Parameter(Mandatory = $false)]
- [string]$Type = 'error',
- [string]$ErrCode,
- [string]$SourcePath,
- [string]$LineNumber,
- [string]$ColumnNumber,
- [switch]$AsOutput,
- [switch]$Force)
-
- $PSBoundParameters.Remove('Category') | Out-Null
-
- $Message = "(NETCORE_ENGINEERING_TELEMETRY=$Category) $Message"
- $PSBoundParameters.Remove('Message') | Out-Null
- $PSBoundParameters.Add('Message', $Message)
- Write-PipelineTaskError @PSBoundParameters
-}
-
-# Specify "-Force" to force pipeline formatted output even if "$ci" is false or not set
-function Write-PipelineTaskError {
- [CmdletBinding()]
- param(
- [Parameter(Mandatory = $true)]
- [string]$Message,
- [Parameter(Mandatory = $false)]
- [string]$Type = 'error',
- [string]$ErrCode,
- [string]$SourcePath,
- [string]$LineNumber,
- [string]$ColumnNumber,
- [switch]$AsOutput,
- [switch]$Force
- )
-
- if(!$Force -And (-Not (Test-Path variable:ci) -Or !$ci)) {
- if($Type -eq 'error') {
- Write-Host $Message -ForegroundColor Red
- return
- }
- elseif ($Type -eq 'warning') {
- Write-Host $Message -ForegroundColor Yellow
- return
- }
- }
-
- if(($Type -ne 'error') -and ($Type -ne 'warning')) {
- Write-Host $Message
- return
- }
- $PSBoundParameters.Remove('Force') | Out-Null
- if(-not $PSBoundParameters.ContainsKey('Type')) {
- $PSBoundParameters.Add('Type', 'error')
- }
- Write-LogIssue @PSBoundParameters
- }
-
- function Write-PipelineSetVariable {
- [CmdletBinding()]
- param(
- [Parameter(Mandatory = $true)]
- [string]$Name,
- [string]$Value,
- [switch]$Secret,
- [switch]$AsOutput,
- [bool]$IsMultiJobVariable=$true)
-
- if((Test-Path variable:ci) -And $ci) {
- Write-LoggingCommand -Area 'task' -Event 'setvariable' -Data $Value -Properties @{
- 'variable' = $Name
- 'isSecret' = $Secret
- 'isOutput' = $IsMultiJobVariable
- } -AsOutput:$AsOutput
- }
- }
-
- function Write-PipelinePrependPath {
- [CmdletBinding()]
- param(
- [Parameter(Mandatory=$true)]
- [string]$Path,
- [switch]$AsOutput)
-
- if(-Not (Test-Path variable:ci) -Or !$ci) {
- Write-LoggingCommand -Area 'task' -Event 'prependpath' -Data $Path -AsOutput:$AsOutput
- }
- }
-
-<########################################
-# Private functions.
-########################################>
-function Format-LoggingCommandData {
- [CmdletBinding()]
- param([string]$Value, [switch]$Reverse)
-
- if (!$Value) {
- return ''
- }
-
- if (!$Reverse) {
- foreach ($mapping in $script:loggingCommandEscapeMappings) {
- $Value = $Value.Replace($mapping.Token, $mapping.Replacement)
- }
- } else {
- for ($i = $script:loggingCommandEscapeMappings.Length - 1 ; $i -ge 0 ; $i--) {
- $mapping = $script:loggingCommandEscapeMappings[$i]
- $Value = $Value.Replace($mapping.Replacement, $mapping.Token)
- }
- }
-
- return $Value
-}
-
-function Format-LoggingCommand {
- [CmdletBinding()]
- param(
- [Parameter(Mandatory = $true)]
- [string]$Area,
- [Parameter(Mandatory = $true)]
- [string]$Event,
- [string]$Data,
- [hashtable]$Properties)
-
- # Append the preamble.
- [System.Text.StringBuilder]$sb = New-Object -TypeName System.Text.StringBuilder
- $null = $sb.Append($script:loggingCommandPrefix).Append($Area).Append('.').Append($Event)
-
- # Append the properties.
- if ($Properties) {
- $first = $true
- foreach ($key in $Properties.Keys) {
- [string]$value = Format-LoggingCommandData $Properties[$key]
- if ($value) {
- if ($first) {
- $null = $sb.Append(' ')
- $first = $false
- } else {
- $null = $sb.Append(';')
- }
-
- $null = $sb.Append("$key=$value")
- }
- }
- }
-
- # Append the tail and output the value.
- $Data = Format-LoggingCommandData $Data
- $sb.Append(']').Append($Data).ToString()
-}
-
-function Write-LoggingCommand {
- [CmdletBinding(DefaultParameterSetName = 'Parameters')]
- param(
- [Parameter(Mandatory = $true, ParameterSetName = 'Parameters')]
- [string]$Area,
- [Parameter(Mandatory = $true, ParameterSetName = 'Parameters')]
- [string]$Event,
- [Parameter(ParameterSetName = 'Parameters')]
- [string]$Data,
- [Parameter(ParameterSetName = 'Parameters')]
- [hashtable]$Properties,
- [Parameter(Mandatory = $true, ParameterSetName = 'Object')]
- $Command,
- [switch]$AsOutput)
-
- if ($PSCmdlet.ParameterSetName -eq 'Object') {
- Write-LoggingCommand -Area $Command.Area -Event $Command.Event -Data $Command.Data -Properties $Command.Properties -AsOutput:$AsOutput
- return
- }
-
- $command = Format-LoggingCommand -Area $Area -Event $Event -Data $Data -Properties $Properties
- if ($AsOutput) {
- $command
- } else {
- Write-Host $command
- }
-}
-
-function Write-LogIssue {
- [CmdletBinding()]
- param(
- [ValidateSet('warning', 'error')]
- [Parameter(Mandatory = $true)]
- [string]$Type,
- [string]$Message,
- [string]$ErrCode,
- [string]$SourcePath,
- [string]$LineNumber,
- [string]$ColumnNumber,
- [switch]$AsOutput)
-
- $command = Format-LoggingCommand -Area 'task' -Event 'logissue' -Data $Message -Properties @{
- 'type' = $Type
- 'code' = $ErrCode
- 'sourcepath' = $SourcePath
- 'linenumber' = $LineNumber
- 'columnnumber' = $ColumnNumber
- }
- if ($AsOutput) {
- return $command
- }
-
- if ($Type -eq 'error') {
- $foregroundColor = $host.PrivateData.ErrorForegroundColor
- $backgroundColor = $host.PrivateData.ErrorBackgroundColor
- if ($foregroundColor -isnot [System.ConsoleColor] -or $backgroundColor -isnot [System.ConsoleColor]) {
- $foregroundColor = [System.ConsoleColor]::Red
- $backgroundColor = [System.ConsoleColor]::Black
- }
- } else {
- $foregroundColor = $host.PrivateData.WarningForegroundColor
- $backgroundColor = $host.PrivateData.WarningBackgroundColor
- if ($foregroundColor -isnot [System.ConsoleColor] -or $backgroundColor -isnot [System.ConsoleColor]) {
- $foregroundColor = [System.ConsoleColor]::Yellow
- $backgroundColor = [System.ConsoleColor]::Black
- }
- }
-
- Write-Host $command -ForegroundColor $foregroundColor -BackgroundColor $backgroundColor
-}
\ No newline at end of file
diff --git a/eng/common/pipeline-logging-functions.sh b/eng/common/pipeline-logging-functions.sh
deleted file mode 100755
index 33c3f0d807..0000000000
--- a/eng/common/pipeline-logging-functions.sh
+++ /dev/null
@@ -1,179 +0,0 @@
-#!/usr/bin/env bash
-
-function Write-PipelineTelemetryError {
- local telemetry_category=''
- local force=false
- local function_args=()
- local message=''
- while [[ $# -gt 0 ]]; do
- opt="$(echo "${1/#--/-}" | awk '{print tolower($0)}')"
- case "$opt" in
- -category|-c)
- telemetry_category=$2
- shift
- ;;
- -force|-f)
- force=true
- ;;
- -*)
- function_args+=("$1 $2")
- shift
- ;;
- *)
- message=$*
- ;;
- esac
- shift
- done
-
- if [[ $force != true ]] && [[ "$ci" != true ]]; then
- echo "$message" >&2
- return
- fi
-
- message="(NETCORE_ENGINEERING_TELEMETRY=$telemetry_category) $message"
- function_args+=("$message")
- if [[ $force == true ]]; then
- function_args+=("-force")
- fi
-
- Write-PipelineTaskError $function_args
-}
-
-function Write-PipelineTaskError {
- if [[ $force != true ]] && [[ "$ci" != true ]]; then
- echo "$@" >&2
- return
- fi
-
- local message_type="error"
- local sourcepath=''
- local linenumber=''
- local columnnumber=''
- local error_code=''
-
- while [[ $# -gt 0 ]]; do
- opt="$(echo "${1/#--/-}" | awk '{print tolower($0)}')"
- case "$opt" in
- -type|-t)
- message_type=$2
- shift
- ;;
- -sourcepath|-s)
- sourcepath=$2
- shift
- ;;
- -linenumber|-ln)
- linenumber=$2
- shift
- ;;
- -columnnumber|-cn)
- columnnumber=$2
- shift
- ;;
- -errcode|-e)
- error_code=$2
- shift
- ;;
- *)
- break
- ;;
- esac
-
- shift
- done
-
- local message="##vso[task.logissue"
-
- message="$message type=$message_type"
-
- if [ -n "$sourcepath" ]; then
- message="$message;sourcepath=$sourcepath"
- fi
-
- if [ -n "$linenumber" ]; then
- message="$message;linenumber=$linenumber"
- fi
-
- if [ -n "$columnnumber" ]; then
- message="$message;columnnumber=$columnnumber"
- fi
-
- if [ -n "$error_code" ]; then
- message="$message;code=$error_code"
- fi
-
- message="$message]$*"
- echo "$message"
-}
-
-function Write-PipelineSetVariable {
- if [[ "$ci" != true ]]; then
- return
- fi
-
- local name=''
- local value=''
- local secret=false
- local as_output=false
- local is_multi_job_variable=true
-
- while [[ $# -gt 0 ]]; do
- opt="$(echo "${1/#--/-}" | awk '{print tolower($0)}')"
- case "$opt" in
- -name|-n)
- name=$2
- shift
- ;;
- -value|-v)
- value=$2
- shift
- ;;
- -secret|-s)
- secret=true
- ;;
- -as_output|-a)
- as_output=true
- ;;
- -is_multi_job_variable|-i)
- is_multi_job_variable=$2
- shift
- ;;
- esac
- shift
- done
-
- value=${value/;/%3B}
- value=${value/\\r/%0D}
- value=${value/\\n/%0A}
- value=${value/]/%5D}
-
- local message="##vso[task.setvariable variable=$name;isSecret=$secret;isOutput=$is_multi_job_variable]$value"
-
- if [[ "$as_output" == true ]]; then
- $message
- else
- echo "$message"
- fi
-}
-
-function Write-PipelinePrependPath {
- local prepend_path=''
-
- while [[ $# -gt 0 ]]; do
- opt="$(echo "${1/#--/-}" | awk '{print tolower($0)}')"
- case "$opt" in
- -path|-p)
- prepend_path=$2
- shift
- ;;
- esac
- shift
- done
-
- export PATH="$prepend_path:$PATH"
-
- if [[ "$ci" == true ]]; then
- echo "##vso[task.prependpath]$prepend_path"
- fi
-}
\ No newline at end of file
diff --git a/eng/common/post-build/darc-gather-drop.ps1 b/eng/common/post-build/darc-gather-drop.ps1
deleted file mode 100644
index 81ff2a4377..0000000000
--- a/eng/common/post-build/darc-gather-drop.ps1
+++ /dev/null
@@ -1,44 +0,0 @@
-param(
- [Parameter(Mandatory=$true)][int] $BarBuildId, # ID of the build which assets should be downloaded
- [Parameter(Mandatory=$true)][string] $DropLocation, # Where the assets should be downloaded to
- [Parameter(Mandatory=$true)][string] $MaestroApiAccessToken, # Token used to access Maestro API
- [Parameter(Mandatory=$false)][string] $MaestroApiEndPoint = 'https://maestro-prod.westus2.cloudapp.azure.com', # Maestro API URL
- [Parameter(Mandatory=$false)][string] $MaestroApiVersion = '2019-01-16' # Version of Maestro API to use
-)
-
-try {
- . $PSScriptRoot\post-build-utils.ps1
-
- Write-Host 'Installing DARC ...'
-
- . $PSScriptRoot\..\darc-init.ps1
- $exitCode = $LASTEXITCODE
-
- if ($exitCode -ne 0) {
- Write-PipelineTelemetryError -Category "Darc" -Message "Something failed while running 'darc-init.ps1'. Check for errors above. Exiting now..."
- ExitWithExitCode $exitCode
- }
-
- # For now, only use a dry run.
- # Ideally we would change darc to enable a quick request that
- # would check whether the file exists that you can download it,
- # and that it won't conflict with other files.
- # https://github.com/dotnet/arcade/issues/3674
- # Right now we can't remove continue-on-error because we ocassionally will have
- # dependencies that have no associated builds (e.g. an old dependency).
- # We need to add an option to baseline specific dependencies away, or add them manually
- # to the BAR.
- darc gather-drop --non-shipping `
- --dry-run `
- --continue-on-error `
- --id $BarBuildId `
- --output-dir $DropLocation `
- --bar-uri $MaestroApiEndpoint `
- --password $MaestroApiAccessToken `
- --latest-location
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category "Darc" -Message $_
- ExitWithExitCode 1
-}
diff --git a/eng/common/post-build/nuget-validation.ps1 b/eng/common/post-build/nuget-validation.ps1
deleted file mode 100644
index 3d6129d72b..0000000000
--- a/eng/common/post-build/nuget-validation.ps1
+++ /dev/null
@@ -1,24 +0,0 @@
-# This script validates NuGet package metadata information using this
-# tool: https://github.com/NuGet/NuGetGallery/tree/jver-verify/src/VerifyMicrosoftPackage
-
-param(
- [Parameter(Mandatory=$true)][string] $PackagesPath, # Path to where the packages to be validated are
- [Parameter(Mandatory=$true)][string] $ToolDestinationPath # Where the validation tool should be downloaded to
-)
-
-try {
- . $PSScriptRoot\post-build-utils.ps1
-
- $url = 'https://raw.githubusercontent.com/NuGet/NuGetGallery/jver-verify/src/VerifyMicrosoftPackage/verify.ps1'
-
- New-Item -ItemType 'directory' -Path ${ToolDestinationPath} -Force
-
- Invoke-WebRequest $url -OutFile ${ToolDestinationPath}\verify.ps1
-
- & ${ToolDestinationPath}\verify.ps1 ${PackagesPath}\*.nupkg
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'NuGetValidation' -Message $_
- ExitWithExitCode 1
-}
diff --git a/eng/common/post-build/post-build-utils.ps1 b/eng/common/post-build/post-build-utils.ps1
deleted file mode 100644
index 7d49744795..0000000000
--- a/eng/common/post-build/post-build-utils.ps1
+++ /dev/null
@@ -1,91 +0,0 @@
-# Most of the functions in this file require the variables `MaestroApiEndPoint`,
-# `MaestroApiVersion` and `MaestroApiAccessToken` to be globally available.
-
-$ErrorActionPreference = 'Stop'
-Set-StrictMode -Version 2.0
-
-# `tools.ps1` checks $ci to perform some actions. Since the post-build
-# scripts don't necessarily execute in the same agent that run the
-# build.ps1/sh script this variable isn't automatically set.
-$ci = $true
-$disableConfigureToolsetImport = $true
-. $PSScriptRoot\..\tools.ps1
-
-function Create-MaestroApiRequestHeaders([string]$ContentType = 'application/json') {
- Validate-MaestroVars
-
- $headers = New-Object 'System.Collections.Generic.Dictionary[[String],[String]]'
- $headers.Add('Accept', $ContentType)
- $headers.Add('Authorization',"Bearer $MaestroApiAccessToken")
- return $headers
-}
-
-function Get-MaestroChannel([int]$ChannelId) {
- Validate-MaestroVars
-
- $apiHeaders = Create-MaestroApiRequestHeaders
- $apiEndpoint = "$MaestroApiEndPoint/api/channels/${ChannelId}?api-version=$MaestroApiVersion"
-
- $result = try { Invoke-WebRequest -Method Get -Uri $apiEndpoint -Headers $apiHeaders | ConvertFrom-Json } catch { Write-Host "Error: $_" }
- return $result
-}
-
-function Get-MaestroBuild([int]$BuildId) {
- Validate-MaestroVars
-
- $apiHeaders = Create-MaestroApiRequestHeaders -AuthToken $MaestroApiAccessToken
- $apiEndpoint = "$MaestroApiEndPoint/api/builds/${BuildId}?api-version=$MaestroApiVersion"
-
- $result = try { return Invoke-WebRequest -Method Get -Uri $apiEndpoint -Headers $apiHeaders | ConvertFrom-Json } catch { Write-Host "Error: $_" }
- return $result
-}
-
-function Get-MaestroSubscriptions([string]$SourceRepository, [int]$ChannelId) {
- Validate-MaestroVars
-
- $SourceRepository = [System.Web.HttpUtility]::UrlEncode($SourceRepository)
- $apiHeaders = Create-MaestroApiRequestHeaders -AuthToken $MaestroApiAccessToken
- $apiEndpoint = "$MaestroApiEndPoint/api/subscriptions?sourceRepository=$SourceRepository&channelId=$ChannelId&api-version=$MaestroApiVersion"
-
- $result = try { Invoke-WebRequest -Method Get -Uri $apiEndpoint -Headers $apiHeaders | ConvertFrom-Json } catch { Write-Host "Error: $_" }
- return $result
-}
-
-function Assign-BuildToChannel([int]$BuildId, [int]$ChannelId) {
- Validate-MaestroVars
-
- $apiHeaders = Create-MaestroApiRequestHeaders -AuthToken $MaestroApiAccessToken
- $apiEndpoint = "$MaestroApiEndPoint/api/channels/${ChannelId}/builds/${BuildId}?api-version=$MaestroApiVersion"
- Invoke-WebRequest -Method Post -Uri $apiEndpoint -Headers $apiHeaders | Out-Null
-}
-
-function Trigger-Subscription([string]$SubscriptionId) {
- Validate-MaestroVars
-
- $apiHeaders = Create-MaestroApiRequestHeaders -AuthToken $MaestroApiAccessToken
- $apiEndpoint = "$MaestroApiEndPoint/api/subscriptions/$SubscriptionId/trigger?api-version=$MaestroApiVersion"
- Invoke-WebRequest -Uri $apiEndpoint -Headers $apiHeaders -Method Post | Out-Null
-}
-
-function Validate-MaestroVars {
- try {
- Get-Variable MaestroApiEndPoint -Scope Global | Out-Null
- Get-Variable MaestroApiVersion -Scope Global | Out-Null
- Get-Variable MaestroApiAccessToken -Scope Global | Out-Null
-
- if (!($MaestroApiEndPoint -Match '^http[s]?://maestro-(int|prod).westus2.cloudapp.azure.com$')) {
- Write-PipelineTelemetryError -Category 'MaestroVars' -Message "MaestroApiEndPoint is not a valid Maestro URL. '$MaestroApiEndPoint'"
- ExitWithExitCode 1
- }
-
- if (!($MaestroApiVersion -Match '^[0-9]{4}-[0-9]{2}-[0-9]{2}$')) {
- Write-PipelineTelemetryError -Category 'MaestroVars' -Message "MaestroApiVersion does not match a version string in the format yyyy-MM-DD. '$MaestroApiVersion'"
- ExitWithExitCode 1
- }
- }
- catch {
- Write-PipelineTelemetryError -Category 'MaestroVars' -Message 'Error: Variables `MaestroApiEndPoint`, `MaestroApiVersion` and `MaestroApiAccessToken` are required while using this script.'
- Write-Host $_
- ExitWithExitCode 1
- }
-}
diff --git a/eng/common/post-build/promote-build.ps1 b/eng/common/post-build/promote-build.ps1
deleted file mode 100644
index ce45635fbd..0000000000
--- a/eng/common/post-build/promote-build.ps1
+++ /dev/null
@@ -1,48 +0,0 @@
-param(
- [Parameter(Mandatory=$true)][int] $BuildId,
- [Parameter(Mandatory=$true)][int] $ChannelId,
- [Parameter(Mandatory=$true)][string] $MaestroApiAccessToken,
- [Parameter(Mandatory=$false)][string] $MaestroApiEndPoint = 'https://maestro-prod.westus2.cloudapp.azure.com',
- [Parameter(Mandatory=$false)][string] $MaestroApiVersion = '2019-01-16'
-)
-
-try {
- . $PSScriptRoot\post-build-utils.ps1
-
- # Check that the channel we are going to promote the build to exist
- $channelInfo = Get-MaestroChannel -ChannelId $ChannelId
-
- if (!$channelInfo) {
- Write-PipelineTelemetryCategory -Category 'PromoteBuild' -Message "Channel with BAR ID $ChannelId was not found in BAR!"
- ExitWithExitCode 1
- }
-
- # Get info about which channels the build has already been promoted to
- $buildInfo = Get-MaestroBuild -BuildId $BuildId
-
- if (!$buildInfo) {
- Write-PipelineTelemetryError -Category 'PromoteBuild' -Message "Build with BAR ID $BuildId was not found in BAR!"
- ExitWithExitCode 1
- }
-
- # Find whether the build is already assigned to the channel or not
- if ($buildInfo.channels) {
- foreach ($channel in $buildInfo.channels) {
- if ($channel.Id -eq $ChannelId) {
- Write-Host "The build with BAR ID $BuildId is already on channel $ChannelId!"
- ExitWithExitCode 0
- }
- }
- }
-
- Write-Host "Promoting build '$BuildId' to channel '$ChannelId'."
-
- Assign-BuildToChannel -BuildId $BuildId -ChannelId $ChannelId
-
- Write-Host 'done.'
-}
-catch {
- Write-Host $_
- Write-PipelineTelemetryError -Category 'PromoteBuild' -Message "There was an error while trying to promote build '$BuildId' to channel '$ChannelId'"
- ExitWithExitCode 1
-}
diff --git a/eng/common/post-build/sourcelink-validation.ps1 b/eng/common/post-build/sourcelink-validation.ps1
deleted file mode 100644
index cc9d059d04..0000000000
--- a/eng/common/post-build/sourcelink-validation.ps1
+++ /dev/null
@@ -1,257 +0,0 @@
-param(
- [Parameter(Mandatory=$true)][string] $InputPath, # Full path to directory where Symbols.NuGet packages to be checked are stored
- [Parameter(Mandatory=$true)][string] $ExtractPath, # Full path to directory where the packages will be extracted during validation
- [Parameter(Mandatory=$false)][string] $GHRepoName, # GitHub name of the repo including the Org. E.g., dotnet/arcade
- [Parameter(Mandatory=$false)][string] $GHCommit, # GitHub commit SHA used to build the packages
- [Parameter(Mandatory=$true)][string] $SourcelinkCliVersion # Version of SourceLink CLI to use
-)
-
-. $PSScriptRoot\post-build-utils.ps1
-
-# Cache/HashMap (File -> Exist flag) used to consult whether a file exist
-# in the repository at a specific commit point. This is populated by inserting
-# all files present in the repo at a specific commit point.
-$global:RepoFiles = @{}
-
-# Maximum number of jobs to run in parallel
-$MaxParallelJobs = 6
-
-# Wait time between check for system load
-$SecondsBetweenLoadChecks = 10
-
-$ValidatePackage = {
- param(
- [string] $PackagePath # Full path to a Symbols.NuGet package
- )
-
- . $using:PSScriptRoot\..\tools.ps1
-
- # Ensure input file exist
- if (!(Test-Path $PackagePath)) {
- Write-Host "Input file does not exist: $PackagePath"
- return 1
- }
-
- # Extensions for which we'll look for SourceLink information
- # For now we'll only care about Portable & Embedded PDBs
- $RelevantExtensions = @('.dll', '.exe', '.pdb')
-
- Write-Host -NoNewLine 'Validating ' ([System.IO.Path]::GetFileName($PackagePath)) '...'
-
- $PackageId = [System.IO.Path]::GetFileNameWithoutExtension($PackagePath)
- $ExtractPath = Join-Path -Path $using:ExtractPath -ChildPath $PackageId
- $FailedFiles = 0
-
- Add-Type -AssemblyName System.IO.Compression.FileSystem
-
- [System.IO.Directory]::CreateDirectory($ExtractPath) | Out-Null
-
- try {
- $zip = [System.IO.Compression.ZipFile]::OpenRead($PackagePath)
-
- $zip.Entries |
- Where-Object {$RelevantExtensions -contains [System.IO.Path]::GetExtension($_.Name)} |
- ForEach-Object {
- $FileName = $_.FullName
- $Extension = [System.IO.Path]::GetExtension($_.Name)
- $FakeName = -Join((New-Guid), $Extension)
- $TargetFile = Join-Path -Path $ExtractPath -ChildPath $FakeName
-
- # We ignore resource DLLs
- if ($FileName.EndsWith('.resources.dll')) {
- return
- }
-
- [System.IO.Compression.ZipFileExtensions]::ExtractToFile($_, $TargetFile, $true)
-
- $ValidateFile = {
- param(
- [string] $FullPath, # Full path to the module that has to be checked
- [string] $RealPath,
- [ref] $FailedFiles
- )
-
- $sourcelinkExe = "$env:USERPROFILE\.dotnet\tools"
- $sourcelinkExe = Resolve-Path "$sourcelinkExe\sourcelink.exe"
- $SourceLinkInfos = & $sourcelinkExe print-urls $FullPath | Out-String
-
- if ($LASTEXITCODE -eq 0 -and -not ([string]::IsNullOrEmpty($SourceLinkInfos))) {
- $NumFailedLinks = 0
-
- # We only care about Http addresses
- $Matches = (Select-String '(http[s]?)(:\/\/)([^\s,]+)' -Input $SourceLinkInfos -AllMatches).Matches
-
- if ($Matches.Count -ne 0) {
- $Matches.Value |
- ForEach-Object {
- $Link = $_
- $CommitUrl = "https://raw.githubusercontent.com/${using:GHRepoName}/${using:GHCommit}/"
-
- $FilePath = $Link.Replace($CommitUrl, "")
- $Status = 200
- $Cache = $using:RepoFiles
-
- if ( !($Cache.ContainsKey($FilePath)) ) {
- try {
- $Uri = $Link -as [System.URI]
-
- # Only GitHub links are valid
- if ($Uri.AbsoluteURI -ne $null -and ($Uri.Host -match 'github' -or $Uri.Host -match 'githubusercontent')) {
- $Status = (Invoke-WebRequest -Uri $Link -UseBasicParsing -Method HEAD -TimeoutSec 5).StatusCode
- }
- else {
- $Status = 0
- }
- }
- catch {
- write-host $_
- $Status = 0
- }
- }
-
- if ($Status -ne 200) {
- if ($NumFailedLinks -eq 0) {
- if ($FailedFiles.Value -eq 0) {
- Write-Host
- }
-
- Write-Host "`tFile $RealPath has broken links:"
- }
-
- Write-Host "`t`tFailed to retrieve $Link"
-
- $NumFailedLinks++
- }
- }
- }
-
- if ($NumFailedLinks -ne 0) {
- $FailedFiles.value++
- $global:LASTEXITCODE = 1
- }
- }
- }
-
- &$ValidateFile $TargetFile $FileName ([ref]$FailedFiles)
- }
- }
- catch {
-
- }
- finally {
- $zip.Dispose()
- }
-
- if ($FailedFiles -eq 0) {
- Write-Host 'Passed.'
- return 0
- }
- else {
- Write-PipelineTelemetryError -Category 'SourceLink' -Message "$PackagePath has broken SourceLink links."
- return 1
- }
-}
-
-function ValidateSourceLinkLinks {
- if ($GHRepoName -ne '' -and !($GHRepoName -Match '^[^\s\/]+/[^\s\/]+$')) {
- if (!($GHRepoName -Match '^[^\s-]+-[^\s]+$')) {
- Write-PipelineTelemetryError -Category 'SourceLink' -Message "GHRepoName should be in the format / or -. '$GHRepoName'"
- ExitWithExitCode 1
- }
- else {
- $GHRepoName = $GHRepoName -replace '^([^\s-]+)-([^\s]+)$', '$1/$2';
- }
- }
-
- if ($GHCommit -ne '' -and !($GHCommit -Match '^[0-9a-fA-F]{40}$')) {
- Write-PipelineTelemetryError -Category 'SourceLink' -Message "GHCommit should be a 40 chars hexadecimal string. '$GHCommit'"
- ExitWithExitCode 1
- }
-
- if ($GHRepoName -ne '' -and $GHCommit -ne '') {
- $RepoTreeURL = -Join('http://api.github.com/repos/', $GHRepoName, '/git/trees/', $GHCommit, '?recursive=1')
- $CodeExtensions = @('.cs', '.vb', '.fs', '.fsi', '.fsx', '.fsscript')
-
- try {
- # Retrieve the list of files in the repo at that particular commit point and store them in the RepoFiles hash
- $Data = Invoke-WebRequest $RepoTreeURL -UseBasicParsing | ConvertFrom-Json | Select-Object -ExpandProperty tree
-
- foreach ($file in $Data) {
- $Extension = [System.IO.Path]::GetExtension($file.path)
-
- if ($CodeExtensions.Contains($Extension)) {
- $RepoFiles[$file.path] = 1
- }
- }
- }
- catch {
- Write-Host "Problems downloading the list of files from the repo. Url used: $RepoTreeURL . Execution will proceed without caching."
- }
- }
- elseif ($GHRepoName -ne '' -or $GHCommit -ne '') {
- Write-Host 'For using the http caching mechanism both GHRepoName and GHCommit should be informed.'
- }
-
- if (Test-Path $ExtractPath) {
- Remove-Item $ExtractPath -Force -Recurse -ErrorAction SilentlyContinue
- }
-
- # Process each NuGet package in parallel
- Get-ChildItem "$InputPath\*.symbols.nupkg" |
- ForEach-Object {
- Start-Job -ScriptBlock $ValidatePackage -ArgumentList $_.FullName | Out-Null
- $NumJobs = @(Get-Job -State 'Running').Count
-
- while ($NumJobs -ge $MaxParallelJobs) {
- Write-Host "There are $NumJobs validation jobs running right now. Waiting $SecondsBetweenLoadChecks seconds to check again."
- sleep $SecondsBetweenLoadChecks
- $NumJobs = @(Get-Job -State 'Running').Count
- }
-
- foreach ($Job in @(Get-Job -State 'Completed')) {
- Receive-Job -Id $Job.Id
- Remove-Job -Id $Job.Id
- }
- }
-
- $ValidationFailures = 0
- foreach ($Job in @(Get-Job)) {
- $jobResult = Wait-Job -Id $Job.Id | Receive-Job
- if ($jobResult -ne '0') {
- $ValidationFailures++
- }
- }
- if ($ValidationFailures -gt 0) {
- Write-PipelineTelemetryError -Category 'SourceLink' -Message "$ValidationFailures package(s) failed validation."
- ExitWithExitCode 1
- }
-}
-
-function InstallSourcelinkCli {
- $sourcelinkCliPackageName = 'sourcelink'
-
- $dotnetRoot = InitializeDotNetCli -install:$true
- $dotnet = "$dotnetRoot\dotnet.exe"
- $toolList = & "$dotnet" tool list --global
-
- if (($toolList -like "*$sourcelinkCliPackageName*") -and ($toolList -like "*$sourcelinkCliVersion*")) {
- Write-Host "SourceLink CLI version $sourcelinkCliVersion is already installed."
- }
- else {
- Write-Host "Installing SourceLink CLI version $sourcelinkCliVersion..."
- Write-Host 'You may need to restart your command window if this is the first dotnet tool you have installed.'
- & "$dotnet" tool install $sourcelinkCliPackageName --version $sourcelinkCliVersion --verbosity "minimal" --global
- }
-}
-
-try {
- InstallSourcelinkCli
-
- ValidateSourceLinkLinks
-}
-catch {
- Write-Host $_.Exception
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'SourceLink' -Message $_
- ExitWithExitCode 1
-}
diff --git a/eng/common/post-build/symbols-validation.ps1 b/eng/common/post-build/symbols-validation.ps1
deleted file mode 100644
index 6e3e134172..0000000000
--- a/eng/common/post-build/symbols-validation.ps1
+++ /dev/null
@@ -1,187 +0,0 @@
-param(
- [Parameter(Mandatory=$true)][string] $InputPath, # Full path to directory where NuGet packages to be checked are stored
- [Parameter(Mandatory=$true)][string] $ExtractPath, # Full path to directory where the packages will be extracted during validation
- [Parameter(Mandatory=$true)][string] $DotnetSymbolVersion # Version of dotnet symbol to use
-)
-
-function FirstMatchingSymbolDescriptionOrDefault {
- param(
- [string] $FullPath, # Full path to the module that has to be checked
- [string] $TargetServerParam, # Parameter to pass to `Symbol Tool` indicating the server to lookup for symbols
- [string] $SymbolsPath
- )
-
- $FileName = [System.IO.Path]::GetFileName($FullPath)
- $Extension = [System.IO.Path]::GetExtension($FullPath)
-
- # Those below are potential symbol files that the `dotnet symbol` might
- # return. Which one will be returned depend on the type of file we are
- # checking and which type of file was uploaded.
-
- # The file itself is returned
- $SymbolPath = $SymbolsPath + '\' + $FileName
-
- # PDB file for the module
- $PdbPath = $SymbolPath.Replace($Extension, '.pdb')
-
- # PDB file for R2R module (created by crossgen)
- $NGenPdb = $SymbolPath.Replace($Extension, '.ni.pdb')
-
- # DBG file for a .so library
- $SODbg = $SymbolPath.Replace($Extension, '.so.dbg')
-
- # DWARF file for a .dylib
- $DylibDwarf = $SymbolPath.Replace($Extension, '.dylib.dwarf')
-
- $dotnetSymbolExe = "$env:USERPROFILE\.dotnet\tools"
- $dotnetSymbolExe = Resolve-Path "$dotnetSymbolExe\dotnet-symbol.exe"
-
- & $dotnetSymbolExe --symbols --modules --windows-pdbs $TargetServerParam $FullPath -o $SymbolsPath | Out-Null
-
- if (Test-Path $PdbPath) {
- return 'PDB'
- }
- elseif (Test-Path $NGenPdb) {
- return 'NGen PDB'
- }
- elseif (Test-Path $SODbg) {
- return 'DBG for SO'
- }
- elseif (Test-Path $DylibDwarf) {
- return 'Dwarf for Dylib'
- }
- elseif (Test-Path $SymbolPath) {
- return 'Module'
- }
- else {
- return $null
- }
-}
-
-function CountMissingSymbols {
- param(
- [string] $PackagePath # Path to a NuGet package
- )
-
- # Ensure input file exist
- if (!(Test-Path $PackagePath)) {
- Write-PipelineTaskError "Input file does not exist: $PackagePath"
- ExitWithExitCode 1
- }
-
- # Extensions for which we'll look for symbols
- $RelevantExtensions = @('.dll', '.exe', '.so', '.dylib')
-
- # How many files are missing symbol information
- $MissingSymbols = 0
-
- $PackageId = [System.IO.Path]::GetFileNameWithoutExtension($PackagePath)
- $PackageGuid = New-Guid
- $ExtractPath = Join-Path -Path $ExtractPath -ChildPath $PackageGuid
- $SymbolsPath = Join-Path -Path $ExtractPath -ChildPath 'Symbols'
-
- [System.IO.Compression.ZipFile]::ExtractToDirectory($PackagePath, $ExtractPath)
-
- Get-ChildItem -Recurse $ExtractPath |
- Where-Object {$RelevantExtensions -contains $_.Extension} |
- ForEach-Object {
- if ($_.FullName -Match '\\ref\\') {
- Write-Host "`t Ignoring reference assembly file " $_.FullName
- return
- }
-
- $SymbolsOnMSDL = FirstMatchingSymbolDescriptionOrDefault $_.FullName '--microsoft-symbol-server' $SymbolsPath
- $SymbolsOnSymWeb = FirstMatchingSymbolDescriptionOrDefault $_.FullName '--internal-server' $SymbolsPath
-
- Write-Host -NoNewLine "`t Checking file " $_.FullName "... "
-
- if ($SymbolsOnMSDL -ne $null -and $SymbolsOnSymWeb -ne $null) {
- Write-Host "Symbols found on MSDL ($SymbolsOnMSDL) and SymWeb ($SymbolsOnSymWeb)"
- }
- else {
- $MissingSymbols++
-
- if ($SymbolsOnMSDL -eq $null -and $SymbolsOnSymWeb -eq $null) {
- Write-Host 'No symbols found on MSDL or SymWeb!'
- }
- else {
- if ($SymbolsOnMSDL -eq $null) {
- Write-Host 'No symbols found on MSDL!'
- }
- else {
- Write-Host 'No symbols found on SymWeb!'
- }
- }
- }
- }
-
- Pop-Location
-
- return $MissingSymbols
-}
-
-function CheckSymbolsAvailable {
- if (Test-Path $ExtractPath) {
- Remove-Item $ExtractPath -Force -Recurse -ErrorAction SilentlyContinue
- }
-
- Get-ChildItem "$InputPath\*.nupkg" |
- ForEach-Object {
- $FileName = $_.Name
-
- # These packages from Arcade-Services include some native libraries that
- # our current symbol uploader can't handle. Below is a workaround until
- # we get issue: https://github.com/dotnet/arcade/issues/2457 sorted.
- if ($FileName -Match 'Microsoft\.DotNet\.Darc\.') {
- Write-Host "Ignoring Arcade-services file: $FileName"
- Write-Host
- return
- }
- elseif ($FileName -Match 'Microsoft\.DotNet\.Maestro\.Tasks\.') {
- Write-Host "Ignoring Arcade-services file: $FileName"
- Write-Host
- return
- }
-
- Write-Host "Validating $FileName "
- $Status = CountMissingSymbols "$InputPath\$FileName"
-
- if ($Status -ne 0) {
- Write-PipelineTelemetryError -Category 'CheckSymbols' -Message "Missing symbols for $Status modules in the package $FileName"
- ExitWithExitCode $exitCode
- }
-
- Write-Host
- }
-}
-
-function InstallDotnetSymbol {
- $dotnetSymbolPackageName = 'dotnet-symbol'
-
- $dotnetRoot = InitializeDotNetCli -install:$true
- $dotnet = "$dotnetRoot\dotnet.exe"
- $toolList = & "$dotnet" tool list --global
-
- if (($toolList -like "*$dotnetSymbolPackageName*") -and ($toolList -like "*$dotnetSymbolVersion*")) {
- Write-Host "dotnet-symbol version $dotnetSymbolVersion is already installed."
- }
- else {
- Write-Host "Installing dotnet-symbol version $dotnetSymbolVersion..."
- Write-Host 'You may need to restart your command window if this is the first dotnet tool you have installed.'
- & "$dotnet" tool install $dotnetSymbolPackageName --version $dotnetSymbolVersion --verbosity "minimal" --global
- }
-}
-
-try {
- . $PSScriptRoot\post-build-utils.ps1
-
- Add-Type -AssemblyName System.IO.Compression.FileSystem
-
- InstallDotnetSymbol
- CheckSymbolsAvailable
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'CheckSymbols' -Message $_
- ExitWithExitCode 1
-}
diff --git a/eng/common/post-build/trigger-subscriptions.ps1 b/eng/common/post-build/trigger-subscriptions.ps1
deleted file mode 100644
index 55dea518ac..0000000000
--- a/eng/common/post-build/trigger-subscriptions.ps1
+++ /dev/null
@@ -1,64 +0,0 @@
-param(
- [Parameter(Mandatory=$true)][string] $SourceRepo,
- [Parameter(Mandatory=$true)][int] $ChannelId,
- [Parameter(Mandatory=$true)][string] $MaestroApiAccessToken,
- [Parameter(Mandatory=$false)][string] $MaestroApiEndPoint = 'https://maestro-prod.westus2.cloudapp.azure.com',
- [Parameter(Mandatory=$false)][string] $MaestroApiVersion = '2019-01-16'
-)
-
-try {
- . $PSScriptRoot\post-build-utils.ps1
-
- # Get all the $SourceRepo subscriptions
- $normalizedSourceRepo = $SourceRepo.Replace('dnceng@', '')
- $subscriptions = Get-MaestroSubscriptions -SourceRepository $normalizedSourceRepo -ChannelId $ChannelId
-
- if (!$subscriptions) {
- Write-PipelineTelemetryError -Category 'TriggerSubscriptions' -Message "No subscriptions found for source repo '$normalizedSourceRepo' in channel '$ChannelId'"
- ExitWithExitCode 0
- }
-
- $subscriptionsToTrigger = New-Object System.Collections.Generic.List[string]
- $failedTriggeredSubscription = $false
-
- # Get all enabled subscriptions that need dependency flow on 'everyBuild'
- foreach ($subscription in $subscriptions) {
- if ($subscription.enabled -and $subscription.policy.updateFrequency -like 'everyBuild' -and $subscription.channel.id -eq $ChannelId) {
- Write-Host "Should trigger this subscription: ${$subscription.id}"
- [void]$subscriptionsToTrigger.Add($subscription.id)
- }
- }
-
- foreach ($subscriptionToTrigger in $subscriptionsToTrigger) {
- try {
- Write-Host "Triggering subscription '$subscriptionToTrigger'."
-
- Trigger-Subscription -SubscriptionId $subscriptionToTrigger
-
- Write-Host 'done.'
- }
- catch
- {
- Write-Host "There was an error while triggering subscription '$subscriptionToTrigger'"
- Write-Host $_
- Write-Host $_.ScriptStackTrace
- $failedTriggeredSubscription = $true
- }
- }
-
- if ($subscriptionsToTrigger.Count -eq 0) {
- Write-Host "No subscription matched source repo '$normalizedSourceRepo' and channel ID '$ChannelId'."
- }
- elseif ($failedTriggeredSubscription) {
- Write-PipelineTelemetryError -Category 'TriggerSubscriptions' -Message 'At least one subscription failed to be triggered...'
- ExitWithExitCode 1
- }
- else {
- Write-Host 'All subscriptions were triggered successfully!'
- }
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'TriggerSubscriptions' -Message $_
- ExitWithExitCode 1
-}
diff --git a/eng/common/sdk-task.ps1 b/eng/common/sdk-task.ps1
deleted file mode 100644
index 3872af59b9..0000000000
--- a/eng/common/sdk-task.ps1
+++ /dev/null
@@ -1,78 +0,0 @@
-[CmdletBinding(PositionalBinding=$false)]
-Param(
- [string] $configuration = 'Debug',
- [string] $task,
- [string] $verbosity = 'minimal',
- [string] $msbuildEngine = $null,
- [switch] $restore,
- [switch] $prepareMachine,
- [switch] $help,
- [Parameter(ValueFromRemainingArguments=$true)][String[]]$properties
-)
-
-$ci = $true
-$binaryLog = $true
-$warnAsError = $true
-
-. $PSScriptRoot\tools.ps1
-
-function Print-Usage() {
- Write-Host "Common settings:"
- Write-Host " -task Name of Arcade task (name of a project in SdkTasks directory of the Arcade SDK package)"
- Write-Host " -restore Restore dependencies"
- Write-Host " -verbosity Msbuild verbosity: q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic]"
- Write-Host " -help Print help and exit"
- Write-Host ""
-
- Write-Host "Advanced settings:"
- Write-Host " -prepareMachine Prepare machine for CI run"
- Write-Host " -msbuildEngine Msbuild engine to use to run build ('dotnet', 'vs', or unspecified)."
- Write-Host ""
- Write-Host "Command line arguments not listed above are passed thru to msbuild."
-}
-
-function Build([string]$target) {
- $logSuffix = if ($target -eq 'Execute') { '' } else { ".$target" }
- $log = Join-Path $LogDir "$task$logSuffix.binlog"
- $outputPath = Join-Path $ToolsetDir "$task\\"
-
- MSBuild $taskProject `
- /bl:$log `
- /t:$target `
- /p:Configuration=$configuration `
- /p:RepoRoot=$RepoRoot `
- /p:BaseIntermediateOutputPath=$outputPath `
- @properties
-}
-
-try {
- if ($help -or (($null -ne $properties) -and ($properties.Contains('/help') -or $properties.Contains('/?')))) {
- Print-Usage
- exit 0
- }
-
- if ($task -eq "") {
- Write-PipelineTelemetryError -Category 'Build' -Message "Missing required parameter '-task '" -ForegroundColor Red
- Print-Usage
- ExitWithExitCode 1
- }
-
- $taskProject = GetSdkTaskProject $task
- if (!(Test-Path $taskProject)) {
- Write-PipelineTelemetryError -Category 'Build' -Message "Unknown task: $task" -ForegroundColor Red
- ExitWithExitCode 1
- }
-
- if ($restore) {
- Build 'Restore'
- }
-
- Build 'Execute'
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'Build' -Message $_
- ExitWithExitCode 1
-}
-
-ExitWithExitCode 0
diff --git a/eng/common/sdl/NuGet.config b/eng/common/sdl/NuGet.config
deleted file mode 100644
index 0c5451c114..0000000000
--- a/eng/common/sdl/NuGet.config
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/eng/common/sdl/execute-all-sdl-tools.ps1 b/eng/common/sdl/execute-all-sdl-tools.ps1
deleted file mode 100644
index 339dc9b503..0000000000
--- a/eng/common/sdl/execute-all-sdl-tools.ps1
+++ /dev/null
@@ -1,110 +0,0 @@
-Param(
- [string] $GuardianPackageName, # Required: the name of guardian CLI package (not needed if GuardianCliLocation is specified)
- [string] $NugetPackageDirectory, # Required: directory where NuGet packages are installed (not needed if GuardianCliLocation is specified)
- [string] $GuardianCliLocation, # Optional: Direct location of Guardian CLI executable if GuardianPackageName & NugetPackageDirectory are not specified
- [string] $Repository=$env:BUILD_REPOSITORY_NAME, # Required: the name of the repository (e.g. dotnet/arcade)
- [string] $BranchName=$env:BUILD_SOURCEBRANCH, # Optional: name of branch or version of gdn settings; defaults to master
- [string] $SourceDirectory=$env:BUILD_SOURCESDIRECTORY, # Required: the directory where source files are located
- [string] $ArtifactsDirectory = (Join-Path $env:BUILD_ARTIFACTSTAGINGDIRECTORY ("artifacts")), # Required: the directory where build artifacts are located
- [string] $AzureDevOpsAccessToken, # Required: access token for dnceng; should be provided via KeyVault
- [string[]] $SourceToolsList, # Optional: list of SDL tools to run on source code
- [string[]] $ArtifactToolsList, # Optional: list of SDL tools to run on built artifacts
- [bool] $TsaPublish=$False, # Optional: true will publish results to TSA; only set to true after onboarding to TSA; TSA is the automated framework used to upload test results as bugs.
- [string] $TsaBranchName=$env:BUILD_SOURCEBRANCH, # Optional: required for TSA publish; defaults to $(Build.SourceBranchName); TSA is the automated framework used to upload test results as bugs.
- [string] $TsaRepositoryName=$env:BUILD_REPOSITORY_NAME, # Optional: TSA repository name; will be generated automatically if not submitted; TSA is the automated framework used to upload test results as bugs.
- [string] $BuildNumber=$env:BUILD_BUILDNUMBER, # Optional: required for TSA publish; defaults to $(Build.BuildNumber)
- [bool] $UpdateBaseline=$False, # Optional: if true, will update the baseline in the repository; should only be run after fixing any issues which need to be fixed
- [bool] $TsaOnboard=$False, # Optional: if true, will onboard the repository to TSA; should only be run once; TSA is the automated framework used to upload test results as bugs.
- [string] $TsaInstanceUrl, # Optional: only needed if TsaOnboard or TsaPublish is true; the instance-url registered with TSA; TSA is the automated framework used to upload test results as bugs.
- [string] $TsaCodebaseName, # Optional: only needed if TsaOnboard or TsaPublish is true; the name of the codebase registered with TSA; TSA is the automated framework used to upload test results as bugs.
- [string] $TsaProjectName, # Optional: only needed if TsaOnboard or TsaPublish is true; the name of the project registered with TSA; TSA is the automated framework used to upload test results as bugs.
- [string] $TsaNotificationEmail, # Optional: only needed if TsaOnboard is true; the email(s) which will receive notifications of TSA bug filings (e.g. alias@microsoft.com); TSA is the automated framework used to upload test results as bugs.
- [string] $TsaCodebaseAdmin, # Optional: only needed if TsaOnboard is true; the aliases which are admins of the TSA codebase (e.g. DOMAIN\alias); TSA is the automated framework used to upload test results as bugs.
- [string] $TsaBugAreaPath, # Optional: only needed if TsaOnboard is true; the area path where TSA will file bugs in AzDO; TSA is the automated framework used to upload test results as bugs.
- [string] $TsaIterationPath, # Optional: only needed if TsaOnboard is true; the iteration path where TSA will file bugs in AzDO; TSA is the automated framework used to upload test results as bugs.
- [string] $GuardianLoggerLevel="Standard", # Optional: the logger level for the Guardian CLI; options are Trace, Verbose, Standard, Warning, and Error
- [string[]] $CrScanAdditionalRunConfigParams, # Optional: Additional Params to custom build a CredScan run config in the format @("xyz:abc","sdf:1")
- [string[]] $PoliCheckAdditionalRunConfigParams # Optional: Additional Params to custom build a Policheck run config in the format @("xyz:abc","sdf:1")
-)
-
-try {
- $ErrorActionPreference = 'Stop'
- Set-StrictMode -Version 2.0
- $disableConfigureToolsetImport = $true
- $LASTEXITCODE = 0
-
- . $PSScriptRoot\..\tools.ps1
-
- #Replace repo names to the format of org/repo
- if (!($Repository.contains('/'))) {
- $RepoName = $Repository -replace '(.*?)-(.*)', '$1/$2';
- }
- else{
- $RepoName = $Repository;
- }
-
- if ($GuardianPackageName) {
- $guardianCliLocation = Join-Path $NugetPackageDirectory (Join-Path $GuardianPackageName (Join-Path 'tools' 'guardian.cmd'))
- } else {
- $guardianCliLocation = $GuardianCliLocation
- }
-
- $workingDirectory = (Split-Path $SourceDirectory -Parent)
- $ValidPath = Test-Path $guardianCliLocation
-
- if ($ValidPath -eq $False)
- {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message 'Invalid Guardian CLI Location.'
- ExitWithExitCode 1
- }
-
- & $(Join-Path $PSScriptRoot 'init-sdl.ps1') -GuardianCliLocation $guardianCliLocation -Repository $RepoName -BranchName $BranchName -WorkingDirectory $workingDirectory -AzureDevOpsAccessToken $AzureDevOpsAccessToken -GuardianLoggerLevel $GuardianLoggerLevel
- $gdnFolder = Join-Path $workingDirectory '.gdn'
-
- if ($TsaOnboard) {
- if ($TsaCodebaseName -and $TsaNotificationEmail -and $TsaCodebaseAdmin -and $TsaBugAreaPath) {
- Write-Host "$guardianCliLocation tsa-onboard --codebase-name `"$TsaCodebaseName`" --notification-alias `"$TsaNotificationEmail`" --codebase-admin `"$TsaCodebaseAdmin`" --instance-url `"$TsaInstanceUrl`" --project-name `"$TsaProjectName`" --area-path `"$TsaBugAreaPath`" --iteration-path `"$TsaIterationPath`" --working-directory $workingDirectory --logger-level $GuardianLoggerLevel"
- & $guardianCliLocation tsa-onboard --codebase-name "$TsaCodebaseName" --notification-alias "$TsaNotificationEmail" --codebase-admin "$TsaCodebaseAdmin" --instance-url "$TsaInstanceUrl" --project-name "$TsaProjectName" --area-path "$TsaBugAreaPath" --iteration-path "$TsaIterationPath" --working-directory $workingDirectory --logger-level $GuardianLoggerLevel
- if ($LASTEXITCODE -ne 0) {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Guardian tsa-onboard failed with exit code $LASTEXITCODE."
- ExitWithExitCode $LASTEXITCODE
- }
- } else {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message 'Could not onboard to TSA -- not all required values ($TsaCodebaseName, $TsaNotificationEmail, $TsaCodebaseAdmin, $TsaBugAreaPath) were specified.'
- ExitWithExitCode 1
- }
- }
-
- if ($ArtifactToolsList -and $ArtifactToolsList.Count -gt 0) {
- & $(Join-Path $PSScriptRoot 'run-sdl.ps1') -GuardianCliLocation $guardianCliLocation -WorkingDirectory $workingDirectory -TargetDirectory $ArtifactsDirectory -GdnFolder $gdnFolder -ToolsList $ArtifactToolsList -AzureDevOpsAccessToken $AzureDevOpsAccessToken -UpdateBaseline $UpdateBaseline -GuardianLoggerLevel $GuardianLoggerLevel -CrScanAdditionalRunConfigParams $CrScanAdditionalRunConfigParams -PoliCheckAdditionalRunConfigParams $PoliCheckAdditionalRunConfigParams
- }
- if ($SourceToolsList -and $SourceToolsList.Count -gt 0) {
- & $(Join-Path $PSScriptRoot 'run-sdl.ps1') -GuardianCliLocation $guardianCliLocation -WorkingDirectory $workingDirectory -TargetDirectory $SourceDirectory -GdnFolder $gdnFolder -ToolsList $SourceToolsList -AzureDevOpsAccessToken $AzureDevOpsAccessToken -UpdateBaseline $UpdateBaseline -GuardianLoggerLevel $GuardianLoggerLevel -CrScanAdditionalRunConfigParams $CrScanAdditionalRunConfigParams -PoliCheckAdditionalRunConfigParams $PoliCheckAdditionalRunConfigParams
- }
-
- if ($UpdateBaseline) {
- & (Join-Path $PSScriptRoot 'push-gdn.ps1') -Repository $RepoName -BranchName $BranchName -GdnFolder $GdnFolder -AzureDevOpsAccessToken $AzureDevOpsAccessToken -PushReason 'Update baseline'
- }
-
- if ($TsaPublish) {
- if ($TsaBranchName -and $BuildNumber) {
- if (-not $TsaRepositoryName) {
- $TsaRepositoryName = "$($Repository)-$($BranchName)"
- }
- Write-Host "$guardianCliLocation tsa-publish --all-tools --repository-name `"$TsaRepositoryName`" --branch-name `"$TsaBranchName`" --build-number `"$BuildNumber`" --codebase-name `"$TsaCodebaseName`" --notification-alias `"$TsaNotificationEmail`" --codebase-admin `"$TsaCodebaseAdmin`" --instance-url `"$TsaInstanceUrl`" --project-name `"$TsaProjectName`" --area-path `"$TsaBugAreaPath`" --iteration-path `"$TsaIterationPath`" --working-directory $workingDirectory --logger-level $GuardianLoggerLevel"
- & $guardianCliLocation tsa-publish --all-tools --repository-name "$TsaRepositoryName" --branch-name "$TsaBranchName" --build-number "$BuildNumber" --onboard $True --codebase-name "$TsaCodebaseName" --notification-alias "$TsaNotificationEmail" --codebase-admin "$TsaCodebaseAdmin" --instance-url "$TsaInstanceUrl" --project-name "$TsaProjectName" --area-path "$TsaBugAreaPath" --iteration-path "$TsaIterationPath" --working-directory $workingDirectory --logger-level $GuardianLoggerLevel
- if ($LASTEXITCODE -ne 0) {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Guardian tsa-publish failed with exit code $LASTEXITCODE."
- ExitWithExitCode $LASTEXITCODE
- }
- } else {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message 'Could not publish to TSA -- not all required values ($TsaBranchName, $BuildNumber) were specified.'
- ExitWithExitCode 1
- }
- }
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_
- exit 1
-}
diff --git a/eng/common/sdl/extract-artifact-packages.ps1 b/eng/common/sdl/extract-artifact-packages.ps1
deleted file mode 100644
index 9a4fc1743d..0000000000
--- a/eng/common/sdl/extract-artifact-packages.ps1
+++ /dev/null
@@ -1,107 +0,0 @@
-param(
- [Parameter(Mandatory=$true)][string] $InputPath, # Full path to directory where artifact packages are stored
- [Parameter(Mandatory=$true)][string] $ExtractPath # Full path to directory where the packages will be extracted
-)
-
-$ErrorActionPreference = 'Stop'
-Set-StrictMode -Version 2.0
-
-# `tools.ps1` checks $ci to perform some actions. Since the post-build
-# scripts don't necessarily execute in the same agent that run the
-# build.ps1/sh script this variable isn't automatically set.
-$ci = $true
-. $PSScriptRoot\..\tools.ps1
-
-$ExtractPackage = {
- param(
- [string] $PackagePath # Full path to a NuGet package
- )
-
- if (!(Test-Path $PackagePath)) {
- Write-PipelineTaskError "Input file does not exist: $PackagePath"
- ExitWithExitCode 1
- }
-
- $RelevantExtensions = @(".dll", ".exe", ".pdb")
- Write-Host -NoNewLine "Extracting" ([System.IO.Path]::GetFileName($PackagePath)) "... "
-
- $PackageId = [System.IO.Path]::GetFileNameWithoutExtension($PackagePath)
- $ExtractPath = Join-Path -Path $using:ExtractPath -ChildPath $PackageId
-
- Add-Type -AssemblyName System.IO.Compression.FileSystem
-
- [System.IO.Directory]::CreateDirectory($ExtractPath);
->>>>>>> refs/rewritten/upstream/release/dev16.4
-
-# `tools.ps1` checks $ci to perform some actions. Since the post-build
-# scripts don't necessarily execute in the same agent that run the
-# build.ps1/sh script this variable isn't automatically set.
-$ci = $true
-$disableConfigureToolsetImport = $true
-
-function ExtractArtifacts {
- if (!(Test-Path $InputPath)) {
- Write-Host "Input Path does not exist: $InputPath"
- ExitWithExitCode 0
- }
- $Jobs = @()
- Get-ChildItem "$InputPath\*.nupkg" |
- ForEach-Object {
- $Jobs += Start-Job -ScriptBlock $ExtractPackage -ArgumentList $_.FullName
- }
-
- foreach ($Job in $Jobs) {
- Wait-Job -Id $Job.Id | Receive-Job
- }
-}
-
-try {
- . $PSScriptRoot\..\tools.ps1
-
- $ExtractPackage = {
- param(
- [string] $PackagePath # Full path to a NuGet package
- )
-
- if (!(Test-Path $PackagePath)) {
- Write-PipelineTelemetryError -Category 'Build' -Message "Input file does not exist: $PackagePath"
- ExitWithExitCode 1
- }
-
- $RelevantExtensions = @('.dll', '.exe', '.pdb')
- Write-Host -NoNewLine 'Extracting ' ([System.IO.Path]::GetFileName($PackagePath)) '...'
-
- $PackageId = [System.IO.Path]::GetFileNameWithoutExtension($PackagePath)
- $ExtractPath = Join-Path -Path $using:ExtractPath -ChildPath $PackageId
-
- Add-Type -AssemblyName System.IO.Compression.FileSystem
-
- [System.IO.Directory]::CreateDirectory($ExtractPath);
-
- try {
- $zip = [System.IO.Compression.ZipFile]::OpenRead($PackagePath)
-
- $zip.Entries |
- Where-Object {$RelevantExtensions -contains [System.IO.Path]::GetExtension($_.Name)} |
- ForEach-Object {
- $TargetFile = Join-Path -Path $ExtractPath -ChildPath $_.Name
-
- [System.IO.Compression.ZipFileExtensions]::ExtractToFile($_, $TargetFile, $true)
- }
- }
- catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_
- ExitWithExitCode 1
- }
- finally {
- $zip.Dispose()
- }
- }
- Measure-Command { ExtractArtifacts }
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message $_
- ExitWithExitCode 1
-}
diff --git a/eng/common/sdl/init-sdl.ps1 b/eng/common/sdl/init-sdl.ps1
deleted file mode 100644
index 285f1ccdb0..0000000000
--- a/eng/common/sdl/init-sdl.ps1
+++ /dev/null
@@ -1,63 +0,0 @@
-Param(
- [string] $GuardianCliLocation,
- [string] $Repository,
- [string] $BranchName='master',
- [string] $WorkingDirectory,
- [string] $AzureDevOpsAccessToken,
- [string] $GuardianLoggerLevel='Standard'
-)
-
-$ErrorActionPreference = 'Stop'
-Set-StrictMode -Version 2.0
-$disableConfigureToolsetImport = $true
-$LASTEXITCODE = 0
-
-. $PSScriptRoot\..\tools.ps1
-
-# Don't display the console progress UI - it's a huge perf hit
-$ProgressPreference = 'SilentlyContinue'
-
-# Construct basic auth from AzDO access token; construct URI to the repository's gdn folder stored in that repository; construct location of zip file
-$encodedPat = [Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$AzureDevOpsAccessToken"))
-$escapedRepository = [Uri]::EscapeDataString("/$Repository/$BranchName/.gdn")
-$uri = "https://dev.azure.com/dnceng/internal/_apis/git/repositories/sdl-tool-cfg/Items?path=$escapedRepository&versionDescriptor[versionOptions]=0&`$format=zip&api-version=5.0-preview.1"
-$zipFile = "$WorkingDirectory/gdn.zip"
-
-Add-Type -AssemblyName System.IO.Compression.FileSystem
-$gdnFolder = (Join-Path $WorkingDirectory '.gdn')
-try {
- # We try to download the zip; if the request fails (e.g. the file doesn't exist), we catch it and init guardian instead
- Write-Host 'Downloading gdn folder from internal config repostiory...'
- Invoke-WebRequest -Headers @{ "Accept"="application/zip"; "Authorization"="Basic $encodedPat" } -Uri $uri -OutFile $zipFile
- if (Test-Path $gdnFolder) {
- # Remove the gdn folder if it exists (it shouldn't unless there's too much caching; this is just in case)
- Remove-Item -Force -Recurse $gdnFolder
- }
- [System.IO.Compression.ZipFile]::ExtractToDirectory($zipFile, $WorkingDirectory)
- Write-Host $gdnFolder
- ExitWithExitCode 0
-} catch [System.Net.WebException] { } # Catch and ignore webexception
-try {
- # if the folder does not exist, we'll do a guardian init and push it to the remote repository
- Write-Host 'Initializing Guardian...'
- Write-Host "$GuardianCliLocation init --working-directory $WorkingDirectory --logger-level $GuardianLoggerLevel"
- & $GuardianCliLocation init --working-directory $WorkingDirectory --logger-level $GuardianLoggerLevel
- if ($LASTEXITCODE -ne 0) {
- Write-PipelineTelemetryError -Force -Category 'Build' -Message "Guardian init failed with exit code $LASTEXITCODE."
- ExitWithExitCode $LASTEXITCODE
- }
- # We create the mainbaseline so it can be edited later
- Write-Host "$GuardianCliLocation baseline --working-directory $WorkingDirectory --name mainbaseline"
- & $GuardianCliLocation baseline --working-directory $WorkingDirectory --name mainbaseline
- if ($LASTEXITCODE -ne 0) {
- Write-PipelineTelemetryError -Force -Category 'Build' -Message "Guardian baseline failed with exit code $LASTEXITCODE."
- ExitWithExitCode $LASTEXITCODE
- }
- & $(Join-Path $PSScriptRoot 'push-gdn.ps1') -Repository $Repository -BranchName $BranchName -GdnFolder $gdnFolder -AzureDevOpsAccessToken $AzureDevOpsAccessToken -PushReason 'Initialize gdn folder'
- ExitWithExitCode 0
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'Sdl' -Message $_
- ExitWithExitCode 1
-}
diff --git a/eng/common/sdl/packages.config b/eng/common/sdl/packages.config
deleted file mode 100644
index 256ffbfb93..0000000000
--- a/eng/common/sdl/packages.config
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
diff --git a/eng/common/sdl/push-gdn.ps1 b/eng/common/sdl/push-gdn.ps1
deleted file mode 100644
index 79d3d355c7..0000000000
--- a/eng/common/sdl/push-gdn.ps1
+++ /dev/null
@@ -1,65 +0,0 @@
-Param(
- [string] $Repository,
- [string] $BranchName='master',
- [string] $GdnFolder,
- [string] $AzureDevOpsAccessToken,
- [string] $PushReason
-)
-
-$ErrorActionPreference = 'Stop'
-Set-StrictMode -Version 2.0
-$disableConfigureToolsetImport = $true
-$LASTEXITCODE = 0
-
-try {
- . $PSScriptRoot\..\tools.ps1
-
- # We create the temp directory where we'll store the sdl-config repository
- $sdlDir = Join-Path $env:TEMP 'sdl'
- if (Test-Path $sdlDir) {
- Remove-Item -Force -Recurse $sdlDir
- }
-
- Write-Host "git clone https://dnceng:`$AzureDevOpsAccessToken@dev.azure.com/dnceng/internal/_git/sdl-tool-cfg $sdlDir"
- git clone https://dnceng:$AzureDevOpsAccessToken@dev.azure.com/dnceng/internal/_git/sdl-tool-cfg $sdlDir
- if ($LASTEXITCODE -ne 0) {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Git clone failed with exit code $LASTEXITCODE."
- ExitWithExitCode $LASTEXITCODE
- }
- # We copy the .gdn folder from our local run into the git repository so it can be committed
- $sdlRepositoryFolder = Join-Path (Join-Path (Join-Path $sdlDir $Repository) $BranchName) '.gdn'
- if (Get-Command Robocopy) {
- Robocopy /S $GdnFolder $sdlRepositoryFolder
- } else {
- rsync -r $GdnFolder $sdlRepositoryFolder
- }
- # cd to the sdl-config directory so we can run git there
- Push-Location $sdlDir
- # git add . --> git commit --> git push
- Write-Host 'git add .'
- git add .
- if ($LASTEXITCODE -ne 0) {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Git add failed with exit code $LASTEXITCODE."
- ExitWithExitCode $LASTEXITCODE
- }
- Write-Host "git -c user.email=`"dn-bot@microsoft.com`" -c user.name=`"Dotnet Bot`" commit -m `"$PushReason for $Repository/$BranchName`""
- git -c user.email="dn-bot@microsoft.com" -c user.name="Dotnet Bot" commit -m "$PushReason for $Repository/$BranchName"
- if ($LASTEXITCODE -ne 0) {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Git commit failed with exit code $LASTEXITCODE."
- ExitWithExitCode $LASTEXITCODE
- }
- Write-Host 'git push'
- git push
- if ($LASTEXITCODE -ne 0) {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Git push failed with exit code $LASTEXITCODE."
- ExitWithExitCode $LASTEXITCODE
- }
-
- # Return to the original directory
- Pop-Location
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'Sdl' -Message $_
- ExitWithExitCode 1
-}
\ No newline at end of file
diff --git a/eng/common/sdl/run-sdl.ps1 b/eng/common/sdl/run-sdl.ps1
deleted file mode 100644
index 40a084f796..0000000000
--- a/eng/common/sdl/run-sdl.ps1
+++ /dev/null
@@ -1,69 +0,0 @@
-Param(
- [string] $GuardianCliLocation,
- [string] $WorkingDirectory,
- [string] $TargetDirectory,
- [string] $GdnFolder,
- [string[]] $ToolsList,
- [string] $UpdateBaseline,
- [string] $GuardianLoggerLevel='Standard',
- [string[]] $CrScanAdditionalRunConfigParams,
- [string[]] $PoliCheckAdditionalRunConfigParams
-)
-
-$ErrorActionPreference = 'Stop'
-Set-StrictMode -Version 2.0
-$disableConfigureToolsetImport = $true
-$LASTEXITCODE = 0
-
-try {
- . $PSScriptRoot\..\tools.ps1
-
- # We store config files in the r directory of .gdn
- Write-Host $ToolsList
- $gdnConfigPath = Join-Path $GdnFolder 'r'
- $ValidPath = Test-Path $GuardianCliLocation
-
- if ($ValidPath -eq $False)
- {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Invalid Guardian CLI Location."
- ExitWithExitCode 1
- }
-
- $configParam = @('--config')
-
- foreach ($tool in $ToolsList) {
- $gdnConfigFile = Join-Path $gdnConfigPath "$tool-configure.gdnconfig"
- Write-Host $tool
- # We have to manually configure tools that run on source to look at the source directory only
- if ($tool -eq 'credscan') {
- Write-Host "$GuardianCliLocation configure --working-directory $WorkingDirectory --tool $tool --output-path $gdnConfigFile --logger-level $GuardianLoggerLevel --noninteractive --force --args `" TargetDirectory < $TargetDirectory `" `" OutputType < pre `" $(If ($CrScanAdditionalRunConfigParams) {$CrScanAdditionalRunConfigParams})"
- & $GuardianCliLocation configure --working-directory $WorkingDirectory --tool $tool --output-path $gdnConfigFile --logger-level $GuardianLoggerLevel --noninteractive --force --args " TargetDirectory < $TargetDirectory " "OutputType < pre" $(If ($CrScanAdditionalRunConfigParams) {$CrScanAdditionalRunConfigParams})
- if ($LASTEXITCODE -ne 0) {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Guardian configure for $tool failed with exit code $LASTEXITCODE."
- ExitWithExitCode $LASTEXITCODE
- }
- }
- if ($tool -eq 'policheck') {
- Write-Host "$GuardianCliLocation configure --working-directory $WorkingDirectory --tool $tool --output-path $gdnConfigFile --logger-level $GuardianLoggerLevel --noninteractive --force --args `" Target < $TargetDirectory `" $(If ($PoliCheckAdditionalRunConfigParams) {$PoliCheckAdditionalRunConfigParams})"
- & $GuardianCliLocation configure --working-directory $WorkingDirectory --tool $tool --output-path $gdnConfigFile --logger-level $GuardianLoggerLevel --noninteractive --force --args " Target < $TargetDirectory " $(If ($PoliCheckAdditionalRunConfigParams) {$PoliCheckAdditionalRunConfigParams})
- if ($LASTEXITCODE -ne 0) {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Guardian configure for $tool failed with exit code $LASTEXITCODE."
- ExitWithExitCode $LASTEXITCODE
- }
- }
-
- $configParam+=$gdnConfigFile
- }
-
- Write-Host "$GuardianCliLocation run --working-directory $WorkingDirectory --baseline mainbaseline --update-baseline $UpdateBaseline --logger-level $GuardianLoggerLevel $configParam"
- & $GuardianCliLocation run --working-directory $WorkingDirectory --tool $tool --baseline mainbaseline --update-baseline $UpdateBaseline --logger-level $GuardianLoggerLevel $configParam
- if ($LASTEXITCODE -ne 0) {
- Write-PipelineTelemetryError -Force -Category 'Sdl' -Message "Guardian run for $ToolsList using $configParam failed with exit code $LASTEXITCODE."
- ExitWithExitCode $LASTEXITCODE
- }
-}
-catch {
- Write-Host $_.ScriptStackTrace
- Write-PipelineTelemetryError -Category 'Sdl' -Message $_
- ExitWithExitCode 1
-}
\ No newline at end of file
diff --git a/eng/common/templates/job/execute-sdl.yml b/eng/common/templates/job/execute-sdl.yml
deleted file mode 100644
index da342a0749..0000000000
--- a/eng/common/templates/job/execute-sdl.yml
+++ /dev/null
@@ -1,64 +0,0 @@
-parameters:
- overrideParameters: '' # Optional: to override values for parameters.
- additionalParameters: '' # Optional: parameters that need user specific values eg: '-SourceToolsList @("abc","def") -ArtifactToolsList @("ghi","jkl")'
- # There is some sort of bug (has been reported) in Azure DevOps where if this parameter is named
- # 'continueOnError', the parameter value is not correctly picked up.
- # This can also be remedied by the caller (post-build.yml) if it does not use a nested parameter
- sdlContinueOnError: false # optional: determines whether to continue the build if the step errors;
- dependsOn: '' # Optional: dependencies of the job
- artifactNames: '' # Optional: patterns supplied to DownloadBuildArtifacts
- # Usage:
- # artifactNames:
- # - 'BlobArtifacts'
- # - 'Artifacts_Windows_NT_Release'
-
-jobs:
-- job: Run_SDL
- dependsOn: ${{ parameters.dependsOn }}
- displayName: Run SDL tool
- variables:
- - group: DotNet-VSTS-Bot
- pool:
- name: Hosted VS2017
- steps:
- - checkout: self
- clean: true
- - task: DownloadBuildArtifacts@0
- displayName: Download Build Artifacts
- inputs:
- buildType: current
- downloadType: specific files
- matchingPattern: "**"
- downloadPath: $(Build.ArtifactStagingDirectory)\artifacts
- - powershell: eng/common/sdl/extract-artifact-packages.ps1
- -InputPath $(Build.ArtifactStagingDirectory)\artifacts\BlobArtifacts
- -ExtractPath $(Build.ArtifactStagingDirectory)\artifacts\BlobArtifacts
- displayName: Extract Blob Artifacts
- continueOnError: ${{ parameters.sdlContinueOnError }}
- - powershell: eng/common/sdl/extract-artifact-packages.ps1
- -InputPath $(Build.ArtifactStagingDirectory)\artifacts\PackageArtifacts
- -ExtractPath $(Build.ArtifactStagingDirectory)\artifacts\PackageArtifacts
- displayName: Extract Package Artifacts
- continueOnError: ${{ parameters.sdlContinueOnError }}
- - task: NuGetToolInstaller@1
- displayName: 'Install NuGet.exe'
- - task: NuGetCommand@2
- displayName: 'Install Guardian'
- inputs:
- restoreSolution: $(Build.SourcesDirectory)\eng\common\sdl\packages.config
- feedsToUse: config
- nugetConfigPath: $(Build.SourcesDirectory)\eng\common\sdl\NuGet.config
- externalFeedCredentials: GuardianConnect
- restoreDirectory: $(Build.SourcesDirectory)\.packages
- - ${{ if ne(parameters.overrideParameters, '') }}:
- - powershell: eng/common/sdl/execute-all-sdl-tools.ps1 ${{ parameters.overrideParameters }}
- displayName: Execute SDL
- continueOnError: ${{ parameters.sdlContinueOnError }}
- - ${{ if eq(parameters.overrideParameters, '') }}:
- - powershell: eng/common/sdl/execute-all-sdl-tools.ps1
- -GuardianPackageName Microsoft.Guardian.Cli.0.7.2
- -NugetPackageDirectory $(Build.SourcesDirectory)\.packages
- -AzureDevOpsAccessToken $(dn-bot-dotnet-build-rw-code-rw)
- ${{ parameters.additionalParameters }}
- displayName: Execute SDL
- continueOnError: ${{ parameters.sdlContinueOnError }}
diff --git a/eng/common/templates/job/generate-graph-files.yml b/eng/common/templates/job/generate-graph-files.yml
deleted file mode 100644
index e54ce956f9..0000000000
--- a/eng/common/templates/job/generate-graph-files.yml
+++ /dev/null
@@ -1,48 +0,0 @@
-parameters:
- # Optional: dependencies of the job
- dependsOn: ''
-
- # Optional: A defined YAML pool - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#pool
- pool: {}
-
- # Optional: Include toolset dependencies in the generated graph files
- includeToolset: false
-
-jobs:
-- job: Generate_Graph_Files
-
- dependsOn: ${{ parameters.dependsOn }}
-
- displayName: Generate Graph Files
-
- pool: ${{ parameters.pool }}
-
- variables:
- # Publish-Build-Assets provides: MaestroAccessToken, BotAccount-dotnet-maestro-bot-PAT
- # DotNet-AllOrgs-Darc-Pats provides: dn-bot-devdiv-dnceng-rw-code-pat
- - group: Publish-Build-Assets
- - group: DotNet-AllOrgs-Darc-Pats
- - name: _GraphArguments
- value: -gitHubPat $(BotAccount-dotnet-maestro-bot-PAT)
- -azdoPat $(dn-bot-devdiv-dnceng-rw-code-pat)
- -barToken $(MaestroAccessToken)
- -outputFolder '$(Build.StagingDirectory)/GraphFiles/'
- - ${{ if ne(parameters.includeToolset, 'false') }}:
- - name: _GraphArguments
- value: ${{ variables._GraphArguments }} -includeToolset
-
- steps:
- - task: PowerShell@2
- displayName: Generate Graph Files
- inputs:
- filePath: eng\common\generate-graph-files.ps1
- arguments: $(_GraphArguments)
- continueOnError: true
- - task: PublishBuildArtifacts@1
- displayName: Publish Graph to Artifacts
- inputs:
- PathtoPublish: '$(Build.StagingDirectory)/GraphFiles'
- PublishLocation: Container
- ArtifactName: GraphFiles
- continueOnError: true
- condition: always()
diff --git a/eng/common/templates/job/job.yml b/eng/common/templates/job/job.yml
deleted file mode 100644
index 13dd40e26c..0000000000
--- a/eng/common/templates/job/job.yml
+++ /dev/null
@@ -1,216 +0,0 @@
-# Internal resources (telemetry, microbuild) can only be accessed from non-public projects,
-# and some (Microbuild) should only be applied to non-PR cases for internal builds.
-
-parameters:
-# Job schema parameters - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#job
- cancelTimeoutInMinutes: ''
- condition: ''
- container: ''
- continueOnError: false
- dependsOn: ''
- displayName: ''
- pool: ''
- steps: []
- strategy: ''
- timeoutInMinutes: ''
- variables: []
- workspace: ''
-
-# Job base template specific parameters
- # See schema documentation in /Documentation/AzureDevOps/TemplateSchema.md
- artifacts: ''
- enableMicrobuild: false
- enablePublishBuildArtifacts: false
- enablePublishBuildAssets: false
- enablePublishTestResults: false
- enablePublishUsingPipelines: false
- name: ''
- preSteps: []
- runAsPublic: false
-
-jobs:
-- job: ${{ parameters.name }}
-
- ${{ if ne(parameters.cancelTimeoutInMinutes, '') }}:
- cancelTimeoutInMinutes: ${{ parameters.cancelTimeoutInMinutes }}
-
- ${{ if ne(parameters.condition, '') }}:
- condition: ${{ parameters.condition }}
-
- ${{ if ne(parameters.container, '') }}:
- container: ${{ parameters.container }}
-
- ${{ if ne(parameters.continueOnError, '') }}:
- continueOnError: ${{ parameters.continueOnError }}
-
- ${{ if ne(parameters.dependsOn, '') }}:
- dependsOn: ${{ parameters.dependsOn }}
-
- ${{ if ne(parameters.displayName, '') }}:
- displayName: ${{ parameters.displayName }}
-
- ${{ if ne(parameters.pool, '') }}:
- pool: ${{ parameters.pool }}
-
- ${{ if ne(parameters.strategy, '') }}:
- strategy: ${{ parameters.strategy }}
-
- ${{ if ne(parameters.timeoutInMinutes, '') }}:
- timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
-
- variables:
- - ${{ if ne(parameters.enableTelemetry, 'false') }}:
- - name: DOTNET_CLI_TELEMETRY_PROFILE
- value: '$(Build.Repository.Uri)'
- - ${{ each variable in parameters.variables }}:
- # handle name-value variable syntax
- # example:
- # - name: [key]
- # value: [value]
- - ${{ if ne(variable.name, '') }}:
- - name: ${{ variable.name }}
- value: ${{ variable.value }}
-
- # handle variable groups
- - ${{ if ne(variable.group, '') }}:
- - group: ${{ variable.group }}
-
- # handle key-value variable syntax.
- # example:
- # - [key]: [value]
- - ${{ if and(eq(variable.name, ''), eq(variable.group, '')) }}:
- - ${{ each pair in variable }}:
- - name: ${{ pair.key }}
- value: ${{ pair.value }}
-
- # DotNet-HelixApi-Access provides 'HelixApiAccessToken' for internal builds
- - ${{ if and(eq(parameters.enableTelemetry, 'true'), eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - group: DotNet-HelixApi-Access
-
- ${{ if ne(parameters.workspace, '') }}:
- workspace: ${{ parameters.workspace }}
-
- steps:
- - ${{ if ne(parameters.preSteps, '') }}:
- - ${{ each preStep in parameters.preSteps }}:
- - ${{ preStep }}
-
- - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - ${{ if eq(parameters.enableMicrobuild, 'true') }}:
- - task: MicroBuildSigningPlugin@2
- displayName: Install MicroBuild plugin
- inputs:
- signType: $(_SignType)
- zipSources: false
- feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
- env:
- TeamName: $(_TeamName)
- continueOnError: ${{ parameters.continueOnError }}
- condition: and(succeeded(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT'))
-
- - task: NuGetAuthenticate@0
-
- - ${{ if or(eq(parameters.artifacts.download, 'true'), ne(parameters.artifacts.download, '')) }}:
- - task: DownloadPipelineArtifact@2
- inputs:
- buildType: current
- artifactName: ${{ coalesce(parameters.artifacts.download.name, 'Artifacts_$(Agent.OS)_$(_BuildConfig)') }}
- targetPath: ${{ coalesce(parameters.artifacts.download.path, 'artifacts') }}
- itemPattern: ${{ coalesce(parameters.artifacts.download.pattern, '**') }}
-
- - ${{ each step in parameters.steps }}:
- - ${{ step }}
-
- - ${{ if eq(parameters.enableMicrobuild, 'true') }}:
- - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - task: MicroBuildCleanup@1
- displayName: Execute Microbuild cleanup tasks
- condition: and(always(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT'))
- continueOnError: ${{ parameters.continueOnError }}
- env:
- TeamName: $(_TeamName)
-
- - ${{ if ne(parameters.artifacts.publish, '') }}:
- - ${{ if or(eq(parameters.artifacts.publish.artifacts, 'true'), ne(parameters.artifacts.publish.artifacts, '')) }}:
- - task: CopyFiles@2
- displayName: Gather binaries for publish to artifacts
- inputs:
- SourceFolder: 'artifacts/bin'
- Contents: '**'
- TargetFolder: '$(Build.ArtifactStagingDirectory)/artifacts/bin'
- - task: CopyFiles@2
- displayName: Gather packages for publish to artifacts
- inputs:
- SourceFolder: 'artifacts/packages'
- Contents: '**'
- TargetFolder: '$(Build.ArtifactStagingDirectory)/artifacts/packages'
- - task: PublishBuildArtifacts@1
- displayName: Publish pipeline artifacts
- inputs:
- PathtoPublish: '$(Build.ArtifactStagingDirectory)/artifacts'
- PublishLocation: Container
- ArtifactName: ${{ coalesce(parameters.artifacts.publish.artifacts.name , 'Artifacts_$(Agent.Os)_$(_BuildConfig)') }}
- continueOnError: true
- condition: always()
- - ${{ if or(eq(parameters.artifacts.publish.logs, 'true'), ne(parameters.artifacts.publish.logs, '')) }}:
- - publish: artifacts/log
- artifact: ${{ coalesce(parameters.artifacts.publish.logs.name, 'Logs_Build_$(Agent.Os)_$(_BuildConfig)') }}
- displayName: Publish logs
- continueOnError: true
- condition: always()
- - ${{ if or(eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, '')) }}:
- - ${{ if and(ne(parameters.enablePublishUsingPipelines, 'true'), eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - task: CopyFiles@2
- displayName: Gather Asset Manifests
- inputs:
- SourceFolder: '$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/AssetManifest'
- TargetFolder: '$(Build.ArtifactStagingDirectory)/AssetManifests'
- continueOnError: ${{ parameters.continueOnError }}
- condition: and(succeeded(), eq(variables['_DotNetPublishToBlobFeed'], 'true'))
-
- - task: PublishBuildArtifacts@1
- displayName: Push Asset Manifests
- inputs:
- PathtoPublish: '$(Build.ArtifactStagingDirectory)/AssetManifests'
- PublishLocation: Container
- ArtifactName: AssetManifests
- continueOnError: ${{ parameters.continueOnError }}
- condition: and(succeeded(), eq(variables['_DotNetPublishToBlobFeed'], 'true'))
-
- - ${{ if ne(parameters.enablePublishBuildArtifacts, 'false') }}:
- - task: PublishBuildArtifacts@1
- displayName: Publish Logs
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)'
- PublishLocation: Container
- ArtifactName: ${{ coalesce(parameters.enablePublishBuildArtifacts.artifactName, '$(Agent.Os)_$(Agent.JobName)' ) }}
- continueOnError: true
- condition: always()
-
- - ${{ if eq(parameters.enablePublishTestResults, 'true') }}:
- - task: PublishTestResults@2
- displayName: Publish Test Results
- inputs:
- testResultsFormat: 'xUnit'
- testResultsFiles: '*.xml'
- searchFolder: '$(Build.SourcesDirectory)/artifacts/TestResults/$(_BuildConfig)'
- continueOnError: true
- condition: always()
-
- - ${{ if and(eq(parameters.enablePublishBuildAssets, true), ne(parameters.enablePublishUsingPipelines, 'true'), eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - task: CopyFiles@2
- displayName: Gather Asset Manifests
- inputs:
- SourceFolder: '$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/AssetManifest'
- TargetFolder: '$(Build.StagingDirectory)/AssetManifests'
- continueOnError: ${{ parameters.continueOnError }}
- condition: and(succeeded(), eq(variables['_DotNetPublishToBlobFeed'], 'true'))
-
- - task: PublishBuildArtifacts@1
- displayName: Push Asset Manifests
- inputs:
- PathtoPublish: '$(Build.StagingDirectory)/AssetManifests'
- PublishLocation: Container
- ArtifactName: AssetManifests
- continueOnError: ${{ parameters.continueOnError }}
- condition: and(succeeded(), eq(variables['_DotNetPublishToBlobFeed'], 'true'))
diff --git a/eng/common/templates/job/performance.yml b/eng/common/templates/job/performance.yml
deleted file mode 100644
index f877fd7a89..0000000000
--- a/eng/common/templates/job/performance.yml
+++ /dev/null
@@ -1,95 +0,0 @@
-parameters:
- steps: [] # optional -- any additional steps that need to happen before pulling down the performance repo and sending the performance benchmarks to helix (ie building your repo)
- variables: [] # optional -- list of additional variables to send to the template
- jobName: '' # required -- job name
- displayName: '' # optional -- display name for the job. Will use jobName if not passed
- pool: '' # required -- name of the Build pool
- container: '' # required -- name of the container
- osGroup: '' # required -- operating system for the job
- extraSetupParameters: '' # optional -- extra arguments to pass to the setup script
- frameworks: ['netcoreapp3.0'] # optional -- list of frameworks to run against
- continueOnError: 'false' # optional -- determines whether to continue the build if the step errors
- dependsOn: '' # optional -- dependencies of the job
- timeoutInMinutes: 320 # optional -- timeout for the job
- enableTelemetry: false # optional -- enable for telemetry
-
-jobs:
-- template: ../jobs/jobs.yml
- parameters:
- dependsOn: ${{ parameters.dependsOn }}
- enableTelemetry: ${{ parameters.enableTelemetry }}
- enablePublishBuildArtifacts: true
- continueOnError: ${{ parameters.continueOnError }}
-
- jobs:
- - job: '${{ parameters.jobName }}'
-
- ${{ if ne(parameters.displayName, '') }}:
- displayName: '${{ parameters.displayName }}'
- ${{ if eq(parameters.displayName, '') }}:
- displayName: '${{ parameters.jobName }}'
-
- timeoutInMinutes: ${{ parameters.timeoutInMinutes }}
-
- variables:
-
- - ${{ each variable in parameters.variables }}:
- - ${{ if ne(variable.name, '') }}:
- - name: ${{ variable.name }}
- value: ${{ variable.value }}
- - ${{ if ne(variable.group, '') }}:
- - group: ${{ variable.group }}
-
- - IsInternal: ''
- - HelixApiAccessToken: ''
- - HelixPreCommand: ''
-
- - ${{ if and(ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - ${{ if eq( parameters.osGroup, 'Windows_NT') }}:
- - HelixPreCommand: 'set "PERFLAB_UPLOAD_TOKEN=$(PerfCommandUploadToken)"'
- - IsInternal: -Internal
- - ${{ if ne(parameters.osGroup, 'Windows_NT') }}:
- - HelixPreCommand: 'export PERFLAB_UPLOAD_TOKEN="$(PerfCommandUploadTokenLinux)"'
- - IsInternal: --internal
-
- - group: DotNet-HelixApi-Access
- - group: dotnet-benchview
-
- workspace:
- clean: all
- pool:
- ${{ parameters.pool }}
- container: ${{ parameters.container }}
- strategy:
- matrix:
- ${{ each framework in parameters.frameworks }}:
- ${{ framework }}:
- _Framework: ${{ framework }}
- steps:
- - checkout: self
- clean: true
- # Run all of the steps to setup repo
- - ${{ each step in parameters.steps }}:
- - ${{ step }}
- - powershell: $(Build.SourcesDirectory)\eng\common\performance\performance-setup.ps1 $(IsInternal) -Framework $(_Framework) ${{ parameters.extraSetupParameters }}
- displayName: Performance Setup (Windows)
- condition: and(succeeded(), eq(variables['Agent.Os'], 'Windows_NT'))
- continueOnError: ${{ parameters.continueOnError }}
- - script: $(Build.SourcesDirectory)/eng/common/performance/performance-setup.sh $(IsInternal) --framework $(_Framework) ${{ parameters.extraSetupParameters }}
- displayName: Performance Setup (Unix)
- condition: and(succeeded(), ne(variables['Agent.Os'], 'Windows_NT'))
- continueOnError: ${{ parameters.continueOnError }}
- - script: $(Python) $(PerformanceDirectory)/scripts/ci_setup.py $(SetupArguments)
- displayName: Run ci setup script
- # Run perf testing in helix
- - template: /eng/common/templates/steps/perf-send-to-helix.yml
- parameters:
- HelixSource: '$(HelixSourcePrefix)/$(Build.Repository.Name)/$(Build.SourceBranch)' # sources must start with pr/, official/, prodcon/, or agent/
- HelixType: 'test/performance/$(Kind)/$(_Framework)/$(Architecture)'
- HelixAccessToken: $(HelixApiAccessToken)
- HelixTargetQueues: $(Queue)
- HelixPreCommands: $(HelixPreCommand)
- Creator: $(Creator)
- WorkItemTimeout: 4:00 # 4 hours
- WorkItemDirectory: '$(WorkItemDirectory)' # WorkItemDirectory can not be empty, so we send it some docs to keep it happy
- CorrelationPayloadDirectory: '$(PayloadDirectory)' # it gets checked out to a folder with shorter path than WorkItemDirectory so we can avoid file name too long exceptions
\ No newline at end of file
diff --git a/eng/common/templates/job/publish-build-assets.yml b/eng/common/templates/job/publish-build-assets.yml
deleted file mode 100644
index b722975f9c..0000000000
--- a/eng/common/templates/job/publish-build-assets.yml
+++ /dev/null
@@ -1,91 +0,0 @@
-parameters:
- configuration: 'Debug'
-
- # Optional: condition for the job to run
- condition: ''
-
- # Optional: 'true' if future jobs should run even if this job fails
- continueOnError: false
-
- # Optional: dependencies of the job
- dependsOn: ''
-
- # Optional: Include PublishBuildArtifacts task
- enablePublishBuildArtifacts: false
-
- # Optional: A defined YAML pool - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#pool
- pool: {}
-
- # Optional: should run as a public build even in the internal project
- # if 'true', the build won't run any of the internal only steps, even if it is running in non-public projects.
- runAsPublic: false
-
- # Optional: whether the build's artifacts will be published using release pipelines or direct feed publishing
- publishUsingPipelines: false
-
-jobs:
-- job: Asset_Registry_Publish
-
- dependsOn: ${{ parameters.dependsOn }}
-
- displayName: Publish to Build Asset Registry
-
- pool: ${{ parameters.pool }}
-
- variables:
- - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - name: _BuildConfig
- value: ${{ parameters.configuration }}
- - group: Publish-Build-Assets
-
- steps:
- - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - task: DownloadBuildArtifacts@0
- displayName: Download artifact
- inputs:
- artifactName: AssetManifests
- downloadPath: '$(Build.StagingDirectory)/Download'
- condition: ${{ parameters.condition }}
- continueOnError: ${{ parameters.continueOnError }}
-
- - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - task: NuGetAuthenticate@0
-
- - task: PowerShell@2
- displayName: Publish Build Assets
- inputs:
- filePath: eng\common\sdk-task.ps1
- arguments: -task PublishBuildAssets -restore -msbuildEngine dotnet
- /p:ManifestsPath='$(Build.StagingDirectory)/Download/AssetManifests'
- /p:BuildAssetRegistryToken=$(MaestroAccessToken)
- /p:MaestroApiEndpoint=https://maestro-prod.westus2.cloudapp.azure.com
- /p:PublishUsingPipelines=${{ parameters.publishUsingPipelines }}
- /p:Configuration=$(_BuildConfig)
- condition: ${{ parameters.condition }}
- continueOnError: ${{ parameters.continueOnError }}
-
- - task: powershell@2
- displayName: Create ReleaseConfigs Artifact
- inputs:
- targetType: inline
- script: |
- Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value $(BARBuildId)
- Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value "$(DefaultChannels)"
- Add-Content -Path "$(Build.StagingDirectory)/ReleaseConfigs.txt" -Value $(IsStableBuild)
-
- - task: PublishBuildArtifacts@1
- displayName: Publish ReleaseConfigs Artifact
- inputs:
- PathtoPublish: '$(Build.StagingDirectory)/ReleaseConfigs.txt'
- PublishLocation: Container
- ArtifactName: ReleaseConfigs
-
- - ${{ if eq(parameters.enablePublishBuildArtifacts, 'true') }}:
- - task: PublishBuildArtifacts@1
- displayName: Publish Logs to VSTS
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)'
- PublishLocation: Container
- ArtifactName: $(Agent.Os)_PublishBuildAssets
- continueOnError: true
- condition: always()
diff --git a/eng/common/templates/jobs/jobs.yml b/eng/common/templates/jobs/jobs.yml
deleted file mode 100644
index c08225a9a9..0000000000
--- a/eng/common/templates/jobs/jobs.yml
+++ /dev/null
@@ -1,72 +0,0 @@
-parameters:
- # See schema documentation in /Documentation/AzureDevOps/TemplateSchema.md
- continueOnError: false
-
- # Optional: Include PublishBuildArtifacts task
- enablePublishBuildArtifacts: false
-
- # Optional: Enable publishing using release pipelines
- enablePublishUsingPipelines: false
-
- graphFileGeneration:
- # Optional: Enable generating the graph files at the end of the build
- enabled: false
- # Optional: Include toolset dependencies in the generated graph files
- includeToolset: false
-
- # Required: A collection of jobs to run - https://docs.microsoft.com/en-us/azure/devops/pipelines/yaml-schema?view=vsts&tabs=schema#job
- jobs: []
-
- # Optional: Override automatically derived dependsOn value for "publish build assets" job
- publishBuildAssetsDependsOn: ''
-
- # Optional: should run as a public build even in the internal project
- # if 'true', the build won't run any of the internal only steps, even if it is running in non-public projects.
- runAsPublic: false
-
-# Internal resources (telemetry, microbuild) can only be accessed from non-public projects,
-# and some (Microbuild) should only be applied to non-PR cases for internal builds.
-
-jobs:
-- ${{ each job in parameters.jobs }}:
- - template: ../job/job.yml
- parameters:
- # pass along parameters
- ${{ each parameter in parameters }}:
- ${{ if ne(parameter.key, 'jobs') }}:
- ${{ parameter.key }}: ${{ parameter.value }}
-
- # pass along job properties
- ${{ each property in job }}:
- ${{ if ne(property.key, 'job') }}:
- ${{ property.key }}: ${{ property.value }}
-
- name: ${{ job.job }}
-
-- ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - ${{ if or(eq(parameters.enablePublishBuildAssets, true), eq(parameters.artifacts.publish.manifests, 'true'), ne(parameters.artifacts.publish.manifests, '')) }}:
- - template: ../job/publish-build-assets.yml
- parameters:
- continueOnError: ${{ parameters.continueOnError }}
- dependsOn:
- - ${{ if ne(parameters.publishBuildAssetsDependsOn, '') }}:
- - ${{ each job in parameters.publishBuildAssetsDependsOn }}:
- - ${{ job.job }}
- - ${{ if eq(parameters.publishBuildAssetsDependsOn, '') }}:
- - ${{ each job in parameters.jobs }}:
- - ${{ job.job }}
- pool:
- vmImage: vs2017-win2016
- runAsPublic: ${{ parameters.runAsPublic }}
- publishUsingPipelines: ${{ parameters.enablePublishUsingPipelines }}
- enablePublishBuildArtifacts: ${{ parameters.enablePublishBuildArtifacts }}
-
- - ${{ if eq(parameters.graphFileGeneration.enabled, true) }}:
- - template: ../job/generate-graph-files.yml
- parameters:
- continueOnError: ${{ parameters.continueOnError }}
- includeToolset: ${{ parameters.graphFileGeneration.includeToolset }}
- dependsOn:
- - Asset_Registry_Publish
- pool:
- vmImage: vs2017-win2016
diff --git a/eng/common/templates/phases/base.yml b/eng/common/templates/phases/base.yml
deleted file mode 100644
index 0123cf43b1..0000000000
--- a/eng/common/templates/phases/base.yml
+++ /dev/null
@@ -1,130 +0,0 @@
-parameters:
- # Optional: Clean sources before building
- clean: true
-
- # Optional: Git fetch depth
- fetchDepth: ''
-
- # Optional: name of the phase (not specifying phase name may cause name collisions)
- name: ''
- # Optional: display name of the phase
- displayName: ''
-
- # Optional: condition for the job to run
- condition: ''
-
- # Optional: dependencies of the phase
- dependsOn: ''
-
- # Required: A defined YAML queue
- queue: {}
-
- # Required: build steps
- steps: []
-
- # Optional: variables
- variables: {}
-
- # Optional: should run as a public build even in the internal project
- # if 'true', the build won't run any of the internal only steps, even if it is running in non-public projects.
- runAsPublic: false
-
- ## Telemetry variables
-
- # Optional: enable sending telemetry
- # if 'true', these "variables" must be specified in the variables object or as part of the queue matrix
- # _HelixBuildConfig - differentiate between Debug, Release, other
- # _HelixSource - Example: build/product
- # _HelixType - Example: official/dotnet/arcade/$(Build.SourceBranch)
- enableTelemetry: false
-
- # Optional: Enable installing Microbuild plugin
- # if 'true', these "variables" must be specified in the variables object or as part of the queue matrix
- # _TeamName - the name of your team
- # _SignType - 'test' or 'real'
- enableMicrobuild: false
-
-# Internal resources (telemetry, microbuild) can only be accessed from non-public projects,
-# and some (Microbuild) should only be applied to non-PR cases for internal builds.
-
-phases:
-- phase: ${{ parameters.name }}
-
- ${{ if ne(parameters.displayName, '') }}:
- displayName: ${{ parameters.displayName }}
-
- ${{ if ne(parameters.condition, '') }}:
- condition: ${{ parameters.condition }}
-
- ${{ if ne(parameters.dependsOn, '') }}:
- dependsOn: ${{ parameters.dependsOn }}
-
- queue: ${{ parameters.queue }}
-
- ${{ if ne(parameters.variables, '') }}:
- variables:
- ${{ insert }}: ${{ parameters.variables }}
-
- steps:
- - checkout: self
- clean: ${{ parameters.clean }}
- ${{ if ne(parameters.fetchDepth, '') }}:
- fetchDepth: ${{ parameters.fetchDepth }}
-
- - ${{ if eq(parameters.enableTelemetry, 'true') }}:
- - template: /eng/common/templates/steps/telemetry-start.yml
- parameters:
- buildConfig: $(_HelixBuildConfig)
- helixSource: $(_HelixSource)
- helixType: $(_HelixType)
- runAsPublic: ${{ parameters.runAsPublic }}
-
- - ${{ if eq(parameters.enableMicrobuild, 'true') }}:
- # Internal only resource, and Microbuild signing shouldn't be applied to PRs.
- - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - task: MicroBuildSigningPlugin@2
- displayName: Install MicroBuild plugin
- inputs:
- signType: $(_SignType)
- zipSources: false
- feedSource: https://dnceng.pkgs.visualstudio.com/_packaging/MicroBuildToolset/nuget/v3/index.json
-
- env:
- TeamName: $(_TeamName)
- continueOnError: false
- condition: and(succeeded(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT'))
-
- # Run provided build steps
- - ${{ parameters.steps }}
-
- - ${{ if eq(parameters.enableMicrobuild, 'true') }}:
- # Internal only resources
- - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - task: MicroBuildCleanup@1
- displayName: Execute Microbuild cleanup tasks
- condition: and(always(), in(variables['_SignType'], 'real', 'test'), eq(variables['Agent.Os'], 'Windows_NT'))
- env:
- TeamName: $(_TeamName)
-
- - ${{ if eq(parameters.enableTelemetry, 'true') }}:
- - template: /eng/common/templates/steps/telemetry-end.yml
- parameters:
- helixSource: $(_HelixSource)
- helixType: $(_HelixType)
-
- - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - task: CopyFiles@2
- displayName: Gather Asset Manifests
- inputs:
- SourceFolder: '$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)/AssetManifest'
- TargetFolder: '$(Build.StagingDirectory)/AssetManifests'
- continueOnError: false
- condition: and(succeeded(), eq(variables['_DotNetPublishToBlobFeed'], 'true'))
- - task: PublishBuildArtifacts@1
- displayName: Push Asset Manifests
- inputs:
- PathtoPublish: '$(Build.StagingDirectory)/AssetManifests'
- PublishLocation: Container
- ArtifactName: AssetManifests
- continueOnError: false
- condition: and(succeeded(), eq(variables['_DotNetPublishToBlobFeed'], 'true'))
diff --git a/eng/common/templates/phases/publish-build-assets.yml b/eng/common/templates/phases/publish-build-assets.yml
deleted file mode 100644
index a0a8074282..0000000000
--- a/eng/common/templates/phases/publish-build-assets.yml
+++ /dev/null
@@ -1,51 +0,0 @@
-parameters:
- dependsOn: ''
- queue: {}
- configuration: 'Debug'
- condition: succeeded()
- continueOnError: false
- runAsPublic: false
- publishUsingPipelines: false
-phases:
- - phase: Asset_Registry_Publish
- displayName: Publish to Build Asset Registry
- dependsOn: ${{ parameters.dependsOn }}
- queue: ${{ parameters.queue }}
- variables:
- _BuildConfig: ${{ parameters.configuration }}
- steps:
- - ${{ if and(eq(parameters.runAsPublic, 'false'), ne(variables['System.TeamProject'], 'public'), notin(variables['Build.Reason'], 'PullRequest')) }}:
- - task: DownloadBuildArtifacts@0
- displayName: Download artifact
- inputs:
- artifactName: AssetManifests
- downloadPath: '$(Build.StagingDirectory)/Download'
- condition: ${{ parameters.condition }}
- continueOnError: ${{ parameters.continueOnError }}
- - task: AzureKeyVault@1
- inputs:
- azureSubscription: 'DotNet-Engineering-Services_KeyVault'
- KeyVaultName: EngKeyVault
- SecretsFilter: 'MaestroAccessToken'
- condition: ${{ parameters.condition }}
- continueOnError: ${{ parameters.continueOnError }}
- - task: PowerShell@2
- displayName: Publish Build Assets
- inputs:
- filePath: eng\common\sdk-task.ps1
- arguments: -task PublishBuildAssets -restore -msbuildEngine dotnet
- /p:ManifestsPath='$(Build.StagingDirectory)/Download/AssetManifests'
- /p:BuildAssetRegistryToken=$(MaestroAccessToken)
- /p:MaestroApiEndpoint=https://maestro-prod.westus2.cloudapp.azure.com
- /p:PublishUsingPipelines=${{ parameters.publishUsingPipelines }}
- /p:Configuration=$(_BuildConfig)
- condition: ${{ parameters.condition }}
- continueOnError: ${{ parameters.continueOnError }}
- - task: PublishBuildArtifacts@1
- displayName: Publish Logs to VSTS
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)/artifacts/log/$(_BuildConfig)'
- PublishLocation: Container
- ArtifactName: $(Agent.Os)_Asset_Registry_Publish
- continueOnError: true
- condition: always()
diff --git a/eng/common/templates/steps/build-reason.yml b/eng/common/templates/steps/build-reason.yml
deleted file mode 100644
index eba58109b5..0000000000
--- a/eng/common/templates/steps/build-reason.yml
+++ /dev/null
@@ -1,12 +0,0 @@
-# build-reason.yml
-# Description: runs steps if build.reason condition is valid. conditions is a string of valid build reasons
-# to include steps (',' separated).
-parameters:
- conditions: ''
- steps: []
-
-steps:
- - ${{ if and( not(startsWith(parameters.conditions, 'not')), contains(parameters.conditions, variables['build.reason'])) }}:
- - ${{ parameters.steps }}
- - ${{ if and( startsWith(parameters.conditions, 'not'), not(contains(parameters.conditions, variables['build.reason']))) }}:
- - ${{ parameters.steps }}
diff --git a/eng/common/templates/steps/perf-send-to-helix.yml b/eng/common/templates/steps/perf-send-to-helix.yml
deleted file mode 100644
index b3ea9acf1f..0000000000
--- a/eng/common/templates/steps/perf-send-to-helix.yml
+++ /dev/null
@@ -1,66 +0,0 @@
-# Please remember to update the documentation if you make changes to these parameters!
-parameters:
- HelixSource: 'pr/default' # required -- sources must start with pr/, official/, prodcon/, or agent/
- HelixType: 'tests/default/' # required -- Helix telemetry which identifies what type of data this is; should include "test" for clarity and must end in '/'
- HelixBuild: $(Build.BuildNumber) # required -- the build number Helix will use to identify this -- automatically set to the AzDO build number
- HelixTargetQueues: '' # required -- semicolon delimited list of Helix queues to test on; see https://helix.dot.net/ for a list of queues
- HelixAccessToken: '' # required -- access token to make Helix API requests; should be provided by the appropriate variable group
- HelixPreCommands: '' # optional -- commands to run before Helix work item execution
- HelixPostCommands: '' # optional -- commands to run after Helix work item execution
- WorkItemDirectory: '' # optional -- a payload directory to zip up and send to Helix; requires WorkItemCommand; incompatible with XUnitProjects
- CorrelationPayloadDirectory: '' # optional -- a directory to zip up and send to Helix as a correlation payload
- IncludeDotNetCli: false # optional -- true will download a version of the .NET CLI onto the Helix machine as a correlation payload; requires DotNetCliPackageType and DotNetCliVersion
- DotNetCliPackageType: '' # optional -- either 'sdk' or 'runtime'; determines whether the sdk or runtime will be sent to Helix; see https://raw.githubusercontent.com/dotnet/core/master/release-notes/releases.json
- DotNetCliVersion: '' # optional -- version of the CLI to send to Helix; based on this: https://raw.githubusercontent.com/dotnet/core/master/release-notes/releases.json
- EnableXUnitReporter: false # optional -- true enables XUnit result reporting to Mission Control
- WaitForWorkItemCompletion: true # optional -- true will make the task wait until work items have been completed and fail the build if work items fail. False is "fire and forget."
- Creator: '' # optional -- if the build is external, use this to specify who is sending the job
- DisplayNamePrefix: 'Send job to Helix' # optional -- rename the beginning of the displayName of the steps in AzDO
- condition: succeeded() # optional -- condition for step to execute; defaults to succeeded()
- continueOnError: false # optional -- determines whether to continue the build if the step errors; defaults to false
-
-steps:
- - powershell: $(Build.SourcesDirectory)\eng\common\msbuild.ps1 $(Build.SourcesDirectory)\eng\common\performance\perfhelixpublish.proj /restore /t:Test /bl:$(Build.SourcesDirectory)\artifacts\log\$env:BuildConfig\SendToHelix.binlog
- displayName: ${{ parameters.DisplayNamePrefix }} (Windows)
- env:
- BuildConfig: $(_BuildConfig)
- HelixSource: ${{ parameters.HelixSource }}
- HelixType: ${{ parameters.HelixType }}
- HelixBuild: ${{ parameters.HelixBuild }}
- HelixTargetQueues: ${{ parameters.HelixTargetQueues }}
- HelixAccessToken: ${{ parameters.HelixAccessToken }}
- HelixPreCommands: ${{ parameters.HelixPreCommands }}
- HelixPostCommands: ${{ parameters.HelixPostCommands }}
- WorkItemDirectory: ${{ parameters.WorkItemDirectory }}
- CorrelationPayloadDirectory: ${{ parameters.CorrelationPayloadDirectory }}
- IncludeDotNetCli: ${{ parameters.IncludeDotNetCli }}
- DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }}
- DotNetCliVersion: ${{ parameters.DotNetCliVersion }}
- EnableXUnitReporter: ${{ parameters.EnableXUnitReporter }}
- WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }}
- Creator: ${{ parameters.Creator }}
- SYSTEM_ACCESSTOKEN: $(System.AccessToken)
- condition: and(${{ parameters.condition }}, eq(variables['Agent.Os'], 'Windows_NT'))
- continueOnError: ${{ parameters.continueOnError }}
- - script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/eng/common/performance/perfhelixpublish.proj /restore /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
- displayName: ${{ parameters.DisplayNamePrefix }} (Unix)
- env:
- BuildConfig: $(_BuildConfig)
- HelixSource: ${{ parameters.HelixSource }}
- HelixType: ${{ parameters.HelixType }}
- HelixBuild: ${{ parameters.HelixBuild }}
- HelixTargetQueues: ${{ parameters.HelixTargetQueues }}
- HelixAccessToken: ${{ parameters.HelixAccessToken }}
- HelixPreCommands: ${{ parameters.HelixPreCommands }}
- HelixPostCommands: ${{ parameters.HelixPostCommands }}
- WorkItemDirectory: ${{ parameters.WorkItemDirectory }}
- CorrelationPayloadDirectory: ${{ parameters.CorrelationPayloadDirectory }}
- IncludeDotNetCli: ${{ parameters.IncludeDotNetCli }}
- DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }}
- DotNetCliVersion: ${{ parameters.DotNetCliVersion }}
- EnableXUnitReporter: ${{ parameters.EnableXUnitReporter }}
- WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }}
- Creator: ${{ parameters.Creator }}
- SYSTEM_ACCESSTOKEN: $(System.AccessToken)
- condition: and(${{ parameters.condition }}, ne(variables['Agent.Os'], 'Windows_NT'))
- continueOnError: ${{ parameters.continueOnError }}
diff --git a/eng/common/templates/steps/promote-build.yml b/eng/common/templates/steps/promote-build.yml
deleted file mode 100644
index b90404435d..0000000000
--- a/eng/common/templates/steps/promote-build.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-parameters:
- ChannelId: 0
-
-steps:
-- task: PowerShell@2
- displayName: Add Build to Channel
- inputs:
- filePath: $(Build.SourcesDirectory)/eng/common/post-build/promote-build.ps1
- arguments: -BuildId $(BARBuildId)
- -ChannelId ${{ parameters.ChannelId }}
- -MaestroApiAccessToken $(MaestroApiAccessToken)
- -MaestroApiEndPoint $(MaestroApiEndPoint)
- -MaestroApiVersion $(MaestroApiVersion)
diff --git a/eng/common/templates/steps/publish-logs.yml b/eng/common/templates/steps/publish-logs.yml
deleted file mode 100644
index 8903ba57c0..0000000000
--- a/eng/common/templates/steps/publish-logs.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-parameters:
- StageLabel: ''
- JobLabel: ''
-
-steps:
-- task: Powershell@2
- displayName: Prepare Binlogs to Upload
- inputs:
- targetType: inline
- script: |
- New-Item -ItemType Directory $(Build.SourcesDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/
- Move-Item -Path $(Build.SourcesDirectory)/artifacts/log/Debug/* $(Build.SourcesDirectory)/PostBuildLogs/${{parameters.StageLabel}}/${{parameters.JobLabel}}/
- continueOnError: true
- condition: always()
-
-- task: PublishBuildArtifacts@1
- displayName: Publish Logs
- inputs:
- PathtoPublish: '$(Build.SourcesDirectory)/PostBuildLogs'
- PublishLocation: Container
- ArtifactName: PostBuilLogs
- continueOnError: true
- condition: always()
diff --git a/eng/common/templates/steps/run-on-unix.yml b/eng/common/templates/steps/run-on-unix.yml
deleted file mode 100644
index e1733814f6..0000000000
--- a/eng/common/templates/steps/run-on-unix.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-parameters:
- agentOs: ''
- steps: []
-
-steps:
-- ${{ if ne(parameters.agentOs, 'Windows_NT') }}:
- - ${{ parameters.steps }}
diff --git a/eng/common/templates/steps/run-on-windows.yml b/eng/common/templates/steps/run-on-windows.yml
deleted file mode 100644
index 73e7e9c275..0000000000
--- a/eng/common/templates/steps/run-on-windows.yml
+++ /dev/null
@@ -1,7 +0,0 @@
-parameters:
- agentOs: ''
- steps: []
-
-steps:
-- ${{ if eq(parameters.agentOs, 'Windows_NT') }}:
- - ${{ parameters.steps }}
diff --git a/eng/common/templates/steps/run-script-ifequalelse.yml b/eng/common/templates/steps/run-script-ifequalelse.yml
deleted file mode 100644
index 3d1242f558..0000000000
--- a/eng/common/templates/steps/run-script-ifequalelse.yml
+++ /dev/null
@@ -1,33 +0,0 @@
-parameters:
- # if parameter1 equals parameter 2, run 'ifScript' command, else run 'elsescript' command
- parameter1: ''
- parameter2: ''
- ifScript: ''
- elseScript: ''
-
- # name of script step
- name: Script
-
- # display name of script step
- displayName: If-Equal-Else Script
-
- # environment
- env: {}
-
- # conditional expression for step execution
- condition: ''
-
-steps:
-- ${{ if and(ne(parameters.ifScript, ''), eq(parameters.parameter1, parameters.parameter2)) }}:
- - script: ${{ parameters.ifScript }}
- name: ${{ parameters.name }}
- displayName: ${{ parameters.displayName }}
- env: ${{ parameters.env }}
- condition: ${{ parameters.condition }}
-
-- ${{ if and(ne(parameters.elseScript, ''), ne(parameters.parameter1, parameters.parameter2)) }}:
- - script: ${{ parameters.elseScript }}
- name: ${{ parameters.name }}
- displayName: ${{ parameters.displayName }}
- env: ${{ parameters.env }}
- condition: ${{ parameters.condition }}
\ No newline at end of file
diff --git a/eng/common/templates/steps/send-to-helix.yml b/eng/common/templates/steps/send-to-helix.yml
deleted file mode 100644
index 30becf01ea..0000000000
--- a/eng/common/templates/steps/send-to-helix.yml
+++ /dev/null
@@ -1,94 +0,0 @@
-# Please remember to update the documentation if you make changes to these parameters!
-parameters:
- HelixSource: 'pr/default' # required -- sources must start with pr/, official/, prodcon/, or agent/
- HelixType: 'tests/default/' # required -- Helix telemetry which identifies what type of data this is; should include "test" for clarity and must end in '/'
- HelixBuild: $(Build.BuildNumber) # required -- the build number Helix will use to identify this -- automatically set to the AzDO build number
- HelixTargetQueues: '' # required -- semicolon delimited list of Helix queues to test on; see https://helix.dot.net/ for a list of queues
- HelixAccessToken: '' # required -- access token to make Helix API requests; should be provided by the appropriate variable group
- HelixConfiguration: '' # optional -- additional property attached to a job
- HelixPreCommands: '' # optional -- commands to run before Helix work item execution
- HelixPostCommands: '' # optional -- commands to run after Helix work item execution
- WorkItemDirectory: '' # optional -- a payload directory to zip up and send to Helix; requires WorkItemCommand; incompatible with XUnitProjects
- WorkItemCommand: '' # optional -- a command to execute on the payload; requires WorkItemDirectory; incompatible with XUnitProjects
- WorkItemTimeout: '' # optional -- a timeout in seconds for the work item command; requires WorkItemDirectory; incompatible with XUnitProjects
- CorrelationPayloadDirectory: '' # optional -- a directory to zip up and send to Helix as a correlation payload
- XUnitProjects: '' # optional -- semicolon delimited list of XUnitProjects to parse and send to Helix; requires XUnitRuntimeTargetFramework, XUnitPublishTargetFramework, XUnitRunnerVersion, and IncludeDotNetCli=true
- XUnitWorkItemTimeout: '' # optional -- the workitem timeout in seconds for all workitems created from the xUnit projects specified by XUnitProjects
- XUnitPublishTargetFramework: '' # optional -- framework to use to publish your xUnit projects
- XUnitRuntimeTargetFramework: '' # optional -- framework to use for the xUnit console runner
- XUnitRunnerVersion: '' # optional -- version of the xUnit nuget package you wish to use on Helix; required for XUnitProjects
- IncludeDotNetCli: false # optional -- true will download a version of the .NET CLI onto the Helix machine as a correlation payload; requires DotNetCliPackageType and DotNetCliVersion
- DotNetCliPackageType: '' # optional -- either 'sdk' or 'runtime'; determines whether the sdk or runtime will be sent to Helix; see https://raw.githubusercontent.com/dotnet/core/master/release-notes/releases.json
- DotNetCliVersion: '' # optional -- version of the CLI to send to Helix; based on this: https://raw.githubusercontent.com/dotnet/core/master/release-notes/releases.json
- EnableXUnitReporter: false # optional -- true enables XUnit result reporting to Mission Control
- WaitForWorkItemCompletion: true # optional -- true will make the task wait until work items have been completed and fail the build if work items fail. False is "fire and forget."
- IsExternal: false # [DEPRECATED] -- doesn't do anything, jobs are external if HelixAccessToken is empty and Creator is set
- HelixBaseUri: 'https://helix.dot.net/' # optional -- sets the Helix API base URI (allows targeting int)
- Creator: '' # optional -- if the build is external, use this to specify who is sending the job
- DisplayNamePrefix: 'Run Tests' # optional -- rename the beginning of the displayName of the steps in AzDO
- condition: succeeded() # optional -- condition for step to execute; defaults to succeeded()
- continueOnError: false # optional -- determines whether to continue the build if the step errors; defaults to false
-
-steps:
- - powershell: 'powershell "$env:BUILD_SOURCESDIRECTORY\eng\common\msbuild.ps1 $env:BUILD_SOURCESDIRECTORY\eng\common\helixpublish.proj /restore /t:Test /bl:$env:BUILD_SOURCESDIRECTORY\artifacts\log\$env:BuildConfig\SendToHelix.binlog"'
- displayName: ${{ parameters.DisplayNamePrefix }} (Windows)
- env:
- BuildConfig: $(_BuildConfig)
- HelixSource: ${{ parameters.HelixSource }}
- HelixType: ${{ parameters.HelixType }}
- HelixBuild: ${{ parameters.HelixBuild }}
- HelixConfiguration: ${{ parameters.HelixConfiguration }}
- HelixTargetQueues: ${{ parameters.HelixTargetQueues }}
- HelixAccessToken: ${{ parameters.HelixAccessToken }}
- HelixPreCommands: ${{ parameters.HelixPreCommands }}
- HelixPostCommands: ${{ parameters.HelixPostCommands }}
- WorkItemDirectory: ${{ parameters.WorkItemDirectory }}
- WorkItemCommand: ${{ parameters.WorkItemCommand }}
- WorkItemTimeout: ${{ parameters.WorkItemTimeout }}
- CorrelationPayloadDirectory: ${{ parameters.CorrelationPayloadDirectory }}
- XUnitProjects: ${{ parameters.XUnitProjects }}
- XUnitWorkItemTimeout: ${{ parameters.XUnitWorkItemTimeout }}
- XUnitPublishTargetFramework: ${{ parameters.XUnitPublishTargetFramework }}
- XUnitRuntimeTargetFramework: ${{ parameters.XUnitRuntimeTargetFramework }}
- XUnitRunnerVersion: ${{ parameters.XUnitRunnerVersion }}
- IncludeDotNetCli: ${{ parameters.IncludeDotNetCli }}
- DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }}
- DotNetCliVersion: ${{ parameters.DotNetCliVersion }}
- EnableXUnitReporter: ${{ parameters.EnableXUnitReporter }}
- WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }}
- HelixBaseUri: ${{ parameters.HelixBaseUri }}
- Creator: ${{ parameters.Creator }}
- SYSTEM_ACCESSTOKEN: $(System.AccessToken)
- condition: and(${{ parameters.condition }}, eq(variables['Agent.Os'], 'Windows_NT'))
- continueOnError: ${{ parameters.continueOnError }}
- - script: $BUILD_SOURCESDIRECTORY/eng/common/msbuild.sh $BUILD_SOURCESDIRECTORY/eng/common/helixpublish.proj /restore /t:Test /bl:$BUILD_SOURCESDIRECTORY/artifacts/log/$BuildConfig/SendToHelix.binlog
- displayName: ${{ parameters.DisplayNamePrefix }} (Unix)
- env:
- BuildConfig: $(_BuildConfig)
- HelixSource: ${{ parameters.HelixSource }}
- HelixType: ${{ parameters.HelixType }}
- HelixBuild: ${{ parameters.HelixBuild }}
- HelixConfiguration: ${{ parameters.HelixConfiguration }}
- HelixTargetQueues: ${{ parameters.HelixTargetQueues }}
- HelixAccessToken: ${{ parameters.HelixAccessToken }}
- HelixPreCommands: ${{ parameters.HelixPreCommands }}
- HelixPostCommands: ${{ parameters.HelixPostCommands }}
- WorkItemDirectory: ${{ parameters.WorkItemDirectory }}
- WorkItemCommand: ${{ parameters.WorkItemCommand }}
- WorkItemTimeout: ${{ parameters.WorkItemTimeout }}
- CorrelationPayloadDirectory: ${{ parameters.CorrelationPayloadDirectory }}
- XUnitProjects: ${{ parameters.XUnitProjects }}
- XUnitWorkItemTimeout: ${{ parameters.XUnitWorkItemTimeout }}
- XUnitPublishTargetFramework: ${{ parameters.XUnitPublishTargetFramework }}
- XUnitRuntimeTargetFramework: ${{ parameters.XUnitRuntimeTargetFramework }}
- XUnitRunnerVersion: ${{ parameters.XUnitRunnerVersion }}
- IncludeDotNetCli: ${{ parameters.IncludeDotNetCli }}
- DotNetCliPackageType: ${{ parameters.DotNetCliPackageType }}
- DotNetCliVersion: ${{ parameters.DotNetCliVersion }}
- EnableXUnitReporter: ${{ parameters.EnableXUnitReporter }}
- WaitForWorkItemCompletion: ${{ parameters.WaitForWorkItemCompletion }}
- HelixBaseUri: ${{ parameters.HelixBaseUri }}
- Creator: ${{ parameters.Creator }}
- SYSTEM_ACCESSTOKEN: $(System.AccessToken)
- condition: and(${{ parameters.condition }}, ne(variables['Agent.Os'], 'Windows_NT'))
- continueOnError: ${{ parameters.continueOnError }}
diff --git a/eng/common/templates/steps/telemetry-end.yml b/eng/common/templates/steps/telemetry-end.yml
deleted file mode 100644
index fadc04ca1b..0000000000
--- a/eng/common/templates/steps/telemetry-end.yml
+++ /dev/null
@@ -1,102 +0,0 @@
-parameters:
- maxRetries: 5
- retryDelay: 10 # in seconds
-
-steps:
-- bash: |
- if [ "$AGENT_JOBSTATUS" = "Succeeded" ] || [ "$AGENT_JOBSTATUS" = "PartiallySucceeded" ]; then
- errorCount=0
- else
- errorCount=1
- fi
- warningCount=0
-
- curlStatus=1
- retryCount=0
- # retry loop to harden against spotty telemetry connections
- # we don't retry successes and 4xx client errors
- until [[ $curlStatus -eq 0 || ( $curlStatus -ge 400 && $curlStatus -le 499 ) || $retryCount -ge $MaxRetries ]]
- do
- if [ $retryCount -gt 0 ]; then
- echo "Failed to send telemetry to Helix; waiting $RetryDelay seconds before retrying..."
- sleep $RetryDelay
- fi
-
- # create a temporary file for curl output
- res=`mktemp`
-
- curlResult=`
- curl --verbose --output $res --write-out "%{http_code}"\
- -H 'Content-Type: application/json' \
- -H "X-Helix-Job-Token: $Helix_JobToken" \
- -H 'Content-Length: 0' \
- -X POST -G "https://helix.dot.net/api/2018-03-14/telemetry/job/build/$Helix_WorkItemId/finish" \
- --data-urlencode "errorCount=$errorCount" \
- --data-urlencode "warningCount=$warningCount"`
- curlStatus=$?
-
- if [ $curlStatus -eq 0 ]; then
- if [ $curlResult -gt 299 ] || [ $curlResult -lt 200 ]; then
- curlStatus=$curlResult
- fi
- fi
-
- let retryCount++
- done
-
- if [ $curlStatus -ne 0 ]; then
- echo "Failed to Send Build Finish information after $retryCount retries"
- vstsLogOutput="vso[task.logissue type=error;sourcepath=templates/steps/telemetry-end.yml;code=1;]Failed to Send Build Finish information: $curlStatus"
- echo "##$vstsLogOutput"
- exit 1
- fi
- displayName: Send Unix Build End Telemetry
- env:
- # defined via VSTS variables in start-job.sh
- Helix_JobToken: $(Helix_JobToken)
- Helix_WorkItemId: $(Helix_WorkItemId)
- MaxRetries: ${{ parameters.maxRetries }}
- RetryDelay: ${{ parameters.retryDelay }}
- condition: and(always(), ne(variables['Agent.Os'], 'Windows_NT'))
-- powershell: |
- if (($env:Agent_JobStatus -eq 'Succeeded') -or ($env:Agent_JobStatus -eq 'PartiallySucceeded')) {
- $ErrorCount = 0
- } else {
- $ErrorCount = 1
- }
- $WarningCount = 0
-
- # Basic retry loop to harden against server flakiness
- $retryCount = 0
- while ($retryCount -lt $env:MaxRetries) {
- try {
- Invoke-RestMethod -Uri "https://helix.dot.net/api/2018-03-14/telemetry/job/build/$env:Helix_WorkItemId/finish?errorCount=$ErrorCount&warningCount=$WarningCount" -Method Post -ContentType "application/json" -Body "" `
- -Headers @{ 'X-Helix-Job-Token'=$env:Helix_JobToken }
- break
- }
- catch {
- $statusCode = $_.Exception.Response.StatusCode.value__
- if ($statusCode -ge 400 -and $statusCode -le 499) {
- Write-Host "##vso[task.logissue]error Failed to send telemetry to Helix (status code $statusCode); not retrying (4xx client error)"
- Write-Host "##vso[task.logissue]error ", $_.Exception.GetType().FullName, $_.Exception.Message
- exit 1
- }
- Write-Host "Failed to send telemetry to Helix (status code $statusCode); waiting $env:RetryDelay seconds before retrying..."
- $retryCount++
- sleep $env:RetryDelay
- continue
- }
- }
-
- if ($retryCount -ge $env:MaxRetries) {
- Write-Host "##vso[task.logissue]error Failed to send telemetry to Helix after $retryCount retries."
- exit 1
- }
- displayName: Send Windows Build End Telemetry
- env:
- # defined via VSTS variables in start-job.ps1
- Helix_JobToken: $(Helix_JobToken)
- Helix_WorkItemId: $(Helix_WorkItemId)
- MaxRetries: ${{ parameters.maxRetries }}
- RetryDelay: ${{ parameters.retryDelay }}
- condition: and(always(),eq(variables['Agent.Os'], 'Windows_NT'))
diff --git a/eng/common/templates/steps/telemetry-start.yml b/eng/common/templates/steps/telemetry-start.yml
deleted file mode 100644
index 32c01ef0b5..0000000000
--- a/eng/common/templates/steps/telemetry-start.yml
+++ /dev/null
@@ -1,241 +0,0 @@
-parameters:
- helixSource: 'undefined_defaulted_in_telemetry.yml'
- helixType: 'undefined_defaulted_in_telemetry.yml'
- buildConfig: ''
- runAsPublic: false
- maxRetries: 5
- retryDelay: 10 # in seconds
-
-steps:
-- ${{ if and(eq(parameters.runAsPublic, 'false'), not(eq(variables['System.TeamProject'], 'public'))) }}:
- - task: AzureKeyVault@1
- inputs:
- azureSubscription: 'HelixProd_KeyVault'
- KeyVaultName: HelixProdKV
- SecretsFilter: 'HelixApiAccessToken'
- condition: always()
-- bash: |
- # create a temporary file
- jobInfo=`mktemp`
-
- # write job info content to temporary file
- cat > $jobInfo <' | Set-Content $proj
-
- MSBuild-Core $proj $bl /t:__WriteToolsetLocation /clp:ErrorsOnly`;NoSummary /p:__ToolsetLocationOutputFile=$toolsetLocationFile
-
- $path = Get-Content $toolsetLocationFile -TotalCount 1
- if (!(Test-Path $path)) {
- throw "Invalid toolset path: $path"
- }
-
- return $global:_ToolsetBuildProj = $path
-}
-
-function ExitWithExitCode([int] $exitCode) {
- if ($ci -and $prepareMachine) {
- Stop-Processes
- }
- exit $exitCode
-}
-
-function Stop-Processes() {
- Write-Host 'Killing running build processes...'
- foreach ($processName in $processesToStopOnExit) {
- Get-Process -Name $processName -ErrorAction SilentlyContinue | Stop-Process
- }
-}
-
-#
-# Executes msbuild (or 'dotnet msbuild') with arguments passed to the function.
-# The arguments are automatically quoted.
-# Terminates the script if the build fails.
-#
-function MSBuild() {
- if ($pipelinesLog) {
- $buildTool = InitializeBuildTool
-
- # Work around issues with Azure Artifacts credential provider
- # https://github.com/dotnet/arcade/issues/3932
- if ($ci -and $buildTool.Tool -eq 'dotnet') {
- dotnet nuget locals http-cache -c
-
- $env:NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS = 20
- $env:NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS = 20
- Write-PipelineSetVariable -Name 'NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS' -Value '20'
- Write-PipelineSetVariable -Name 'NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS' -Value '20'
- }
-
- $toolsetBuildProject = InitializeToolset
- $path = Split-Path -parent $toolsetBuildProject
- $path = Join-Path $path (Join-Path $buildTool.Framework 'Microsoft.DotNet.Arcade.Sdk.dll')
- $args += "/logger:$path"
- }
-
- MSBuild-Core @args
-}
-
-#
-# Executes msbuild (or 'dotnet msbuild') with arguments passed to the function.
-# The arguments are automatically quoted.
-# Terminates the script if the build fails.
-#
-function MSBuild-Core() {
- if ($ci) {
- if (!$binaryLog) {
- Write-PipelineTelemetryError -Category 'Build' -Message 'Binary log must be enabled in CI build.'
- ExitWithExitCode 1
- }
-
- if ($nodeReuse) {
- Write-PipelineTelemetryError -Category 'Build' -Message 'Node reuse must be disabled in CI build.'
- ExitWithExitCode 1
- }
- }
-
- $buildTool = InitializeBuildTool
-
- $cmdArgs = "$($buildTool.Command) /m /nologo /clp:Summary /v:$verbosity /nr:$nodeReuse /p:ContinuousIntegrationBuild=$ci"
-
- if ($warnAsError) {
- $cmdArgs += ' /warnaserror /p:TreatWarningsAsErrors=true'
- }
- else {
- $cmdArgs += ' /p:TreatWarningsAsErrors=false'
- }
-
- foreach ($arg in $args) {
- if ($arg -ne $null -and $arg.Trim() -ne "") {
- $cmdArgs += " `"$arg`""
- }
- }
-
- $exitCode = Exec-Process $buildTool.Path $cmdArgs
-
- if ($exitCode -ne 0) {
- Write-PipelineTelemetryError Category 'Build' -Message 'Build failed.'
-
- $buildLog = GetMSBuildBinaryLogCommandLineArgument $args
- if ($buildLog -ne $null) {
- Write-Host "See log: $buildLog" -ForegroundColor DarkGray
- }
-
- ExitWithExitCode $exitCode
- }
-}
-
-function GetMSBuildBinaryLogCommandLineArgument($arguments) {
- foreach ($argument in $arguments) {
- if ($argument -ne $null) {
- $arg = $argument.Trim()
- if ($arg.StartsWith('/bl:', "OrdinalIgnoreCase")) {
- return $arg.Substring('/bl:'.Length)
- }
-
- if ($arg.StartsWith('/binaryLogger:', 'OrdinalIgnoreCase')) {
- return $arg.Substring('/binaryLogger:'.Length)
- }
- }
- }
-
- return $null
-}
-
-. $PSScriptRoot\pipeline-logging-functions.ps1
-
-$RepoRoot = Resolve-Path (Join-Path $PSScriptRoot '..\..')
-$EngRoot = Resolve-Path (Join-Path $PSScriptRoot '..')
-$ArtifactsDir = Join-Path $RepoRoot 'artifacts'
-$ToolsetDir = Join-Path $ArtifactsDir 'toolset'
-$ToolsDir = Join-Path $RepoRoot '.tools'
-$LogDir = Join-Path (Join-Path $ArtifactsDir 'log') $configuration
-$TempDir = Join-Path (Join-Path $ArtifactsDir 'tmp') $configuration
-$GlobalJson = Get-Content -Raw -Path (Join-Path $RepoRoot 'global.json') | ConvertFrom-Json
-# true if global.json contains a "runtimes" section
-$globalJsonHasRuntimes = if ($GlobalJson.tools.PSObject.Properties.Name -Match 'runtimes') { $true } else { $false }
-
-Create-Directory $ToolsetDir
-Create-Directory $TempDir
-Create-Directory $LogDir
-
-Write-PipelineSetVariable -Name 'Artifacts' -Value $ArtifactsDir
-Write-PipelineSetVariable -Name 'Artifacts.Toolset' -Value $ToolsetDir
-Write-PipelineSetVariable -Name 'Artifacts.Log' -Value $LogDir
-Write-PipelineSetVariable -Name 'TEMP' -Value $TempDir
-Write-PipelineSetVariable -Name 'TMP' -Value $TempDir
-
-# Import custom tools configuration, if present in the repo.
-# Note: Import in global scope so that the script set top-level variables without qualification.
-if (!$disableConfigureToolsetImport) {
- $configureToolsetScript = Join-Path $EngRoot 'configure-toolset.ps1'
- if (Test-Path $configureToolsetScript) {
- . $configureToolsetScript
- if ((Test-Path variable:failOnConfigureToolsetError) -And $failOnConfigureToolsetError) {
- if ((Test-Path variable:LastExitCode) -And ($LastExitCode -ne 0)) {
- Write-PipelineTelemetryError -Category 'Build' -Message 'configure-toolset.ps1 returned a non-zero exit code'
- ExitWithExitCode $LastExitCode
- }
- }
- }
-}
diff --git a/eng/common/tools.sh b/eng/common/tools.sh
deleted file mode 100755
index 6054a3798f..0000000000
--- a/eng/common/tools.sh
+++ /dev/null
@@ -1,451 +0,0 @@
-#!/usr/bin/env bash
-
-# Initialize variables if they aren't already defined.
-
-# CI mode - set to true on CI server for PR validation build or official build.
-ci=${ci:-false}
-
-# Set to true to use the pipelines logger which will enable Azure logging output.
-# https://github.com/Microsoft/azure-pipelines-tasks/blob/master/docs/authoring/commands.md
-# This flag is meant as a temporary opt-opt for the feature while validate it across
-# our consumers. It will be deleted in the future.
-if [[ "$ci" == true ]]; then
- pipelines_log=${pipelines_log:-true}
-else
- pipelines_log=${pipelines_log:-false}
-fi
-
-# Build configuration. Common values include 'Debug' and 'Release', but the repository may use other names.
-configuration=${configuration:-'Debug'}
-
-# Set to true to output binary log from msbuild. Note that emitting binary log slows down the build.
-# Binary log must be enabled on CI.
-binary_log=${binary_log:-$ci}
-
-# Turns on machine preparation/clean up code that changes the machine state (e.g. kills build processes).
-prepare_machine=${prepare_machine:-false}
-
-# True to restore toolsets and dependencies.
-restore=${restore:-true}
-
-# Adjusts msbuild verbosity level.
-verbosity=${verbosity:-'minimal'}
-
-# Set to true to reuse msbuild nodes. Recommended to not reuse on CI.
-if [[ "$ci" == true ]]; then
- node_reuse=${node_reuse:-false}
-else
- node_reuse=${node_reuse:-true}
-fi
-
-# Configures warning treatment in msbuild.
-warn_as_error=${warn_as_error:-true}
-
-# True to attempt using .NET Core already that meets requirements specified in global.json
-# installed on the machine instead of downloading one.
-use_installed_dotnet_cli=${use_installed_dotnet_cli:-true}
-
-# Enable repos to use a particular version of the on-line dotnet-install scripts.
-# default URL: https://dot.net/v1/dotnet-install.sh
-dotnetInstallScriptVersion=${dotnetInstallScriptVersion:-'v1'}
-
-# True to use global NuGet cache instead of restoring packages to repository-local directory.
-if [[ "$ci" == true ]]; then
- use_global_nuget_cache=${use_global_nuget_cache:-false}
-else
- use_global_nuget_cache=${use_global_nuget_cache:-true}
-fi
-
-# Resolve any symlinks in the given path.
-function ResolvePath {
- local path=$1
-
- while [[ -h $path ]]; do
- local dir="$( cd -P "$( dirname "$path" )" && pwd )"
- path="$(readlink "$path")"
-
- # if $path was a relative symlink, we need to resolve it relative to the path where the
- # symlink file was located
- [[ $path != /* ]] && path="$dir/$path"
- done
-
- # return value
- _ResolvePath="$path"
-}
-
-# ReadVersionFromJson [json key]
-function ReadGlobalVersion {
- local key=$1
-
- local line=`grep -m 1 "$key" "$global_json_file"`
- local pattern="\"$key\" *: *\"(.*)\""
-
- if [[ ! $line =~ $pattern ]]; then
- Write-PipelineTelemetryError -category 'Build' "Error: Cannot find \"$key\" in $global_json_file"
- ExitWithExitCode 1
- fi
-
- # return value
- _ReadGlobalVersion=${BASH_REMATCH[1]}
-}
-
-function InitializeDotNetCli {
- if [[ -n "${_InitializeDotNetCli:-}" ]]; then
- return
- fi
-
- local install=$1
-
- # Don't resolve runtime, shared framework, or SDK from other locations to ensure build determinism
- export DOTNET_MULTILEVEL_LOOKUP=0
-
- # Disable first run since we want to control all package sources
- export DOTNET_SKIP_FIRST_TIME_EXPERIENCE=1
-
- # Disable telemetry on CI
- if [[ $ci == true ]]; then
- export DOTNET_CLI_TELEMETRY_OPTOUT=1
- fi
-
- # LTTNG is the logging infrastructure used by Core CLR. Need this variable set
- # so it doesn't output warnings to the console.
- export LTTNG_HOME="$HOME"
-
- # Source Build uses DotNetCoreSdkDir variable
- if [[ -n "${DotNetCoreSdkDir:-}" ]]; then
- export DOTNET_INSTALL_DIR="$DotNetCoreSdkDir"
- fi
-
- # Find the first path on $PATH that contains the dotnet.exe
- if [[ "$use_installed_dotnet_cli" == true && $global_json_has_runtimes == false && -z "${DOTNET_INSTALL_DIR:-}" ]]; then
- local dotnet_path=`command -v dotnet`
- if [[ -n "$dotnet_path" ]]; then
- ResolvePath "$dotnet_path"
- export DOTNET_INSTALL_DIR=`dirname "$_ResolvePath"`
- fi
- fi
-
- ReadGlobalVersion "dotnet"
- local dotnet_sdk_version=$_ReadGlobalVersion
- local dotnet_root=""
-
- # Use dotnet installation specified in DOTNET_INSTALL_DIR if it contains the required SDK version,
- # otherwise install the dotnet CLI and SDK to repo local .dotnet directory to avoid potential permission issues.
- if [[ $global_json_has_runtimes == false && -n "${DOTNET_INSTALL_DIR:-}" && -d "$DOTNET_INSTALL_DIR/sdk/$dotnet_sdk_version" ]]; then
- dotnet_root="$DOTNET_INSTALL_DIR"
- else
- dotnet_root="$repo_root/.dotnet"
-
- export DOTNET_INSTALL_DIR="$dotnet_root"
-
- if [[ ! -d "$DOTNET_INSTALL_DIR/sdk/$dotnet_sdk_version" ]]; then
- if [[ "$install" == true ]]; then
- InstallDotNetSdk "$dotnet_root" "$dotnet_sdk_version"
- else
- Write-PipelineTelemetryError -category 'InitializeToolset' "Unable to find dotnet with SDK version '$dotnet_sdk_version'"
- ExitWithExitCode 1
- fi
- fi
- fi
-
- # Add dotnet to PATH. This prevents any bare invocation of dotnet in custom
- # build steps from using anything other than what we've downloaded.
- Write-PipelinePrependPath -path "$dotnet_root"
-
- Write-PipelineSetVariable -name "DOTNET_MULTILEVEL_LOOKUP" -value "0"
- Write-PipelineSetVariable -name "DOTNET_SKIP_FIRST_TIME_EXPERIENCE" -value "1"
-
- # return value
- _InitializeDotNetCli="$dotnet_root"
-}
-
-function InstallDotNetSdk {
- local root=$1
- local version=$2
- local architecture=""
- if [[ $# == 3 ]]; then
- architecture=$3
- fi
- InstallDotNet "$root" "$version" $architecture
-}
-
-function InstallDotNet {
- local root=$1
- local version=$2
-
- GetDotNetInstallScript "$root"
- local install_script=$_GetDotNetInstallScript
-
- local archArg=''
- if [[ -n "${3:-}" ]]; then
- archArg="--architecture $3"
- fi
- local runtimeArg=''
- if [[ -n "${4:-}" ]]; then
- runtimeArg="--runtime $4"
- fi
-
- local skipNonVersionedFilesArg=""
- if [[ "$#" -ge "5" ]]; then
- skipNonVersionedFilesArg="--skip-non-versioned-files"
- fi
- bash "$install_script" --version $version --install-dir "$root" $archArg $runtimeArg $skipNonVersionedFilesArg || {
- local exit_code=$?
- Write-PipelineTelemetryError -category 'InitializeToolset' "Failed to install dotnet SDK from public location (exit code '$exit_code')."
-
- if [[ -n "$runtimeArg" ]]; then
- local runtimeSourceFeed=''
- if [[ -n "${6:-}" ]]; then
- runtimeSourceFeed="--azure-feed $6"
- fi
-
- local runtimeSourceFeedKey=''
- if [[ -n "${7:-}" ]]; then
- decodedFeedKey=`echo $7 | base64 --decode`
- runtimeSourceFeedKey="--feed-credential $decodedFeedKey"
- fi
-
- if [[ -n "$runtimeSourceFeed" || -n "$runtimeSourceFeedKey" ]]; then
- bash "$install_script" --version $version --install-dir "$root" $archArg $runtimeArg $skipNonVersionedFilesArg $runtimeSourceFeed $runtimeSourceFeedKey || {
- local exit_code=$?
- Write-PipelineTelemetryError -category 'InitializeToolset' "Failed to install dotnet SDK from custom location '$runtimeSourceFeed' (exit code '$exit_code')."
- ExitWithExitCode $exit_code
- }
- fi
- fi
- }
-}
-
-function GetDotNetInstallScript {
- local root=$1
- local install_script="$root/dotnet-install.sh"
- local install_script_url="https://dot.net/$dotnetInstallScriptVersion/dotnet-install.sh"
-
- if [[ ! -a "$install_script" ]]; then
- mkdir -p "$root"
-
- echo "Downloading '$install_script_url'"
-
- # Use curl if available, otherwise use wget
- if command -v curl > /dev/null; then
- curl "$install_script_url" -sSL --retry 10 --create-dirs -o "$install_script" || {
- local exit_code=$?
- Write-PipelineTelemetryError -category 'InitializeToolset' "Failed to acquire dotnet install script (exit code '$exit_code')."
- ExitWithExitCode $exit_code
- }
- else
- wget -q -O "$install_script" "$install_script_url" || {
- local exit_code=$?
- Write-PipelineTelemetryError -category 'InitializeToolset' "Failed to acquire dotnet install script (exit code '$exit_code')."
- ExitWithExitCode $exit_code
- }
- fi
- fi
- # return value
- _GetDotNetInstallScript="$install_script"
-}
-
-function InitializeBuildTool {
- if [[ -n "${_InitializeBuildTool:-}" ]]; then
- return
- fi
-
- InitializeDotNetCli $restore
-
- # return values
- _InitializeBuildTool="$_InitializeDotNetCli/dotnet"
- _InitializeBuildToolCommand="msbuild"
- _InitializeBuildToolFramework="netcoreapp2.1"
-}
-
-function GetNuGetPackageCachePath {
- if [[ -z ${NUGET_PACKAGES:-} ]]; then
- if [[ "$use_global_nuget_cache" == true ]]; then
- export NUGET_PACKAGES="$HOME/.nuget/packages"
- else
- export NUGET_PACKAGES="$repo_root/.packages"
- fi
- fi
-
- # return value
- _GetNuGetPackageCachePath=$NUGET_PACKAGES
-}
-
-function InitializeNativeTools() {
- if [[ -n "${DisableNativeToolsetInstalls:-}" ]]; then
- return
- fi
- if grep -Fq "native-tools" $global_json_file
- then
- local nativeArgs=""
- if [[ "$ci" == true ]]; then
- nativeArgs="--installDirectory $tools_dir"
- fi
- "$_script_dir/init-tools-native.sh" $nativeArgs
- fi
-}
-
-function InitializeToolset {
- if [[ -n "${_InitializeToolset:-}" ]]; then
- return
- fi
-
- GetNuGetPackageCachePath
-
- ReadGlobalVersion "Microsoft.DotNet.Arcade.Sdk"
-
- local toolset_version=$_ReadGlobalVersion
- local toolset_location_file="$toolset_dir/$toolset_version.txt"
-
- if [[ -a "$toolset_location_file" ]]; then
- local path=`cat "$toolset_location_file"`
- if [[ -a "$path" ]]; then
- # return value
- _InitializeToolset="$path"
- return
- fi
- fi
-
- if [[ "$restore" != true ]]; then
- Write-PipelineTelemetryError -category 'InitializeToolset' "Toolset version $toolset_version has not been restored."
- ExitWithExitCode 2
- fi
-
- local proj="$toolset_dir/restore.proj"
-
- local bl=""
- if [[ "$binary_log" == true ]]; then
- bl="/bl:$log_dir/ToolsetRestore.binlog"
- fi
-
- echo '' > "$proj"
- MSBuild-Core "$proj" $bl /t:__WriteToolsetLocation /clp:ErrorsOnly\;NoSummary /p:__ToolsetLocationOutputFile="$toolset_location_file"
-
- local toolset_build_proj=`cat "$toolset_location_file"`
-
- if [[ ! -a "$toolset_build_proj" ]]; then
- Write-PipelineTelemetryError -category 'Build' "Invalid toolset path: $toolset_build_proj"
- ExitWithExitCode 3
- fi
-
- # return value
- _InitializeToolset="$toolset_build_proj"
-}
-
-function ExitWithExitCode {
- if [[ "$ci" == true && "$prepare_machine" == true ]]; then
- StopProcesses
- fi
- exit $1
-}
-
-function StopProcesses {
- echo "Killing running build processes..."
- pkill -9 "dotnet" || true
- pkill -9 "vbcscompiler" || true
- return 0
-}
-
-function MSBuild {
- local args=$@
- if [[ "$pipelines_log" == true ]]; then
- InitializeBuildTool
- InitializeToolset
-
- # Work around issues with Azure Artifacts credential provider
- # https://github.com/dotnet/arcade/issues/3932
- if [[ "$ci" == true ]]; then
- dotnet nuget locals http-cache -c
-
- export NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS=20
- export NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS=20
- Write-PipelineSetVariable -name "NUGET_PLUGIN_HANDSHAKE_TIMEOUT_IN_SECONDS" -value "20"
- Write-PipelineSetVariable -name "NUGET_PLUGIN_REQUEST_TIMEOUT_IN_SECONDS" -value "20"
- fi
-
- local toolset_dir="${_InitializeToolset%/*}"
- local logger_path="$toolset_dir/$_InitializeBuildToolFramework/Microsoft.DotNet.Arcade.Sdk.dll"
- args=( "${args[@]}" "-logger:$logger_path" )
- fi
-
- MSBuild-Core ${args[@]}
-}
-
-function MSBuild-Core {
- if [[ "$ci" == true ]]; then
- if [[ "$binary_log" != true ]]; then
- Write-PipelineTelemetryError -category 'Build' "Binary log must be enabled in CI build."
- ExitWithExitCode 1
- fi
-
- if [[ "$node_reuse" == true ]]; then
- Write-PipelineTelemetryError -category 'Build' "Node reuse must be disabled in CI build."
- ExitWithExitCode 1
- fi
- fi
-
- InitializeBuildTool
-
- local warnaserror_switch=""
- if [[ $warn_as_error == true ]]; then
- warnaserror_switch="/warnaserror"
- fi
-
- "$_InitializeBuildTool" "$_InitializeBuildToolCommand" /m /nologo /clp:Summary /v:$verbosity /nr:$node_reuse $warnaserror_switch /p:TreatWarningsAsErrors=$warn_as_error /p:ContinuousIntegrationBuild=$ci "$@" || {
- local exit_code=$?
- Write-PipelineTelemetryError -category 'Build' "Build failed (exit code '$exit_code')."
- ExitWithExitCode $exit_code
- }
-}
-
-ResolvePath "${BASH_SOURCE[0]}"
-_script_dir=`dirname "$_ResolvePath"`
-
-. "$_script_dir/pipeline-logging-functions.sh"
-
-eng_root=`cd -P "$_script_dir/.." && pwd`
-repo_root=`cd -P "$_script_dir/../.." && pwd`
-artifacts_dir="$repo_root/artifacts"
-toolset_dir="$artifacts_dir/toolset"
-tools_dir="$repo_root/.tools"
-log_dir="$artifacts_dir/log/$configuration"
-temp_dir="$artifacts_dir/tmp/$configuration"
-
-global_json_file="$repo_root/global.json"
-# determine if global.json contains a "runtimes" entry
-global_json_has_runtimes=false
-dotnetlocal_key=`grep -m 1 "runtimes" "$global_json_file"` || true
-if [[ -n "$dotnetlocal_key" ]]; then
- global_json_has_runtimes=true
-fi
-
-# HOME may not be defined in some scenarios, but it is required by NuGet
-if [[ -z $HOME ]]; then
- export HOME="$repo_root/artifacts/.home/"
- mkdir -p "$HOME"
-fi
-
-mkdir -p "$toolset_dir"
-mkdir -p "$temp_dir"
-mkdir -p "$log_dir"
-
-Write-PipelineSetVariable -name "Artifacts" -value "$artifacts_dir"
-Write-PipelineSetVariable -name "Artifacts.Toolset" -value "$toolset_dir"
-Write-PipelineSetVariable -name "Artifacts.Log" -value "$log_dir"
-Write-PipelineSetVariable -name "Temp" -value "$temp_dir"
-Write-PipelineSetVariable -name "TMP" -value "$temp_dir"
-
-# Import custom tools configuration, if present in the repo.
-if [ -z "${disable_configure_toolset_import:-}" ]; then
- configure_toolset_script="$eng_root/configure-toolset.sh"
- if [[ -a "$configure_toolset_script" ]]; then
- . "$configure_toolset_script"
- fi
-fi
-
-# TODO: https://github.com/dotnet/arcade/issues/1468
-# Temporary workaround to avoid breaking change.
-# Remove once repos are updated.
-if [[ -n "${useInstalledDotNetCli:-}" ]]; then
- use_installed_dotnet_cli="$useInstalledDotNetCli"
-fi
diff --git a/eng/targets/Settings.props b/eng/targets/Settings.props
index 474e5d22a8..77f7a0c704 100644
--- a/eng/targets/Settings.props
+++ b/eng/targets/Settings.props
@@ -11,9 +11,4 @@
false
-
-
- false
-
-
diff --git a/fcs/Directory.Build.targets b/fcs/Directory.Build.targets
index 3c45a52487..00f6e63aa8 100644
--- a/fcs/Directory.Build.targets
+++ b/fcs/Directory.Build.targets
@@ -29,7 +29,7 @@
@@ -44,15 +44,12 @@
<_BuildPropertyLines Include="let fsLanguageVersion = "$(FSLANGUAGEVERSION)"" />
-
-
+
-
-
+
+
diff --git a/fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj b/fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj
deleted file mode 100644
index 5f5d169797..0000000000
--- a/fcs/FSharp.Compiler.Service.ProjectCracker/FSharp.Compiler.Service.ProjectCracker.fsproj
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
- $(FcsTargetNetFxFramework)
- true
-
-
- Legacy project file cracker for the F# compiler service.
- Legacy project file cracker for the F# compiler service.
- false
- F# community contributors
- https://github.com/fsharp/FSharp.Compiler.Service/blob/master/LICENSE
- https://github.com/fsharp/FSharp.Compiler.Service
- logo.png
- F#, compiler, msbuild
-
-
-
-
- ProjectCrackerOptions.fs
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/fcs/FSharp.Compiler.Service.ProjectCracker/ProjectCracker.fs b/fcs/FSharp.Compiler.Service.ProjectCracker/ProjectCracker.fs
deleted file mode 100644
index 3a096cb566..0000000000
--- a/fcs/FSharp.Compiler.Service.ProjectCracker/ProjectCracker.fs
+++ /dev/null
@@ -1,127 +0,0 @@
-namespace FSharp.Compiler.SourceCodeServices
-
-#if !NETSTANDARD
-open System.Runtime.Serialization.Json
-#endif
-open System.Text
-open System.IO
-open System
-
-module Utils =
-
- let Convert loadedTimeStamp (originalOpts: ProjectCrackerTool.ProjectOptions) =
- let logMap = ref Map.empty
-
- let rec convertProject (opts: ProjectCrackerTool.ProjectOptions) =
- if not (isNull opts.Error) then failwith opts.Error
-
- let referencedProjects() = Array.map (fun (a, b) -> a,convertProject b) opts.ReferencedProjectOptions
-
- let sourceFiles, otherOptions =
- opts.Options
- |> Array.partition (fun x ->
- let extension = Path.GetExtension(x).ToLower()
- x.IndexOfAny(Path.GetInvalidPathChars()) = -1
- && (extension = ".fs" || extension = ".fsi"))
-
- let sepChar = Path.DirectorySeparatorChar
-
- let sourceFiles = sourceFiles |> Array.map (fun x ->
- match sepChar with
- | '\\' -> x.Replace('/', '\\')
- | '/' -> x.Replace('\\', '/')
- | _ -> x
- )
-
- logMap := Map.add opts.ProjectFile opts.LogOutput !logMap
- { ProjectFileName = opts.ProjectFile
- ProjectId = None
- SourceFiles = sourceFiles
- OtherOptions = otherOptions
- ReferencedProjects = referencedProjects()
- IsIncompleteTypeCheckEnvironment = false
- UseScriptResolutionRules = false
- LoadTime = loadedTimeStamp
- UnresolvedReferences = None
- OriginalLoadReferences = []
- ExtraProjectInfo = None
- Stamp = None }
-
- convertProject originalOpts, !logMap
-
-type ProjectCracker =
-
- static member GetProjectOptionsFromProjectFileLogged(projectFileName : string, ?properties : (string * string) list, ?loadedTimeStamp, ?enableLogging) =
- let loadedTimeStamp = defaultArg loadedTimeStamp DateTime.MaxValue // Not 'now', we don't want to force reloading
- let properties = defaultArg properties []
- let enableLogging = defaultArg enableLogging true
-
-
-#if NETSTANDARD
- let arguments = [|
- yield projectFileName
- yield enableLogging.ToString()
- for k, v in properties do
- yield k
- yield v
- |]
-
- let ret, opts = FSharp.Compiler.SourceCodeServices.ProjectCrackerTool.ProjectCrackerTool.crackOpen arguments
- ignore ret
-#else
- let arguments = new StringBuilder()
- arguments.Append('"').Append(projectFileName).Append('"') |> ignore
- arguments.Append(' ').Append(enableLogging.ToString()) |> ignore
- for k, v in properties do
- arguments.Append(' ').Append(k).Append(' ').Append(v) |> ignore
- let codebase = Path.GetDirectoryName(Uri(typeof.Assembly.CodeBase).LocalPath)
-
- let crackerFilename = Path.Combine(codebase,"FSharp.Compiler.Service.ProjectCrackerTool.exe")
- if not (File.Exists crackerFilename) then
- failwithf "ProjectCracker exe not found at: %s it must be next to the ProjectCracker dll." crackerFilename
-
- let p = new System.Diagnostics.Process()
-
- p.StartInfo.FileName <- crackerFilename
- p.StartInfo.Arguments <- arguments.ToString()
- p.StartInfo.UseShellExecute <- false
- p.StartInfo.CreateNoWindow <- true
- p.StartInfo.RedirectStandardOutput <- true
- p.StartInfo.RedirectStandardError <- true
-
- let sbOut = StringBuilder()
- let sbErr = StringBuilder()
-
- p.ErrorDataReceived.AddHandler(fun _ a -> sbErr.AppendLine a.Data |> ignore)
- p.OutputDataReceived.AddHandler(fun _ a -> sbOut.AppendLine a.Data |> ignore)
-
- ignore <| p.Start()
-
- p.EnableRaisingEvents <- true
- p.BeginOutputReadLine()
- p.BeginErrorReadLine()
-
- p.WaitForExit()
-
- let crackerOut = sbOut.ToString()
- let crackerErr = sbErr.ToString()
-
- let opts =
- try
- let ser = new DataContractJsonSerializer(typeof)
- let stringBytes = Encoding.Unicode.GetBytes crackerOut
- use ms = new MemoryStream(stringBytes)
- ser.ReadObject(ms) :?> ProjectCrackerTool.ProjectOptions
- with
- exn ->
- raise (Exception(sprintf "error parsing ProjectCrackerTool output, stdoutput was:\n%s\n\nstderr was:\n%s" crackerOut crackerErr, exn))
-#endif
-
- Utils.Convert loadedTimeStamp opts
-
- static member GetProjectOptionsFromProjectFile(projectFileName : string, ?properties : (string * string) list, ?loadedTimeStamp) =
- fst (ProjectCracker.GetProjectOptionsFromProjectFileLogged(
- projectFileName,
- ?properties=properties,
- ?loadedTimeStamp=loadedTimeStamp,
- enableLogging=false))
diff --git a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/App.config b/fcs/FSharp.Compiler.Service.ProjectCrackerTool/App.config
deleted file mode 100644
index fdab151af2..0000000000
--- a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/App.config
+++ /dev/null
@@ -1,22 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCracker.targets b/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCracker.targets
deleted file mode 100644
index ed01293ada..0000000000
--- a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCracker.targets
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
-
-
diff --git a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj b/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj
deleted file mode 100644
index 9a0a86d1be..0000000000
--- a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/FSharp.Compiler.Service.ProjectCrackerTool.fsproj
+++ /dev/null
@@ -1,30 +0,0 @@
-
-
-
- $(MSBuildProjectDirectory)\..\..\src
-
-
-
- Exe
- $(FcsTargetNetFxFramework)
- true
- $(DefineConstants);CROSS_PLATFORM_COMPILER
- $(DefineConstants);ENABLE_MONO_SUPPORT
- $(OtherFlags) --staticlink:FSharp.Core
- true
- false
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/Program.fs b/fcs/FSharp.Compiler.Service.ProjectCrackerTool/Program.fs
deleted file mode 100644
index 8379737c93..0000000000
--- a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/Program.fs
+++ /dev/null
@@ -1,46 +0,0 @@
-namespace FSharp.Compiler.SourceCodeServices.ProjectCrackerTool
-
-open System
-open System.Reflection
-open System.Runtime.Serialization.Json
-
-module Program =
-
-#if !NETCOREAPP2_0
- let addMSBuildv14BackupResolution () =
- let onResolveEvent = new ResolveEventHandler(fun sender evArgs ->
- let requestedAssembly = AssemblyName(evArgs.Name)
- if requestedAssembly.Name.StartsWith("Microsoft.Build", StringComparison.Ordinal) &&
- not (requestedAssembly.Name.EndsWith(".resources", StringComparison.Ordinal)) &&
- not (requestedAssembly.Version.ToString().Contains("12.0.0.0"))
- then
- // If the version of MSBuild that we're using wasn't present on the machine, then
- // just revert back to 12.0.0.0 since that's normally installed as part of the .NET
- // Framework.
- requestedAssembly.Version <- Version("12.0.0.0")
- Assembly.Load requestedAssembly
- else
- null)
- AppDomain.CurrentDomain.add_AssemblyResolve(onResolveEvent)
-#endif
-
- let crackAndSendOutput asText argv =
- let ret, opts = ProjectCrackerTool.crackOpen argv
-
- if asText then
- printfn "%A" opts
- else
- let ser = new DataContractJsonSerializer(typeof)
- ser.WriteObject(Console.OpenStandardOutput(), opts)
- ret
-
-
- [][]
- let main argv =
- let asText = Array.exists (fun (s: string) -> s = "--text") argv
- let argv = Array.filter (fun (s: string) -> s <> "--text") argv
-
-#if !NETCOREAPP2_0
- addMSBuildv14BackupResolution ()
-#endif
- crackAndSendOutput asText argv
diff --git a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/ProjectCrackerOptions.fs b/fcs/FSharp.Compiler.Service.ProjectCrackerTool/ProjectCrackerOptions.fs
deleted file mode 100644
index a48bdc25aa..0000000000
--- a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/ProjectCrackerOptions.fs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace FSharp.Compiler.SourceCodeServices.ProjectCrackerTool
-
-[]
-type ProjectOptions =
- {
- ProjectFile: string
- Options: string[]
- ReferencedProjectOptions: (string * ProjectOptions)[]
- LogOutput: string
- Error: string
- }
diff --git a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/ProjectCrackerTool.fs b/fcs/FSharp.Compiler.Service.ProjectCrackerTool/ProjectCrackerTool.fs
deleted file mode 100644
index 93a74cbb0e..0000000000
--- a/fcs/FSharp.Compiler.Service.ProjectCrackerTool/ProjectCrackerTool.fs
+++ /dev/null
@@ -1,471 +0,0 @@
-namespace FSharp.Compiler.SourceCodeServices.ProjectCrackerTool
-
-open System
-open System.IO
-open System.Text
-open Microsoft.Build.Framework
-open Microsoft.Build.Utilities
-
-module internal ProjectCrackerTool =
- open System.Collections.Generic
-
- let runningOnMono =
-#if NETCOREAPP2_0
- false
-#else
- try match System.Type.GetType("Mono.Runtime") with null -> false | _ -> true
- with e -> false
-#endif
-
- type internal BasicStringLogger() =
- inherit Logger()
-
- let sb = new StringBuilder()
-
- let log (e: BuildEventArgs) =
- sb.Append(e.Message) |> ignore
- sb.AppendLine() |> ignore
-
- override x.Initialize(eventSource:IEventSource) =
- sb.Clear() |> ignore
- eventSource.AnyEventRaised.Add(log)
-
- member x.Log = sb.ToString()
-
- type internal HostCompile() =
- member th.Compile(_:obj, _:obj, _:obj) = 0
- interface ITaskHost
-
- let vs =
- let programFiles =
- let getEnv v =
- let result = System.Environment.GetEnvironmentVariable(v)
- match result with
- | null -> None
- | _ -> Some result
-
- match List.tryPick getEnv [ "ProgramFiles(x86)"; "ProgramFiles" ] with
- | Some r -> r
- | None -> "C:\\Program Files (x86)"
-
- let vsVersions = ["14.0"; "12.0"]
- let msbuildBin v = IO.Path.Combine(programFiles, "MSBuild", v, "Bin", "MSBuild.exe")
- List.tryFind (fun v -> IO.File.Exists(msbuildBin v)) vsVersions
-
- let mkAbsolute dir v =
- if Path.IsPathRooted v then v
- else Path.Combine(dir, v)
-
- let mkAbsoluteOpt dir v = Option.map (mkAbsolute dir) v
-
- let CrackProjectUsingNewBuildAPI fsprojFile properties logOpt =
- let fsprojFullPath = try Path.GetFullPath(fsprojFile) with _ -> fsprojFile
- let fsprojAbsDirectory = Path.GetDirectoryName fsprojFullPath
-
- use _pwd =
- let dir = Directory.GetCurrentDirectory()
- Directory.SetCurrentDirectory(fsprojAbsDirectory)
- { new System.IDisposable with
- member x.Dispose() = Directory.SetCurrentDirectory(dir) }
- use engine = new Microsoft.Build.Evaluation.ProjectCollection()
- let host = new HostCompile()
-
- engine.HostServices.RegisterHostObject(fsprojFullPath, "CoreCompile", "Fsc", host)
-
- let projectInstanceFromFullPath (fsprojFullPath: string) =
- use file = new FileStream(fsprojFullPath, FileMode.Open, FileAccess.Read, FileShare.Read)
- use stream = new StreamReader(file)
- use xmlReader = System.Xml.XmlReader.Create(stream)
-
- let project =
- try
- engine.LoadProject(xmlReader, FullPath=fsprojFullPath)
- with
- | exn ->
- let tools = engine.Toolsets |> Seq.map (fun x -> x.ToolsPath) |> Seq.toList
- raise (new Exception(sprintf "Could not load project %s in ProjectCollection. Available tools: %A. Message: %s" fsprojFullPath tools exn.Message))
-
- project.SetGlobalProperty("BuildingInsideVisualStudio", "true") |> ignore
- if not (List.exists (fun (p,_) -> p = "VisualStudioVersion") properties) then
- match vs with
- | Some version -> project.SetGlobalProperty("VisualStudioVersion", version) |> ignore
- | None -> ()
- project.SetGlobalProperty("ShouldUnsetParentConfigurationAndPlatform", "false") |> ignore
- for (prop, value) in properties do
- project.SetGlobalProperty(prop, value) |> ignore
-
- project.CreateProjectInstance()
-
- let project = projectInstanceFromFullPath fsprojFullPath
- let directory = project.Directory
-
- let getprop (p: Microsoft.Build.Execution.ProjectInstance) s =
- let v = p.GetPropertyValue s
- if String.IsNullOrWhiteSpace v then None
- else Some v
-
- let outFileOpt = getprop project "TargetPath"
-
- let log = match logOpt with
- | None -> []
- | Some l -> [l :> ILogger]
-
- project.Build([| "Build" |], log) |> ignore
-
- let getItems s = [ for f in project.GetItems(s) -> mkAbsolute directory f.EvaluatedInclude ]
-
- let projectReferences =
- [ for cp in project.GetItems("ProjectReference") do
- yield cp.GetMetadataValue("FullPath")
- ]
-
- let references =
- [ for i in project.GetItems("ReferencePath") do
- yield i.EvaluatedInclude
- for i in project.GetItems("ChildProjectReferences") do
- yield i.EvaluatedInclude ]
-
- outFileOpt, directory, getItems, references, projectReferences, getprop project, project.FullPath
-
-#if !NETCOREAPP2_0
- let CrackProjectUsingOldBuildAPI (fsprojFile:string) properties logOpt =
- let engine = new Microsoft.Build.BuildEngine.Engine()
- Option.iter (fun l -> engine.RegisterLogger(l)) logOpt
-
- let bpg = Microsoft.Build.BuildEngine.BuildPropertyGroup()
-
- bpg.SetProperty("BuildingInsideVisualStudio", "true")
- for (prop, value) in properties do
- bpg.SetProperty(prop, value)
-
- engine.GlobalProperties <- bpg
-
- let projectFromFile (fsprojFile:string) =
- // We seem to need to pass 12.0/4.0 in here for some unknown reason
- let project = new Microsoft.Build.BuildEngine.Project(engine, engine.DefaultToolsVersion)
- do project.Load(fsprojFile)
- project
-
- let project = projectFromFile fsprojFile
- project.Build([| "ResolveReferences" |]) |> ignore
- let directory = Path.GetDirectoryName project.FullFileName
-
- let getProp (p: Microsoft.Build.BuildEngine.Project) s =
- let v = p.GetEvaluatedProperty s
- if String.IsNullOrWhiteSpace v then None
- else Some v
-
- let outFileOpt =
- match mkAbsoluteOpt directory (getProp project "OutDir") with
- | None -> None
- | Some d -> mkAbsoluteOpt d (getProp project "TargetFileName")
-
- let getItems s =
- let fs = project.GetEvaluatedItemsByName(s)
- [ for f in fs -> mkAbsolute directory f.FinalItemSpec ]
-
- let projectReferences =
- [ for i in project.GetEvaluatedItemsByName("ProjectReference") do
- yield mkAbsolute directory i.FinalItemSpec
- ]
-
- let references =
- [ for i in project.GetEvaluatedItemsByName("ReferencePath") do
- yield i.FinalItemSpec
- for i in project.GetEvaluatedItemsByName("ChildProjectReferences") do
- yield i.FinalItemSpec ]
- // Duplicate slashes sometimes appear in the output here, which prevents
- // them from matching keys used in FSharpProjectOptions.ReferencedProjects
- |> List.map (fun (s: string) -> s.Replace("//","/"))
-
- outFileOpt, directory, getItems, references, projectReferences, getProp project, project.FullFileName
-
-#endif
-
- //----------------------------------------------------------------------------
- // FSharpProjectFileInfo
- //
- []
- type FSharpProjectFileInfo (fsprojFileName:string, ?properties, ?enableLogging) =
- let properties = defaultArg properties []
- let enableLogging = defaultArg enableLogging false
-
- let logOpt =
- if enableLogging then
- let log = new BasicStringLogger()
- do log.Verbosity <- Microsoft.Build.Framework.LoggerVerbosity.Diagnostic
- Some log
- else
- None
-
- let outFileOpt, directory, getItems, references, projectReferences, getProp, fsprojFullPath =
- try
-#if NETCOREAPP2_0
- CrackProjectUsingNewBuildAPI fsprojFileName properties logOpt
- with
-#else
- if runningOnMono then
- CrackProjectUsingOldBuildAPI fsprojFileName properties logOpt
- else
- CrackProjectUsingNewBuildAPI fsprojFileName properties logOpt
- with
- | :? Microsoft.Build.BuildEngine.InvalidProjectFileException as e ->
- raise (Microsoft.Build.Exceptions.InvalidProjectFileException(
- e.ProjectFile,
- e.LineNumber,
- e.ColumnNumber,
- e.EndLineNumber,
- e.EndColumnNumber,
- e.Message,
- e.ErrorSubcategory,
- e.ErrorCode,
- e.HelpKeyword))
-#endif
- | :? ArgumentException as e -> raise (IO.FileNotFoundException(e.Message))
-
- let logOutput = match logOpt with None -> "" | Some l -> l.Log
- let pages = getItems "Page"
- let embeddedResources = getItems "EmbeddedResource"
- let files = getItems "Compile"
- let resources = getItems "Resource"
- let noaction = getItems "None"
- let content = getItems "Content"
-
- let split (s : string option) (cs : char []) =
- match s with
- | None -> [||]
- | Some s ->
- if String.IsNullOrWhiteSpace s then [||]
- else s.Split(cs, StringSplitOptions.RemoveEmptyEntries)
-
- let getbool (s : string option) =
- match s with
- | None -> false
- | Some s ->
- match (Boolean.TryParse s) with
- | (true, result) -> result
- | (false, _) -> false
-
- let fxVer = getProp "TargetFrameworkVersion"
- let optimize = getProp "Optimize" |> getbool
- let assemblyNameOpt = getProp "AssemblyName"
- let tailcalls = getProp "Tailcalls" |> getbool
- let outputPathOpt = getProp "OutputPath"
- let docFileOpt = getProp "DocumentationFile"
- let outputTypeOpt = getProp "OutputType"
- let debugTypeOpt = getProp "DebugType"
- let baseAddressOpt = getProp "BaseAddress"
- let sigFileOpt = getProp "GenerateSignatureFile"
- let keyFileOpt = getProp "KeyFile"
- let pdbFileOpt = getProp "PdbFile"
- let platformOpt = getProp "Platform"
- let targetTypeOpt = getProp "TargetType"
- let versionFileOpt = getProp "VersionFile"
- let targetProfileOpt = getProp "TargetProfile"
- let warnLevelOpt = getProp "Warn"
- let subsystemVersionOpt = getProp "SubsystemVersion"
- let win32ResOpt = getProp "Win32ResourceFile"
- let heOpt = getProp "HighEntropyVA" |> getbool
- let win32ManifestOpt = getProp "Win32ManifestFile"
- let debugSymbols = getProp "DebugSymbols" |> getbool
- let prefer32bit = getProp "Prefer32Bit" |> getbool
- let warnAsError = getProp "TreatWarningsAsErrors" |> getbool
- let defines = split (getProp "DefineConstants") [| ';'; ','; ' ' |]
- let nowarn = split (getProp "NoWarn") [| ';'; ','; ' ' |]
- let warningsAsError = split (getProp "WarningsAsErrors") [| ';'; ','; ' ' |]
- let libPaths = split (getProp "ReferencePath") [| ';'; ',' |]
- let otherFlags = split (getProp "OtherFlags") [| ' ' |]
- let isLib = (outputTypeOpt = Some "Library")
-
- let docFileOpt =
- match docFileOpt with
- | None -> None
- | Some docFile -> Some(mkAbsolute directory docFile)
-
-
- let options =
- [ yield "--simpleresolution"
- yield "--noframework"
- match outFileOpt with
- | None -> ()
- | Some outFile -> yield "--out:" + outFile
- match docFileOpt with
- | None -> ()
- | Some docFile -> yield "--doc:" + docFile
- match baseAddressOpt with
- | None -> ()
- | Some baseAddress -> yield "--baseaddress:" + baseAddress
- match keyFileOpt with
- | None -> ()
- | Some keyFile -> yield "--keyfile:" + keyFile
- match sigFileOpt with
- | None -> ()
- | Some sigFile -> yield "--sig:" + sigFile
- match pdbFileOpt with
- | None -> ()
- | Some pdbFile -> yield "--pdb:" + pdbFile
- match versionFileOpt with
- | None -> ()
- | Some versionFile -> yield "--versionfile:" + versionFile
- match warnLevelOpt with
- | None -> ()
- | Some warnLevel -> yield "--warn:" + warnLevel
- match subsystemVersionOpt with
- | None -> ()
- | Some s -> yield "--subsystemversion:" + s
- if heOpt then yield "--highentropyva+"
- match win32ResOpt with
- | None -> ()
- | Some win32Res -> yield "--win32res:" + win32Res
- match win32ManifestOpt with
- | None -> ()
- | Some win32Manifest -> yield "--win32manifest:" + win32Manifest
- match targetProfileOpt with
- | None -> ()
- | Some targetProfile -> yield "--targetprofile:" + targetProfile
- yield "--fullpaths"
- yield "--flaterrors"
- if warnAsError then yield "--warnaserror"
- yield
- if isLib then "--target:library"
- else "--target:exe"
- for symbol in defines do
- if not (String.IsNullOrWhiteSpace symbol) then yield "--define:" + symbol
- for nw in nowarn do
- if not (String.IsNullOrWhiteSpace nw) then yield "--nowarn:" + nw
- for nw in warningsAsError do
- if not (String.IsNullOrWhiteSpace nw) then yield "--warnaserror:" + nw
- yield if debugSymbols then "--debug+"
- else "--debug-"
- yield if optimize then "--optimize+"
- else "--optimize-"
- yield if tailcalls then "--tailcalls+"
- else "--tailcalls-"
- match debugTypeOpt with
- | None -> ()
- | Some debugType ->
- match debugType.ToUpperInvariant() with
- | "NONE" -> ()
- | "PDBONLY" -> yield "--debug:pdbonly"
- | "FULL" -> yield "--debug:full"
- | _ -> ()
- match platformOpt |> Option.map (fun o -> o.ToUpperInvariant()), prefer32bit,
- targetTypeOpt |> Option.map (fun o -> o.ToUpperInvariant()) with
- | Some "ANYCPU", true, Some "EXE" | Some "ANYCPU", true, Some "WINEXE" -> yield "--platform:anycpu32bitpreferred"
- | Some "ANYCPU", _, _ -> yield "--platform:anycpu"
- | Some "X86", _, _ -> yield "--platform:x86"
- | Some "X64", _, _ -> yield "--platform:x64"
- | Some "ITANIUM", _, _ -> yield "--platform:Itanium"
- | _ -> ()
- match targetTypeOpt |> Option.map (fun o -> o.ToUpperInvariant()) with
- | Some "LIBRARY" -> yield "--target:library"
- | Some "EXE" -> yield "--target:exe"
- | Some "WINEXE" -> yield "--target:winexe"
- | Some "MODULE" -> yield "--target:module"
- | _ -> ()
- yield! otherFlags
- for f in resources do
- yield "--resource:" + f
- for i in libPaths do
- yield "--lib:" + mkAbsolute directory i
- for r in references do
- yield "-r:" + r
- yield! files ]
-
- member x.Options = options
- member x.FrameworkVersion = fxVer
- member x.ProjectReferences = projectReferences
- member x.References = references
- member x.CompileFiles = files
- member x.ResourceFiles = resources
- member x.EmbeddedResourceFiles = embeddedResources
- member x.ContentFiles = content
- member x.OtherFiles = noaction
- member x.PageFiles = pages
- member x.OutputFile = outFileOpt
- member x.Directory = directory
- member x.AssemblyName = assemblyNameOpt
- member x.OutputPath = outputPathOpt
- member x.FullPath = fsprojFullPath
- member x.LogOutput = logOutput
- static member Parse(fsprojFileName:string, ?properties, ?enableLogging) = new FSharpProjectFileInfo(fsprojFileName, ?properties=properties, ?enableLogging=enableLogging)
-
- let getOptions file enableLogging properties =
- let cache = new Dictionary<_,_>()
- let rec getOptions file : Option * ProjectOptions =
- match cache.TryGetValue file with
- | true, option -> option
- | _ ->
- let parsedProject = FSharpProjectFileInfo.Parse(file, properties=properties, enableLogging=enableLogging)
-
- let referencedProjectOptions =
- [| for file in parsedProject.ProjectReferences do
- if Path.GetExtension(file) = ".fsproj" then
- match getOptions file with
- | Some outFile, opts -> yield outFile, opts
- | None, _ -> () |]
-
- // Workaround for Mono 4.2, which doesn't populate the subproject
- // details anymore outside of a solution context. See https://github.com/mono/mono/commit/76c6a08e730393927b6851709cdae1d397cbcc3a#diff-59afd196a55d61d5d1eaaef7bd49d1e5
- // and some explanation from the author at https://github.com/fsharp/FSharp.Compiler.Service/pull/455#issuecomment-154103963
- //
- // In particular we want the output path, which we can get from
- // fully parsing that project itself. We also have to specially parse
- // C# referenced projects, as we don't look at them otherwise.
- let referencedProjectOutputs =
- if runningOnMono then
- [ yield! Array.map (fun (s,_) -> "-r:" + s) referencedProjectOptions
- for file in parsedProject.ProjectReferences do
- let ext = Path.GetExtension(file)
- if ext = ".csproj" || ext = ".vbproj" then
- let parsedProject = FSharpProjectFileInfo.Parse(file, properties=properties, enableLogging=false)
- match parsedProject.OutputFile with
- | None -> ()
- | Some f -> yield "-r:" + f ]
- else
- []
-
- // On some versions of Mono the referenced projects are already
- // correctly included, so we make sure not to introduce duplicates
- |> List.filter (fun r -> not (Set.contains r (set parsedProject.Options)))
-
- let options = { ProjectFile = file
- Options = Array.ofSeq (parsedProject.Options @ referencedProjectOutputs)
- ReferencedProjectOptions = referencedProjectOptions
- LogOutput = parsedProject.LogOutput
- Error = null }
-
- let result = parsedProject.OutputFile, options
- cache.Add(file,result)
- result
-
- snd (getOptions file)
-
-
- let rec pairs l =
- match l with
- | [] | [_] -> []
- | x::y::rest -> (x,y) :: pairs rest
-
- let crackOpen (argv: string[])=
- if argv.Length >= 2 then
- let projectFile = argv.[0]
- let enableLogging = match Boolean.TryParse(argv.[1]) with
- | true, true -> true
- | _ -> false
- try
- let props = pairs (List.ofArray argv.[2..])
- let opts = getOptions argv.[0] enableLogging props
- 0, opts
- with e ->
- 2, { ProjectFile = projectFile;
- Options = [||];
- ReferencedProjectOptions = [||];
- LogOutput = e.ToString() + " StackTrace: " + e.StackTrace
- Error = e.Message + " StackTrace: " + e.StackTrace }
- else
- 1, { ProjectFile = "";
- Options = [||];
- ReferencedProjectOptions = [||];
- LogOutput = "At least two arguments required."
- Error = null }
diff --git a/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj b/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj
index 7f0522e8e3..874bb28070 100644
--- a/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj
+++ b/fcs/FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj
@@ -1,7 +1,7 @@
- $(FcsTargetNetFxFramework);netcoreapp2.0
+ $(FcsTargetNetFxFramework);netcoreapp3.0
true
4.1.19
$(NoWarn);44;75;
@@ -13,7 +13,7 @@
true
true
-
+
$(DefineConstants);NO_PROJECTCRACKER
$(DefineConstants);FCS
@@ -54,9 +54,6 @@
CSharpProjectAnalysis.fs
-
- ProjectOptionsTests.fs
-
StructureTests.fs
@@ -69,7 +66,7 @@
TreeVisitorTests.fs
-
+
Program.fs
@@ -103,6 +100,5 @@
-
\ No newline at end of file
diff --git a/fcs/FSharp.Compiler.Service.Tests/FsxCompletionProviderTests.fs b/fcs/FSharp.Compiler.Service.Tests/FsxCompletionProviderTests.fs
new file mode 100644
index 0000000000..468c916dc9
--- /dev/null
+++ b/fcs/FSharp.Compiler.Service.Tests/FsxCompletionProviderTests.fs
@@ -0,0 +1,161 @@
+// To run the tests in this file:
+//
+// Technique 1: Compile VisualFSharp.UnitTests.dll and run it as a set of unit tests
+//
+// Technique 2:
+//
+// Enable some tests in the #if EXE section at the end of the file,
+// then compile this file as an EXE that has InternalsVisibleTo access into the
+// appropriate DLLs. This can be the quickest way to get turnaround on updating the tests
+// and capturing large amounts of structured output.
+(*
+ cd Debug\net40\bin
+ .\fsc.exe --define:EXE -r:.\Microsoft.Build.Utilities.Core.dll -o VisualFSharp.UnitTests.exe -g --optimize- -r .\FSharp.Compiler.Private.dll -r .\FSharp.Editor.dll -r nunit.framework.dll ..\..\..\tests\service\FsUnit.fs ..\..\..\tests\service\Common.fs /delaysign /keyfile:..\..\..\src\fsharp\msft.pubkey ..\..\..\vsintegration\tests\UnitTests\FsxCompletionProviderTests.fs
+ .\VisualFSharp.UnitTests.exe
+*)
+// Technique 3:
+//
+// Use F# Interactive. This only works for FSharp.Compiler.Service.dll which has a public API
+
+// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
+namespace Microsoft.VisualStudio.FSharp.Editor.Tests.Roslyn
+
+open System
+open System.Collections.Generic
+open System.IO
+open System.Linq
+open System.Reflection
+
+open NUnit.Framework
+
+open Microsoft.CodeAnalysis
+open Microsoft.CodeAnalysis.Completion
+open Microsoft.CodeAnalysis.Text
+open Microsoft.VisualStudio.FSharp.Editor
+
+open FSharp.Compiler.SourceCodeServices
+open UnitTests.TestLib.LanguageService
+
+// AppDomain helper
+type Worker () =
+ inherit MarshalByRefObject()
+
+ let filePath = "C:\\test.fsx"
+ let projectOptions = {
+ ProjectFileName = "C:\\test.fsproj"
+ ProjectId = None
+ SourceFiles = [| filePath |]
+ ReferencedProjects = [| |]
+ OtherOptions = [| |]
+ IsIncompleteTypeCheckEnvironment = true
+ UseScriptResolutionRules = true
+ LoadTime = DateTime.MaxValue
+ OriginalLoadReferences = []
+ UnresolvedReferences = None
+ ExtraProjectInfo = None
+ Stamp = None
+ }
+
+ let formatCompletions(completions : string seq) =
+ "\n\t" + String.Join("\n\t", completions)
+
+ let VerifyCompletionList(fileContents: string, marker: string, expected: string list, unexpected: string list) =
+ let caretPosition = fileContents.IndexOf(marker) + marker.Length
+ let results =
+ FSharpCompletionProvider.ProvideCompletionsAsyncAux(checker, SourceText.From(fileContents), caretPosition, projectOptions, filePath, 0, (fun _ -> []), LanguageServicePerformanceOptions.Default, IntelliSenseOptions.Default)
+ |> Async.RunSynchronously
+ |> Option.defaultValue (ResizeArray())
+ |> Seq.map(fun result -> result.DisplayText)
+
+ let expectedFound =
+ expected
+ |> Seq.filter results.Contains
+
+ let expectedNotFound =
+ expected
+ |> Seq.filter (expectedFound.Contains >> not)
+
+ let unexpectedNotFound =
+ unexpected
+ |> Seq.filter (results.Contains >> not)
+
+ let unexpectedFound =
+ unexpected
+ |> Seq.filter (unexpectedNotFound.Contains >> not)
+
+ // If either of these are true, then the test fails.
+ let hasExpectedNotFound = not (Seq.isEmpty expectedNotFound)
+ let hasUnexpectedFound = not (Seq.isEmpty unexpectedFound)
+
+ if hasExpectedNotFound || hasUnexpectedFound then
+ let expectedNotFoundMsg =
+ if hasExpectedNotFound then
+ sprintf "\nExpected completions not found:%s\n" (formatCompletions expectedNotFound)
+ else
+ String.Empty
+
+ let unexpectedFoundMsg =
+ if hasUnexpectedFound then
+ sprintf "\nUnexpected completions found:%s\n" (formatCompletions unexpectedFound)
+ else
+ String.Empty
+
+ let completionsMsg = sprintf "\nin Completions:%s" (formatCompletions results)
+
+ let msg = sprintf "%s%s%s" expectedNotFoundMsg unexpectedFoundMsg completionsMsg
+
+ Assert.Fail(msg)
+
+ member __.VerifyCompletionListExactly(fileContents: string, marker: string, expected: List) =
+
+ let caretPosition = fileContents.IndexOf(marker) + marker.Length
+ let expected = expected |> Seq.toList
+ let actual =
+ let x = FSharpCompletionProvider.ProvideCompletionsAsyncAux(checker, SourceText.From(fileContents), caretPosition, projectOptions, filePath, 0, (fun _ -> []), LanguageServicePerformanceOptions.Default, IntelliSenseOptions.Default)
+ |> Async.RunSynchronously
+ x |> Option.defaultValue (ResizeArray())
+ |> Seq.toList
+ // sort items as Roslyn do - by `SortText`
+ |> List.sortBy (fun x -> x.SortText)
+
+ let actualNames = actual |> List.map (fun x -> x.DisplayText)
+
+ if actualNames <> expected then
+ Assert.Fail(sprintf "Expected:\n%s,\nbut was:\n%s\nactual with sort text:\n%s"
+ (String.Join("; ", expected |> List.map (sprintf "\"%s\"")))
+ (String.Join("; ", actualNames |> List.map (sprintf "\"%s\"")))
+ (String.Join("\n", actual |> List.map (fun x -> sprintf "%s => %s" x.DisplayText x.SortText))))
+
+module FsxCompletionProviderTests =
+
+ let pathToThisDll = Assembly.GetExecutingAssembly().CodeBase
+
+ let getWorker () =
+
+ let adSetup =
+ let setup = new System.AppDomainSetup ()
+ setup.PrivateBinPath <- pathToThisDll
+ setup.ApplicationBase <- Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "SomeNonExistentDirectory")
+ setup
+
+ let ad = AppDomain.CreateDomain((Guid()).ToString(), null, adSetup)
+ (ad.CreateInstanceFromAndUnwrap(pathToThisDll, typeof.FullName)) :?> Worker
+
+ []
+ let fsiShouldTriggerCompletionInFsxFile() =
+
+ let fileContents = """
+ fsi.
+ """
+ let expected = List([
+ "CommandLineArgs"; "EventLoop"; "FloatingPointFormat"; "FormatProvider"; "PrintDepth";
+ "PrintLength"; "PrintSize"; "PrintWidth"; "ShowDeclarationValues"; "ShowIEnumerable";
+ "ShowProperties"; "AddPrinter"; "AddPrintTransformer"; "Equals"; "GetHashCode";
+ "GetType"; "ToString"; ])
+
+ // We execute in a seperate appdomain so that we can set BaseDirectory to a non-existent location
+ getWorker().VerifyCompletionListExactly(fileContents, "fsi.", expected)
+
+#if EXE
+ShouldTriggerCompletionInFsxFile()
+#endif
diff --git a/fcs/FSharp.Compiler.Service.sln b/fcs/FSharp.Compiler.Service.sln
index 192f8bd624..af0ed390cb 100644
--- a/fcs/FSharp.Compiler.Service.sln
+++ b/fcs/FSharp.Compiler.Service.sln
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 15
-VisualStudioVersion = 15.0.26730.16
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29418.71
MinimumVisualStudioVersion = 10.0.40219.1
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "project", "project", "{B6B68AE6-E7A4-4D43-9B34-FFA74BFE192B}"
ProjectSection(SolutionItems) = preProject
@@ -9,7 +9,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "project", "project", "{B6B6
build.sh = build.sh
nuget\FSharp.Compiler.Service.MSBuild.v12.nuspec = nuget\FSharp.Compiler.Service.MSBuild.v12.nuspec
nuget\FSharp.Compiler.Service.nuspec = nuget\FSharp.Compiler.Service.nuspec
- nuget\FSharp.Compiler.Service.ProjectCracker.nuspec = nuget\FSharp.Compiler.Service.ProjectCracker.nuspec
paket.dependencies = paket.dependencies
README.md = README.md
RELEASE_NOTES.md = RELEASE_NOTES.md
@@ -41,23 +40,19 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "tools", "tools", "{0554567F
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "samples", "samples", "{E396742E-B4E5-4584-A9E4-CC1A491F5BC1}"
EndProject
-Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "EditorService", "samples\EditorService\EditorService.fsproj", "{A40507D6-FA48-43D3-B18A-AE3DAACE4020}"
+Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "EditorService", "samples\EditorService\EditorService.fsproj", "{A40507D6-FA48-43D3-B18A-AE3DAACE4020}"
EndProject
-Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "InteractiveService", "samples\InteractiveService\InteractiveService.fsproj", "{067E95E5-E3DC-4CA7-813A-4D1E277D2D52}"
+Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "InteractiveService", "samples\InteractiveService\InteractiveService.fsproj", "{067E95E5-E3DC-4CA7-813A-4D1E277D2D52}"
EndProject
-Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "Tokenizer", "samples\Tokenizer\Tokenizer.fsproj", "{92793069-816F-4F69-84AC-0966F8275E65}"
+Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "Tokenizer", "samples\Tokenizer\Tokenizer.fsproj", "{92793069-816F-4F69-84AC-0966F8275E65}"
EndProject
-Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "UntypedTree", "samples\UntypedTree\UntypedTree.fsproj", "{C816728D-BBEA-472D-9F6C-E8913957A673}"
+Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "UntypedTree", "samples\UntypedTree\UntypedTree.fsproj", "{C816728D-BBEA-472D-9F6C-E8913957A673}"
EndProject
-Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FscExe", "samples\FscExe\FscExe.fsproj", "{C94C257C-3C0A-4858-B5D8-D746498D1F08}"
+Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FscExe", "samples\FscExe\FscExe.fsproj", "{C94C257C-3C0A-4858-B5D8-D746498D1F08}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CSharp_Analysis", "FSharp.Compiler.Service.Tests\CSharp_Analysis\CSharp_Analysis.csproj", "{887630A3-4B1D-40EA-B8B3-2D842E9C40DB}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "CSharp_Analysis", "FSharp.Compiler.Service.Tests\CSharp_Analysis\CSharp_Analysis.csproj", "{887630A3-4B1D-40EA-B8B3-2D842E9C40DB}"
EndProject
-Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FsiExe", "samples\FsiExe\FsiExe.fsproj", "{F9540CA8-1CE0-4546-A23A-A461E416E95B}"
-EndProject
-Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Compiler.Service.ProjectCrackerTool", "FSharp.Compiler.Service.ProjectCrackerTool\FSharp.Compiler.Service.ProjectCrackerTool.fsproj", "{B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}"
-EndProject
-Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Compiler.Service.ProjectCracker", "FSharp.Compiler.Service.ProjectCracker\FSharp.Compiler.Service.ProjectCracker.fsproj", "{893C3CD9-5AF8-4027-A667-21E62FC2C703}"
+Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FsiExe", "samples\FsiExe\FsiExe.fsproj", "{F9540CA8-1CE0-4546-A23A-A461E416E95B}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "config", "config", "{098D1C35-D0FB-4720-83DD-8002293EA237}"
ProjectSection(SolutionItems) = preProject
@@ -71,14 +66,13 @@ EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "package", "package", "{9020E136-794A-473F-9B1B-9623C97B7161}"
ProjectSection(SolutionItems) = preProject
nuget\FSharp.Compiler.Service.template = nuget\FSharp.Compiler.Service.template
- nuget\projectcracker.template = nuget\projectcracker.template
EndProjectSection
EndProject
-Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Compiler.Service.MSBuild.v12", "FSharp.Compiler.Service.MSBuild.v12\FSharp.Compiler.Service.MSBuild.v12.fsproj", "{8157B50E-397D-4232-A4E0-1977AFC7076D}"
+Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Compiler.Service.MSBuild.v12", "FSharp.Compiler.Service.MSBuild.v12\FSharp.Compiler.Service.MSBuild.v12.fsproj", "{8157B50E-397D-4232-A4E0-1977AFC7076D}"
EndProject
-Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Compiler.Service", "FSharp.Compiler.Service\FSharp.Compiler.Service.fsproj", "{2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}"
+Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Compiler.Service", "FSharp.Compiler.Service\FSharp.Compiler.Service.fsproj", "{2E4D67B4-522D-4CF7-97E4-BA940F0B18F3}"
EndProject
-Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "FSharp.Compiler.Service.Tests", "FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj", "{EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}"
+Project("{6EC3EE1D-3C4E-46DD-8F32-0CC8E7565705}") = "FSharp.Compiler.Service.Tests", "FSharp.Compiler.Service.Tests\FSharp.Compiler.Service.Tests.fsproj", "{EE85AAB7-CDA0-4C4E-BDA0-A64DDDD13E3F}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -114,14 +108,6 @@ Global
{F9540CA8-1CE0-4546-A23A-A461E416E95B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{F9540CA8-1CE0-4546-A23A-A461E416E95B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{F9540CA8-1CE0-4546-A23A-A461E416E95B}.Release|Any CPU.Build.0 = Release|Any CPU
- {B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {B1BDD96D-47E1-4E65-8107-FBAE23A06DB4}.Release|Any CPU.Build.0 = Release|Any CPU
- {893C3CD9-5AF8-4027-A667-21E62FC2C703}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {893C3CD9-5AF8-4027-A667-21E62FC2C703}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {893C3CD9-5AF8-4027-A667-21E62FC2C703}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {893C3CD9-5AF8-4027-A667-21E62FC2C703}.Release|Any CPU.Build.0 = Release|Any CPU
{8157B50E-397D-4232-A4E0-1977AFC7076D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8157B50E-397D-4232-A4E0-1977AFC7076D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8157B50E-397D-4232-A4E0-1977AFC7076D}.Release|Any CPU.ActiveCfg = Release|Any CPU
diff --git a/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj b/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
index f519ba3462..96f19e7b2c 100644
--- a/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
+++ b/fcs/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj
@@ -1,4 +1,5 @@
-
+
+
$(MSBuildProjectDirectory)\..\..\src
@@ -521,6 +522,12 @@
Driver\DotNetFrameworkDependencies.fs
+
+ Driver/DependencyManager.Integration.fsi
+
+
+ Driver/DependencyManager.Integration.fs
+
Driver/CompileOps.fsi
@@ -676,6 +683,7 @@
+
diff --git a/fcs/README.md b/fcs/README.md
index 33f5989094..5f54c58793 100644
--- a/fcs/README.md
+++ b/fcs/README.md
@@ -17,8 +17,6 @@ There are subtle differences between FSharp.Compiler.Service and FSharp.Compiler
- FCS has a .NET Standard 2.0 version in the nuget package
-- FCS testing also tests the "Project Cracker" (see below)
-
- FCS doesn't add the System.ValueTuple.dll reference by default, see ``#if COMPILER_SERVICE_AS_DLL`` in compiler codebase
## Version Numbers
@@ -29,7 +27,6 @@ To update the version number a global replace through fcs\... is currently neede
Directory.Build.props
nuget/FSharp.Compiler.Service.nuspec
nuget/FSharp.Compiler.Service.MSBuild.v12.nuspec
- nuget/FSharp.Compiler.Service.ProjectCracker.nuspec
RELEASE_NOTES.md
## Building, Testing, Packaging, Releases
@@ -62,9 +59,8 @@ which does things like:
You can push the packages if you have permissions, either automatically using ``build Release`` or manually
set APIKEY=...
- ..\fsharp\.nuget\nuget.exe push %HOMEDRIVE%%HOMEPATH%\Downloads\FSharp.Compiler.Service.32.0.0.nupkg %APIKEY% -Source https://nuget.org
- ..\fsharp\.nuget\nuget.exe push %HOMEDRIVE%%HOMEPATH%\Downloads\FSharp.Compiler.Service.MSBuild.v12.32.0.0.nupkg %APIKEY% -Source https://nuget.org
- ..\fsharp\.nuget\nuget.exe push %HOMEDRIVE%%HOMEPATH%\Downloads\FSharp.Compiler.Service.ProjectCracker.32.0.0.nupkg %APIKEY% -Source https://nuget.org
+ ..\fsharp\.nuget\nuget.exe push %HOMEDRIVE%%HOMEPATH%\Downloads\FSharp.Compiler.Service.33.0.1.nupkg %APIKEY% -Source https://nuget.org
+ ..\fsharp\.nuget\nuget.exe push %HOMEDRIVE%%HOMEPATH%\Downloads\FSharp.Compiler.Service.MSBuild.v12.33.0.1.nupkg %APIKEY% -Source https://nuget.org
### Use of Paket and FAKE
@@ -82,15 +78,13 @@ Testing reuses the test files from ..\tests\service which were are also FCS test
Output is in ``docs``. In the ``FSharp.Compiler.Service`` repo this is checked in and hosted as .
-## The two other NuGet packages
+## Other NuGet packages
It also contains both the source, build, packaging and test logic for
- ``FSharp.Compiler.Service.MSBuild.v12`` adds legacy MSBuild v12 support to an instance of FSharp.Compiler.Service, if exact compatibility for scripting references such as ``#r "Foo, Version=1.3.4"`` is required.
-- ``FSharp.Compiler.Service.ProjectCracker`` is part of ``FsAutoComplete`` and Ionide and is used to crack old-style project formats using MSBuild. It used to be part of the FCS API.
-
-Both of these components are gradually becoming obsolete
+These components are gradually becoming obsolete
## Engineering road map
diff --git a/fcs/build.fsx b/fcs/build.fsx
index 6b315182dd..052c97098c 100644
--- a/fcs/build.fsx
+++ b/fcs/build.fsx
@@ -66,16 +66,16 @@ Target.create "Build" (fun _ ->
runDotnet __SOURCE_DIRECTORY__ "build" "../src/buildtools/buildtools.proj -v n -c Proto"
let fslexPath = __SOURCE_DIRECTORY__ + "/../artifacts/bin/fslex/Proto/netcoreapp2.1/fslex.dll"
let fsyaccPath = __SOURCE_DIRECTORY__ + "/../artifacts/bin/fsyacc/Proto/netcoreapp2.1/fsyacc.dll"
- runDotnet __SOURCE_DIRECTORY__ "build" (sprintf "FSharp.Compiler.Service.sln -v n -c Release /p:FsLexPath=%s /p:FsYaccPath=%s" fslexPath fsyaccPath)
+ runDotnet __SOURCE_DIRECTORY__ "build" (sprintf "FSharp.Compiler.Service.sln -nodereuse:false -v n -c Release /p:DisableCompilerRedirection=true /p:FsLexPath=%s /p:FsYaccPath=%s" fslexPath fsyaccPath)
)
Target.create "Test" (fun _ ->
// This project file is used for the netcoreapp2.0 tests to work out reference sets
- runDotnet __SOURCE_DIRECTORY__ "build" "../tests/projects/Sample_NETCoreSDK_FSharp_Library_netstandard2_0/Sample_NETCoreSDK_FSharp_Library_netstandard2_0.fsproj -v n /restore /p:DisableCompilerRedirection=true"
+ runDotnet __SOURCE_DIRECTORY__ "build" "../tests/projects/Sample_NETCoreSDK_FSharp_Library_netstandard2_0/Sample_NETCoreSDK_FSharp_Library_netstandard2_0.fsproj -nodereuse:false -v n /restore /p:DisableCompilerRedirection=true"
// Now run the tests
let logFilePath = Path.Combine(__SOURCE_DIRECTORY__, "..", "artifacts", "TestResults", "Release", "FSharp.Compiler.Service.Test.xml")
- runDotnet __SOURCE_DIRECTORY__ "test" (sprintf "FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj --no-restore --no-build -v n -c Release --test-adapter-path . --logger \"nunit;LogFilePath=%s\"" logFilePath)
+ runDotnet __SOURCE_DIRECTORY__ "test" (sprintf "FSharp.Compiler.Service.Tests/FSharp.Compiler.Service.Tests.fsproj --no-restore --no-build -nodereuse:false -v n -c Release --test-adapter-path . --logger \"nunit;LogFilePath=%s\"" logFilePath)
)
Target.create "NuGet" (fun _ ->
diff --git a/fcs/docsrc/content/devnotes.md b/fcs/docsrc/content/devnotes.md
index 7f80660f36..98684f9f35 100644
--- a/fcs/docsrc/content/devnotes.md
+++ b/fcs/docsrc/content/devnotes.md
@@ -54,4 +54,4 @@ Release checklist to publish a new version on nuget.org
1. Update `RELEASE_NOTES.md`
2. Check the version numbers are correct across the source (some files duplicate them)
3. Commit and add the necessary tag to the repo
-4. Publish the nupkgs for `FSharp.Compiler.Service` and `FSharp.Compiler.Service.ProjectCracker` once they appear in AppVeyor artifacts
+4. Publish the nupkgs for `FSharp.Compiler.Service` once it appears in AppVeyor artifacts
diff --git a/fcs/docsrc/content/project.fsx b/fcs/docsrc/content/project.fsx
index a537000435..7573b7f9ba 100644
--- a/fcs/docsrc/content/project.fsx
+++ b/fcs/docsrc/content/project.fsx
@@ -23,7 +23,6 @@ of `InteractiveChecker`:
*)
// Reference F# compiler API
#r "FSharp.Compiler.Service.dll"
-#r "FSharp.Compiler.Service.ProjectCracker.dll"
open System
open System.Collections.Generic
@@ -306,61 +305,6 @@ correctly and then analyze each project in turn.
*)
-(**
-Cracking a legacy project file
------------------------------
-
-F# projects normally use the '.fsproj' project file format.
-A project cracking facility for legacy old-style .fsproj is provided as a separate NuGet package:
-FSharp.Compiler.Service.ProjectCracker.
-
-Project cracking for modern project files should be done using a library such as DotNetProjInfo.
-See FsAutoComplete for example code.
-
-The legacy NuGet package `FSharp.Compiler.Service.ProjectCracker` contains a
-library `FSharp.Compiler.Service.ProjectCracker.dll`, which should be
-referenced by your application directly, and an executable
-`FSharp.Compiler.Service.ProjectCrackerTool.exe`, which should be copied
-into the output folder of your application by the build process. If
-you install using Paket or NuGet, then this will be configured for you
-automatically. If not, you should reference the provided `.targets`
-file manually in your application. This can be found in the NuGet
-package at `build/net461/FSharp.Compiler.Service.ProjectCrackerTool.targets`.
-
-The reason for this split was so the analysis of an F# project
-file is performed out of process, in order that the necessary assembly
-binding redirects can be applied without requiring the caller to
-arrange this. In this way MSBuild versions from 4 up to 14 can be
-accommodated transparently.
-
-In this example we get the project options for one of the
-project files in the F# Compiler Service project itself - you should also be able to use this technique
-for any project that builds cleanly using the command line tools 'xbuild' or 'msbuild'.
-
-
-*)
-
-let projectFile = __SOURCE_DIRECTORY__ + @"/../../src/fsharp/FSharp.Compiler.Service/FSharp.Compiler.Service.fsproj"
-
-ProjectCracker.GetProjectOptionsFromProjectFile(projectFile)
-
-
-(**
-
-You can also request RELEASE mode and set other build configuration parameters:
-
-*)
-
-ProjectCracker.GetProjectOptionsFromProjectFile(projectFile, [("Configuration", "Release")])
-
-(**
-
-For debugging purposes it is also possible to obtain a detailed log from the assembly resolution process.
-
-*)
-
-let options, logs = ProjectCracker.GetProjectOptionsFromProjectFileLogged(projectFile, [("Configuration", "Release")])
-
(**
Summary
-------
diff --git a/fcs/samples/EditorService/EditorService.fsproj b/fcs/samples/EditorService/EditorService.fsproj
index f7c52de5fa..f3e3f7e10f 100644
--- a/fcs/samples/EditorService/EditorService.fsproj
+++ b/fcs/samples/EditorService/EditorService.fsproj
@@ -1,7 +1,7 @@
- $(FcsTargetNetFxFramework);netcoreapp2.0
+ $(FcsTargetNetFxFramework);netcoreapp3.0
true
Exe
false
diff --git a/fcs/samples/FscExe/FscMain.fs b/fcs/samples/FscExe/FscMain.fs
index da272800d6..b2d5d6a899 100644
--- a/fcs/samples/FscExe/FscMain.fs
+++ b/fcs/samples/FscExe/FscMain.fs
@@ -264,10 +264,6 @@ module Driver =
if runningOnMono && hasArgument "resident" argv then
let argv = stripArgument "resident" argv
- //if not (hasArgument "nologo" argv) then
- // printfn "%s" (FSComp.SR.buildProductName(FSharpEnvironment.FSharpTeamVersionNumber))
- // printfn "%s" (FSComp.SR.optsCopyright())
-
let fscServerExe = typeof.Assembly.Location
let exitCodeOpt = FSharpResidentCompiler.FSharpCompilationServer.TryCompileUsingServer (fscServerExe, argv)
match exitCodeOpt with
diff --git a/global.json b/global.json
index bbe81be30c..f12de76387 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"tools": {
- "dotnet": "3.0.100",
+ "dotnet": "3.1.100",
"vs": {
"version": "16.3",
"components": [
@@ -10,7 +10,7 @@
}
},
"msbuild-sdks": {
- "Microsoft.DotNet.Arcade.Sdk": "5.0.0-beta.19603.17",
+ "Microsoft.DotNet.Arcade.Sdk": "1.0.0-beta.19616.5",
"Microsoft.DotNet.Helix.Sdk": "2.0.0-beta.19069.2"
}
}
diff --git a/proto.proj b/proto.proj
index 23d7525d13..3a9793b4be 100644
--- a/proto.proj
+++ b/proto.proj
@@ -7,13 +7,13 @@
- TargetFramework=netcoreapp2.1
+ TargetFramework=netcoreapp3.0
- TargetFramework=netcoreapp2.1
+ TargetFramework=netcoreapp3.0
- TargetFramework=netcoreapp2.1
+ TargetFramework=netcoreapp3.0
diff --git a/src/absil/bytes.fs b/src/absil/bytes.fs
index fd5f14247c..24159a728c 100755
--- a/src/absil/bytes.fs
+++ b/src/absil/bytes.fs
@@ -3,7 +3,14 @@
/// Byte arrays
namespace FSharp.Compiler.AbstractIL.Internal
+open System
+open System.IO
+open System.IO.MemoryMappedFiles
+open System.Runtime.InteropServices
+open System.Runtime.CompilerServices
+open FSharp.NativeInterop
+#nowarn "9"
module internal Bytes =
let b0 n = (n &&& 0xFF)
@@ -26,10 +33,284 @@ module internal Bytes =
Array.append (System.Text.Encoding.UTF8.GetBytes s) (ofInt32Array [| 0x0 |])
let stringAsUnicodeNullTerminated (s:string) =
- Array.append (System.Text.Encoding.Unicode.GetBytes s) (ofInt32Array [| 0x0;0x0 |])
+ Array.append (System.Text.Encoding.Unicode.GetBytes s) (ofInt32Array [| 0x0;0x0 |])
+
+[]
+type ByteMemory () =
+
+ abstract Item: int -> byte with get, set
+
+ abstract Length: int
+
+ abstract ReadBytes: pos: int * count: int -> byte[]
+
+ abstract ReadInt32: pos: int -> int
+
+ abstract ReadUInt16: pos: int -> uint16
+
+ abstract ReadUtf8String: pos: int * count: int -> string
+
+ abstract Slice: pos: int * count: int -> ByteMemory
+
+ abstract CopyTo: Stream -> unit
+
+ abstract Copy: srcOffset: int * dest: byte[] * destOffset: int * count: int -> unit
+
+ abstract ToArray: unit -> byte[]
+
+ abstract AsStream: unit -> Stream
+
+ abstract AsReadOnlyStream: unit -> Stream
+
+[]
+type ByteArrayMemory(bytes: byte[], offset, length) =
+ inherit ByteMemory()
+
+ do
+ if length < 0 || length > bytes.Length then
+ raise (ArgumentOutOfRangeException("length"))
+
+ if offset < 0 || (offset + length) > bytes.Length then
+ raise (ArgumentOutOfRangeException("offset"))
+
+ override _.Item
+ with get i = bytes.[offset + i]
+ and set i v = bytes.[offset + i] <- v
+
+ override _.Length = length
+
+ override _.ReadBytes(pos, count) =
+ Array.sub bytes (offset + pos) count
+
+ override _.ReadInt32 pos =
+ let finalOffset = offset + pos
+ (uint32 bytes.[finalOffset]) |||
+ ((uint32 bytes.[finalOffset + 1]) <<< 8) |||
+ ((uint32 bytes.[finalOffset + 2]) <<< 16) |||
+ ((uint32 bytes.[finalOffset + 3]) <<< 24)
+ |> int
+
+ override _.ReadUInt16 pos =
+ let finalOffset = offset + pos
+ (uint16 bytes.[finalOffset]) |||
+ ((uint16 bytes.[finalOffset + 1]) <<< 8)
+
+ override _.ReadUtf8String(pos, count) =
+ System.Text.Encoding.UTF8.GetString(bytes, offset + pos, count)
+
+ override _.Slice(pos, count) =
+ ByteArrayMemory(bytes, offset + pos, count) :> ByteMemory
+
+ override _.CopyTo stream =
+ stream.Write(bytes, offset, length)
+
+ override _.Copy(srcOffset, dest, destOffset, count) =
+ Array.blit bytes (offset + srcOffset) dest destOffset count
+
+ override _.ToArray() =
+ Array.sub bytes offset length
+
+ override _.AsStream() =
+ new MemoryStream(bytes, offset, length) :> Stream
+
+ override _.AsReadOnlyStream() =
+ new MemoryStream(bytes, offset, length, false) :> Stream
+
+[]
+type SafeUnmanagedMemoryStream =
+ inherit UnmanagedMemoryStream
+
+ val mutable private holder: obj
+ val mutable private isDisposed: bool
+
+ new (addr, length, holder) =
+ {
+ inherit UnmanagedMemoryStream(addr, length)
+ holder = holder
+ isDisposed = false
+ }
+
+ new (addr: nativeptr, length: int64, capacity: int64, access: FileAccess, holder) =
+ {
+ inherit UnmanagedMemoryStream(addr, length, capacity, access)
+ holder = holder
+ isDisposed = false
+ }
+
+ override x.Dispose disposing =
+ base.Dispose disposing
+ x.holder <- null // Null out so it can be collected.
+
+[]
+type RawByteMemory(addr: nativeptr, length: int, holder: obj) =
+ inherit ByteMemory ()
+
+ let check i =
+ if i < 0 || i >= length then
+ raise (ArgumentOutOfRangeException("i"))
+
+ do
+ if length < 0 then
+ raise (ArgumentOutOfRangeException("length"))
+
+ override _.Item
+ with get i =
+ check i
+ NativePtr.add addr i
+ |> NativePtr.read
+ and set i v =
+ check i
+ NativePtr.set addr i v
+
+ override _.Length = length
+
+ override _.ReadUtf8String(pos, count) =
+ check pos
+ check (pos + count - 1)
+ System.Text.Encoding.UTF8.GetString(NativePtr.add addr pos, count)
+
+ override _.ReadBytes(pos, count) =
+ check pos
+ check (pos + count - 1)
+ let res = Bytes.zeroCreate count
+ Marshal.Copy(NativePtr.toNativeInt addr + nativeint pos, res, 0, count)
+ res
+
+ override _.ReadInt32 pos =
+ check pos
+ check (pos + 3)
+ Marshal.ReadInt32(NativePtr.toNativeInt addr + nativeint pos)
+
+ override _.ReadUInt16 pos =
+ check pos
+ check (pos + 1)
+ uint16(Marshal.ReadInt16(NativePtr.toNativeInt addr + nativeint pos))
+
+ override _.Slice(pos, count) =
+ check pos
+ check (pos + count - 1)
+ RawByteMemory(NativePtr.add addr pos, count, holder) :> ByteMemory
+
+ override x.CopyTo stream =
+ use stream2 = x.AsStream()
+ stream2.CopyTo stream
+
+ override _.Copy(srcOffset, dest, destOffset, count) =
+ check srcOffset
+ Marshal.Copy(NativePtr.toNativeInt addr + nativeint srcOffset, dest, destOffset, count)
+
+ override _.ToArray() =
+ let res = Array.zeroCreate length
+ Marshal.Copy(NativePtr.toNativeInt addr, res, 0, res.Length)
+ res
+
+ override _.AsStream() =
+ new SafeUnmanagedMemoryStream(addr, int64 length, holder) :> Stream
+
+ override _.AsReadOnlyStream() =
+ new SafeUnmanagedMemoryStream(addr, int64 length, int64 length, FileAccess.Read, holder) :> Stream
+
+[]
+type ReadOnlyByteMemory(bytes: ByteMemory) =
+
+ member _.Item with get i = bytes.[i]
+
+ member _.Length with get () = bytes.Length
+
+ member _.ReadBytes(pos, count) = bytes.ReadBytes(pos, count)
+
+ member _.ReadInt32 pos = bytes.ReadInt32 pos
+
+ member _.ReadUInt16 pos = bytes.ReadUInt16 pos
+
+ member _.ReadUtf8String(pos, count) = bytes.ReadUtf8String(pos, count)
+
+ member _.Slice(pos, count) = bytes.Slice(pos, count) |> ReadOnlyByteMemory
+
+ member _.CopyTo stream = bytes.CopyTo stream
+
+ member _.Copy(srcOffset, dest, destOffset, count) = bytes.Copy(srcOffset, dest, destOffset, count)
+
+ member _.ToArray() = bytes.ToArray()
+
+ member _.AsStream() = bytes.AsReadOnlyStream()
+
+type ByteMemory with
+
+ member x.AsReadOnly() = ReadOnlyByteMemory x
+
+ static member CreateMemoryMappedFile(bytes: ReadOnlyByteMemory) =
+ let length = int64 bytes.Length
+ let mmf =
+ let mmf =
+ MemoryMappedFile.CreateNew(
+ null,
+ length,
+ MemoryMappedFileAccess.ReadWrite,
+ MemoryMappedFileOptions.None,
+ HandleInheritability.None)
+ use stream = mmf.CreateViewStream(0L, length, MemoryMappedFileAccess.ReadWrite)
+ bytes.CopyTo stream
+ mmf
+
+ let accessor = mmf.CreateViewAccessor(0L, length, MemoryMappedFileAccess.ReadWrite)
+ RawByteMemory.FromUnsafePointer(accessor.SafeMemoryMappedViewHandle.DangerousGetHandle(), int length, (mmf, accessor))
+
+ static member FromFile(path, access, ?canShadowCopy: bool) =
+ let canShadowCopy = defaultArg canShadowCopy false
+
+ let memoryMappedFileAccess =
+ match access with
+ | FileAccess.Read -> MemoryMappedFileAccess.Read
+ | FileAccess.Write -> MemoryMappedFileAccess.Write
+ | _ -> MemoryMappedFileAccess.ReadWrite
+
+ let mmf, accessor, length =
+ let fileStream = File.Open(path, FileMode.Open, access, FileShare.Read)
+ let length = fileStream.Length
+ let mmf =
+ if canShadowCopy then
+ let mmf =
+ MemoryMappedFile.CreateNew(
+ null,
+ length,
+ MemoryMappedFileAccess.ReadWrite,
+ MemoryMappedFileOptions.None,
+ HandleInheritability.None)
+ use stream = mmf.CreateViewStream(0L, length, MemoryMappedFileAccess.ReadWrite)
+ fileStream.CopyTo(stream)
+ fileStream.Dispose()
+ mmf
+ else
+ MemoryMappedFile.CreateFromFile(
+ fileStream,
+ null,
+ length,
+ memoryMappedFileAccess,
+ HandleInheritability.None,
+ leaveOpen=false)
+ mmf, mmf.CreateViewAccessor(0L, length, memoryMappedFileAccess), length
+
+ // Validate MMF with the access that was intended.
+ match access with
+ | FileAccess.Read when not accessor.CanRead -> invalidOp "Cannot read file"
+ | FileAccess.Write when not accessor.CanWrite -> invalidOp "Cannot write file"
+ | FileAccess.ReadWrite when not accessor.CanRead || not accessor.CanWrite -> invalidOp "Cannot read or write file"
+ | _ -> ()
+
+ RawByteMemory.FromUnsafePointer(accessor.SafeMemoryMappedViewHandle.DangerousGetHandle(), int length, (mmf, accessor))
+
+ static member FromUnsafePointer(addr, length, holder: obj) =
+ RawByteMemory(NativePtr.ofNativeInt addr, length, holder) :> ByteMemory
+
+ static member FromArray(bytes, offset, length) =
+ ByteArrayMemory(bytes, offset, length) :> ByteMemory
+
+ static member FromArray bytes =
+ ByteArrayMemory.FromArray(bytes, 0, bytes.Length)
type internal ByteStream =
- { bytes: byte[]
+ { bytes: ReadOnlyByteMemory
mutable pos: int
max: int }
member b.ReadByte() =
@@ -38,18 +319,18 @@ type internal ByteStream =
b.pos <- b.pos + 1
res
member b.ReadUtf8String n =
- let res = System.Text.Encoding.UTF8.GetString(b.bytes,b.pos,n)
+ let res = b.bytes.ReadUtf8String(b.pos,n)
b.pos <- b.pos + n; res
- static member FromBytes (b:byte[],n,len) =
+ static member FromBytes (b: ReadOnlyByteMemory,n,len) =
if n < 0 || (n+len) > b.Length then failwith "FromBytes"
{ bytes = b; pos = n; max = n+len }
member b.ReadBytes n =
if b.pos + n > b.max then failwith "ReadBytes: end of stream"
- let res = Bytes.sub b.bytes b.pos n
+ let res = b.bytes.Slice(b.pos, n)
b.pos <- b.pos + n
- res
+ res
member b.Position = b.pos
#if LAZY_UNPICKLE
@@ -108,6 +389,13 @@ type internal ByteBuffer =
Bytes.blit i 0 buf.bbArray buf.bbCurrent n
buf.bbCurrent <- newSize
+ member buf.EmitByteMemory (i:ReadOnlyByteMemory) =
+ let n = i.Length
+ let newSize = buf.bbCurrent + n
+ buf.Ensure newSize
+ i.Copy(0, buf.bbArray, buf.bbCurrent, n)
+ buf.bbCurrent <- newSize
+
member buf.EmitInt32AsUInt16 n =
let newSize = buf.bbCurrent + 2
buf.Ensure newSize
diff --git a/src/absil/bytes.fsi b/src/absil/bytes.fsi
index c611e80c77..46b30b6c5a 100755
--- a/src/absil/bytes.fsi
+++ b/src/absil/bytes.fsi
@@ -3,6 +3,7 @@
/// Blobs of bytes, cross-compiling
namespace FSharp.Compiler.AbstractIL.Internal
+open System.IO
open Internal.Utilities
open FSharp.Compiler.AbstractIL
@@ -22,6 +23,85 @@ module internal Bytes =
val stringAsUnicodeNullTerminated: string -> byte[]
val stringAsUtf8NullTerminated: string -> byte[]
+/// May be backed by managed or unmanaged memory, or memory mapped file.
+[]
+type internal ByteMemory =
+
+ abstract Item: int -> byte with get
+
+ abstract Length: int
+
+ abstract ReadBytes: pos: int * count: int -> byte[]
+
+ abstract ReadInt32: pos: int -> int
+
+ abstract ReadUInt16: pos: int -> uint16
+
+ abstract ReadUtf8String: pos: int * count: int -> string
+
+ abstract Slice: pos: int * count: int -> ByteMemory
+
+ abstract CopyTo: Stream -> unit
+
+ abstract Copy: srcOffset: int * dest: byte[] * destOffset: int * count: int -> unit
+
+ abstract ToArray: unit -> byte[]
+
+ /// Get a stream representation of the backing memory.
+ /// Disposing this will not free up any of the backing memory.
+ abstract AsStream: unit -> Stream
+
+ /// Get a stream representation of the backing memory.
+ /// Disposing this will not free up any of the backing memory.
+ /// Stream cannot be written to.
+ abstract AsReadOnlyStream: unit -> Stream
+
+[]
+type internal ReadOnlyByteMemory =
+
+ new: ByteMemory -> ReadOnlyByteMemory
+
+ member Item: int -> byte with get
+
+ member Length: int
+
+ member ReadBytes: pos: int * count: int -> byte[]
+
+ member ReadInt32: pos: int -> int
+
+ member ReadUInt16: pos: int -> uint16
+
+ member ReadUtf8String: pos: int * count: int -> string
+
+ member Slice: pos: int * count: int -> ReadOnlyByteMemory
+
+ member CopyTo: Stream -> unit
+
+ member Copy: srcOffset: int * dest: byte[] * destOffset: int * count: int -> unit
+
+ member ToArray: unit -> byte[]
+
+ member AsStream: unit -> Stream
+
+type ByteMemory with
+
+ member AsReadOnly: unit -> ReadOnlyByteMemory
+
+ /// Create another ByteMemory object that has a backing memory mapped file based on another ByteMemory's contents.
+ static member CreateMemoryMappedFile: ReadOnlyByteMemory -> ByteMemory
+
+ /// Creates a ByteMemory object that has a backing memory mapped file from a file on-disk.
+ static member FromFile: path: string * FileAccess * ?canShadowCopy: bool -> ByteMemory
+
+ /// Creates a ByteMemory object that is backed by a raw pointer.
+ /// Use with care.
+ static member FromUnsafePointer: addr: nativeint * length: int * holder: obj -> ByteMemory
+
+ /// Creates a ByteMemory object that is backed by a byte array with the specified offset and length.
+ static member FromArray: bytes: byte[] * offset: int * length: int -> ByteMemory
+
+ /// Creates a ByteMemory object that is backed by a byte array.
+ static member FromArray: bytes: byte[] -> ByteMemory
/// Imperative buffers and streams of byte[]
[]
@@ -31,6 +111,7 @@ type internal ByteBuffer =
member EmitIntsAsBytes : int[] -> unit
member EmitByte : byte -> unit
member EmitBytes : byte[] -> unit
+ member EmitByteMemory : ReadOnlyByteMemory -> unit
member EmitInt32 : int32 -> unit
member EmitInt64 : int64 -> unit
member FixupInt32 : pos: int -> value: int32 -> unit
@@ -44,10 +125,10 @@ type internal ByteBuffer =
[]
type internal ByteStream =
member ReadByte : unit -> byte
- member ReadBytes : int -> byte[]
+ member ReadBytes : int -> ReadOnlyByteMemory
member ReadUtf8String : int -> string
member Position : int
- static member FromBytes : byte[] * start:int * length:int -> ByteStream
+ static member FromBytes : ReadOnlyByteMemory * start:int * length:int -> ByteStream
#if LAZY_UNPICKLE
member CloneAndSeek : int -> ByteStream
diff --git a/src/absil/il.fs b/src/absil/il.fs
index e734af8bd9..ca9bfb808c 100644
--- a/src/absil/il.fs
+++ b/src/absil/il.fs
@@ -66,10 +66,6 @@ type PrimaryAssembly =
| Mscorlib -> "mscorlib"
| System_Runtime -> "System.Runtime"
| NetStandard -> "netstandard"
- static member IsSomePrimaryAssembly n =
- n = PrimaryAssembly.Mscorlib.Name
- || n = PrimaryAssembly.System_Runtime.Name
- || n = PrimaryAssembly.NetStandard.Name
// --------------------------------------------------------------------
// Utilities: type names
@@ -373,6 +369,7 @@ let isMscorlib data =
[]
type ILAssemblyRef(data) =
let uniqueStamp = AssemblyRefUniqueStampGenerator.Encode data
+ let uniqueIgnoringVersionStamp = AssemblyRefUniqueStampGenerator.Encode { data with assemRefVersion = None }
member x.Name=data.assemRefName
@@ -388,6 +385,11 @@ type ILAssemblyRef(data) =
member x.UniqueStamp=uniqueStamp
+ member x.UniqueIgnoringVersionStamp=uniqueIgnoringVersionStamp
+
+ member x.EqualsIgnoringVersion (aref: ILAssemblyRef) =
+ aref.UniqueIgnoringVersionStamp = uniqueIgnoringVersionStamp
+
override x.GetHashCode() = uniqueStamp
override x.Equals yobj = ((yobj :?> ILAssemblyRef).UniqueStamp = uniqueStamp)
@@ -490,22 +492,16 @@ type ILScopeRef =
| Local
| Module of ILModuleRef
| Assembly of ILAssemblyRef
+ | PrimaryAssembly
member x.IsLocalRef = match x with ILScopeRef.Local -> true | _ -> false
- member x.IsModuleRef = match x with ILScopeRef.Module _ -> true | _ -> false
-
- member x.IsAssemblyRef= match x with ILScopeRef.Assembly _ -> true | _ -> false
-
- member x.ModuleRef = match x with ILScopeRef.Module x -> x | _ -> failwith "not a module reference"
-
- member x.AssemblyRef = match x with ILScopeRef.Assembly x -> x | _ -> failwith "not an assembly reference"
-
member x.QualifiedName =
match x with
| ILScopeRef.Local -> ""
| ILScopeRef.Module mref -> "module "+mref.Name
| ILScopeRef.Assembly aref -> aref.QualifiedName
+ | ILScopeRef.PrimaryAssembly -> ""
type ILArrayBound = int32 option
@@ -2201,6 +2197,11 @@ and ILExportedTypesAndForwarders =
member x.AsList = let (ILExportedTypesAndForwarders ltab) = x in Map.foldBack (fun _x y r -> y :: r) (ltab.Force()) []
+ member x.TryFindByName nm =
+ match x with
+ | ILExportedTypesAndForwarders ltab ->
+ ltab.Value.TryFind nm
+
[]
type ILResourceAccess =
| Public
@@ -2208,8 +2209,7 @@ type ILResourceAccess =
[]
type ILResourceLocation =
- | LocalIn of string * int * int
- | LocalOut of byte[]
+ | Local of ReadOnlyByteMemory
| File of ILModuleRef * int32
| Assembly of ILAssemblyRef
@@ -2223,9 +2223,7 @@ type ILResource =
/// Read the bytes from a resource local to an assembly
member r.GetBytes() =
match r.Location with
- | ILResourceLocation.LocalIn (file, start, len) ->
- File.ReadBinaryChunk(file, start, len)
- | ILResourceLocation.LocalOut bytes -> bytes
+ | ILResourceLocation.Local bytes -> bytes
| _ -> failwith "GetBytes"
member x.CustomAttrs = x.CustomAttrsStored.GetCustomAttrs x.MetadataIndex
@@ -2604,51 +2602,47 @@ let tname_IntPtr = "System.IntPtr"
[]
let tname_UIntPtr = "System.UIntPtr"
+[]
+let tname_TypedReference = "System.TypedReference"
+
[]
-// This data structure needs an entirely delayed implementation
-type ILGlobals(primaryScopeRef) =
-
- let m_mkSysILTypeRef nm = mkILTyRef (primaryScopeRef, nm)
-
- let m_typ_Object = mkILBoxedType (mkILNonGenericTySpec (m_mkSysILTypeRef tname_Object))
- let m_typ_String = mkILBoxedType (mkILNonGenericTySpec (m_mkSysILTypeRef tname_String))
- let m_typ_Array = mkILBoxedType (mkILNonGenericTySpec (m_mkSysILTypeRef tname_Array))
- let m_typ_Type = mkILBoxedType (mkILNonGenericTySpec (m_mkSysILTypeRef tname_Type))
- let m_typ_SByte = ILType.Value (mkILNonGenericTySpec (m_mkSysILTypeRef tname_SByte))
- let m_typ_Int16 = ILType.Value (mkILNonGenericTySpec (m_mkSysILTypeRef tname_Int16))
- let m_typ_Int32 = ILType.Value (mkILNonGenericTySpec (m_mkSysILTypeRef tname_Int32))
- let m_typ_Int64 = ILType.Value (mkILNonGenericTySpec (m_mkSysILTypeRef tname_Int64))
- let m_typ_Byte = ILType.Value (mkILNonGenericTySpec (m_mkSysILTypeRef tname_Byte))
- let m_typ_UInt16 = ILType.Value (mkILNonGenericTySpec (m_mkSysILTypeRef tname_UInt16))
- let m_typ_UInt32 = ILType.Value (mkILNonGenericTySpec (m_mkSysILTypeRef tname_UInt32))
- let m_typ_UInt64 = ILType.Value (mkILNonGenericTySpec (m_mkSysILTypeRef tname_UInt64))
- let m_typ_Single = ILType.Value (mkILNonGenericTySpec (m_mkSysILTypeRef tname_Single))
- let m_typ_Double = ILType.Value (mkILNonGenericTySpec (m_mkSysILTypeRef tname_Double))
- let m_typ_Bool = ILType.Value (mkILNonGenericTySpec (m_mkSysILTypeRef tname_Bool))
- let m_typ_Char = ILType.Value (mkILNonGenericTySpec (m_mkSysILTypeRef tname_Char))
- let m_typ_IntPtr = ILType.Value (mkILNonGenericTySpec (m_mkSysILTypeRef tname_IntPtr))
- let m_typ_UIntPtr = ILType.Value (mkILNonGenericTySpec (m_mkSysILTypeRef tname_UIntPtr))
-
- member x.primaryAssemblyScopeRef = m_typ_Object.TypeRef.Scope
- member x.primaryAssemblyName = m_typ_Object.TypeRef.Scope.AssemblyRef.Name
- member x.typ_Object = m_typ_Object
- member x.typ_String = m_typ_String
- member x.typ_Array = m_typ_Array
- member x.typ_Type = m_typ_Type
- member x.typ_IntPtr = m_typ_IntPtr
- member x.typ_UIntPtr = m_typ_UIntPtr
- member x.typ_Byte = m_typ_Byte
- member x.typ_Int16 = m_typ_Int16
- member x.typ_Int32 = m_typ_Int32
- member x.typ_Int64 = m_typ_Int64
- member x.typ_SByte = m_typ_SByte
- member x.typ_UInt16 = m_typ_UInt16
- member x.typ_UInt32 = m_typ_UInt32
- member x.typ_UInt64 = m_typ_UInt64
- member x.typ_Single = m_typ_Single
- member x.typ_Double = m_typ_Double
- member x.typ_Bool = m_typ_Bool
- member x.typ_Char = m_typ_Char
+type ILGlobals(primaryScopeRef: ILScopeRef, assembliesThatForwardToPrimaryAssembly: ILAssemblyRef list) =
+
+ let assembliesThatForwardToPrimaryAssembly = Array.ofList assembliesThatForwardToPrimaryAssembly
+
+ let mkSysILTypeRef nm = mkILTyRef (primaryScopeRef, nm)
+
+ member _.primaryAssemblyScopeRef = primaryScopeRef
+ member x.primaryAssemblyRef =
+ match primaryScopeRef with
+ | ILScopeRef.Assembly aref -> aref
+ | _ -> failwith "Invalid primary assembly"
+ member x.primaryAssemblyName = x.primaryAssemblyRef.Name
+
+ member val typ_Object = mkILBoxedType (mkILNonGenericTySpec (mkSysILTypeRef tname_Object))
+ member val typ_String = mkILBoxedType (mkILNonGenericTySpec (mkSysILTypeRef tname_String))
+ member val typ_Array = mkILBoxedType (mkILNonGenericTySpec (mkSysILTypeRef tname_Array))
+ member val typ_Type = mkILBoxedType (mkILNonGenericTySpec (mkSysILTypeRef tname_Type))
+ member val typ_SByte = ILType.Value (mkILNonGenericTySpec (mkSysILTypeRef tname_SByte))
+ member val typ_Int16 = ILType.Value (mkILNonGenericTySpec (mkSysILTypeRef tname_Int16))
+ member val typ_Int32 = ILType.Value (mkILNonGenericTySpec (mkSysILTypeRef tname_Int32))
+ member val typ_Int64 = ILType.Value (mkILNonGenericTySpec (mkSysILTypeRef tname_Int64))
+ member val typ_Byte = ILType.Value (mkILNonGenericTySpec (mkSysILTypeRef tname_Byte))
+ member val typ_UInt16 = ILType.Value (mkILNonGenericTySpec (mkSysILTypeRef tname_UInt16))
+ member val typ_UInt32 = ILType.Value (mkILNonGenericTySpec (mkSysILTypeRef tname_UInt32))
+ member val typ_UInt64 = ILType.Value (mkILNonGenericTySpec (mkSysILTypeRef tname_UInt64))
+ member val typ_Single = ILType.Value (mkILNonGenericTySpec (mkSysILTypeRef tname_Single))
+ member val typ_Double = ILType.Value (mkILNonGenericTySpec (mkSysILTypeRef tname_Double))
+ member val typ_Bool = ILType.Value (mkILNonGenericTySpec (mkSysILTypeRef tname_Bool))
+ member val typ_Char = ILType.Value (mkILNonGenericTySpec (mkSysILTypeRef tname_Char))
+ member val typ_IntPtr = ILType.Value (mkILNonGenericTySpec (mkSysILTypeRef tname_IntPtr))
+ member val typ_UIntPtr = ILType.Value (mkILNonGenericTySpec (mkSysILTypeRef tname_UIntPtr))
+ member val typ_TypedReference = ILType.Value (mkILNonGenericTySpec (mkSysILTypeRef tname_TypedReference))
+
+ member x.IsPossiblePrimaryAssemblyRef(aref: ILAssemblyRef) =
+ aref.EqualsIgnoringVersion x.primaryAssemblyRef ||
+ assembliesThatForwardToPrimaryAssembly
+ |> Array.exists aref.EqualsIgnoringVersion
/// For debugging
[]
@@ -2656,7 +2650,7 @@ type ILGlobals(primaryScopeRef) =
override x.ToString() = ""
-let mkILGlobals primaryScopeRef = ILGlobals primaryScopeRef
+let mkILGlobals (primaryScopeRef, assembliesThatForwardToPrimaryAssembly) = ILGlobals (primaryScopeRef, assembliesThatForwardToPrimaryAssembly)
let mkNormalCall mspec = I_call (Normalcall, mspec, None)
@@ -2701,54 +2695,55 @@ let isILBoxedTy = function ILType.Boxed _ -> true | _ -> false
let isILValueTy = function ILType.Value _ -> true | _ -> false
-let isPrimaryAssemblyTySpec (tspec: ILTypeSpec) n =
+let isBuiltInTySpec (ilg: ILGlobals) (tspec: ILTypeSpec) n =
let tref = tspec.TypeRef
let scoref = tref.Scope
- (tref.Name = n) &&
- match scoref with
- | ILScopeRef.Assembly n -> PrimaryAssembly.IsSomePrimaryAssembly n.Name
- | ILScopeRef.Module _ -> false
- | ILScopeRef.Local -> true
+ tref.Name = n &&
+ (match scoref with
+ | ILScopeRef.Local
+ | ILScopeRef.Module _ -> false
+ | ILScopeRef.Assembly aref -> ilg.IsPossiblePrimaryAssemblyRef aref
+ | ILScopeRef.PrimaryAssembly -> true)
-let isILBoxedPrimaryAssemblyTy (ty: ILType) n =
- isILBoxedTy ty && isPrimaryAssemblyTySpec ty.TypeSpec n
+let isILBoxedBuiltInTy ilg (ty: ILType) n =
+ isILBoxedTy ty && isBuiltInTySpec ilg ty.TypeSpec n
-let isILValuePrimaryAssemblyTy (ty: ILType) n =
- isILValueTy ty && isPrimaryAssemblyTySpec ty.TypeSpec n
+let isILValueBuiltInTy ilg (ty: ILType) n =
+ isILValueTy ty && isBuiltInTySpec ilg ty.TypeSpec n
-let isILObjectTy ty = isILBoxedPrimaryAssemblyTy ty tname_Object
+let isILObjectTy ilg ty = isILBoxedBuiltInTy ilg ty tname_Object
-let isILStringTy ty = isILBoxedPrimaryAssemblyTy ty tname_String
+let isILStringTy ilg ty = isILBoxedBuiltInTy ilg ty tname_String
-let isILTypedReferenceTy ty = isILValuePrimaryAssemblyTy ty "System.TypedReference"
+let isILTypedReferenceTy ilg ty = isILValueBuiltInTy ilg ty tname_TypedReference
-let isILSByteTy ty = isILValuePrimaryAssemblyTy ty tname_SByte
+let isILSByteTy ilg ty = isILValueBuiltInTy ilg ty tname_SByte
-let isILByteTy ty = isILValuePrimaryAssemblyTy ty tname_Byte
+let isILByteTy ilg ty = isILValueBuiltInTy ilg ty tname_Byte
-let isILInt16Ty ty = isILValuePrimaryAssemblyTy ty tname_Int16
+let isILInt16Ty ilg ty = isILValueBuiltInTy ilg ty tname_Int16
-let isILUInt16Ty ty = isILValuePrimaryAssemblyTy ty tname_UInt16
+let isILUInt16Ty ilg ty = isILValueBuiltInTy ilg ty tname_UInt16
-let isILInt32Ty ty = isILValuePrimaryAssemblyTy ty tname_Int32
+let isILInt32Ty ilg ty = isILValueBuiltInTy ilg ty tname_Int32
-let isILUInt32Ty ty = isILValuePrimaryAssemblyTy ty tname_UInt32
+let isILUInt32Ty ilg ty = isILValueBuiltInTy ilg ty tname_UInt32
-let isILInt64Ty ty = isILValuePrimaryAssemblyTy ty tname_Int64
+let isILInt64Ty ilg ty = isILValueBuiltInTy ilg ty tname_Int64
-let isILUInt64Ty ty = isILValuePrimaryAssemblyTy ty tname_UInt64
+let isILUInt64Ty ilg ty = isILValueBuiltInTy ilg ty tname_UInt64
-let isILIntPtrTy ty = isILValuePrimaryAssemblyTy ty tname_IntPtr
+let isILIntPtrTy ilg ty = isILValueBuiltInTy ilg ty tname_IntPtr
-let isILUIntPtrTy ty = isILValuePrimaryAssemblyTy ty tname_UIntPtr
+let isILUIntPtrTy ilg ty = isILValueBuiltInTy ilg ty tname_UIntPtr
-let isILBoolTy ty = isILValuePrimaryAssemblyTy ty tname_Bool
+let isILBoolTy ilg ty = isILValueBuiltInTy ilg ty tname_Bool
-let isILCharTy ty = isILValuePrimaryAssemblyTy ty tname_Char
+let isILCharTy ilg ty = isILValueBuiltInTy ilg ty tname_Char
-let isILSingleTy ty = isILValuePrimaryAssemblyTy ty tname_Single
+let isILSingleTy ilg ty = isILValueBuiltInTy ilg ty tname_Single
-let isILDoubleTy ty = isILValuePrimaryAssemblyTy ty tname_Double
+let isILDoubleTy ilg ty = isILValueBuiltInTy ilg ty tname_Double
// --------------------------------------------------------------------
// Rescoping
@@ -3718,7 +3713,7 @@ let getCustomAttrData (ilg: ILGlobals) cattr =
let MscorlibScopeRef = ILScopeRef.Assembly (ILAssemblyRef.Create ("mscorlib", None, Some ecmaPublicKey, true, None, None))
-let EcmaMscorlibILGlobals = mkILGlobals MscorlibScopeRef
+let EcmaMscorlibILGlobals = mkILGlobals (MscorlibScopeRef, [])
// ILSecurityDecl is a 'blob' having the following format:
// - A byte containing a period (.).
@@ -4014,7 +4009,8 @@ type ILReferences =
ModuleReferences: ILModuleRef list }
type ILReferencesAccumulator =
- { refsA: HashSet
+ { ilg: ILGlobals
+ refsA: HashSet
refsM: HashSet }
let emptyILRefs =
@@ -4031,6 +4027,7 @@ let refs_of_scoref s x =
| ILScopeRef.Local -> ()
| ILScopeRef.Assembly assemblyRef -> refs_of_assemblyRef s assemblyRef
| ILScopeRef.Module modref -> refs_of_modref s modref
+ | ILScopeRef.PrimaryAssembly -> refs_of_assemblyRef s s.ilg.primaryAssemblyRef
let refs_of_tref s (x: ILTypeRef) = refs_of_scoref s x.Scope
@@ -4208,8 +4205,7 @@ and refs_of_exported_types s (tab: ILExportedTypesAndForwarders) = List.iter (re
and refs_of_resource_where s x =
match x with
- | ILResourceLocation.LocalIn _ -> ()
- | ILResourceLocation.LocalOut _ -> ()
+ | ILResourceLocation.Local _ -> ()
| ILResourceLocation.File (mref, _) -> refs_of_modref s mref
| ILResourceLocation.Assembly aref -> refs_of_assemblyRef s aref
@@ -4228,9 +4224,10 @@ and refs_of_manifest s (m: ILAssemblyManifest) =
refs_of_custom_attrs s m.CustomAttrs
refs_of_exported_types s m.ExportedTypes
-let computeILRefs modul =
+let computeILRefs ilg modul =
let s =
- { refsA = HashSet<_>(HashIdentity.Structural)
+ { ilg = ilg
+ refsA = HashSet<_>(HashIdentity.Structural)
refsM = HashSet<_>(HashIdentity.Structural) }
refs_of_modul s modul
diff --git a/src/absil/il.fsi b/src/absil/il.fsi
index e981e8e8b5..506878e1d6 100755
--- a/src/absil/il.fsi
+++ b/src/absil/il.fsi
@@ -3,6 +3,7 @@
/// The "unlinked" view of .NET metadata and code. Central to the Abstract IL library
module public FSharp.Compiler.AbstractIL.IL
+open FSharp.Compiler.AbstractIL.Internal
open System.Collections.Generic
open System.Reflection
@@ -78,6 +79,9 @@ type ILAssemblyRef =
member Retargetable: bool
member Version: ILVersionInfo option
member Locale: string option
+
+ member EqualsIgnoringVersion: ILAssemblyRef -> bool
+
interface System.IComparable
[]
@@ -96,12 +100,10 @@ type ILScopeRef =
/// A reference to a type in a module in the same assembly
| Module of ILModuleRef
/// A reference to a type in another assembly
- | Assembly of ILAssemblyRef
+ | Assembly of ILAssemblyRef
+ /// A reference to a type in the primary assembly
+ | PrimaryAssembly
member IsLocalRef: bool
- member IsModuleRef: bool
- member IsAssemblyRef: bool
- member ModuleRef: ILModuleRef
- member AssemblyRef: ILAssemblyRef
member QualifiedName: string
// Calling conventions.
@@ -1396,7 +1398,8 @@ type ILExportedTypeOrForwarder =
[]
[]
type ILExportedTypesAndForwarders =
- member AsList: ILExportedTypeOrForwarder list
+ member AsList: ILExportedTypeOrForwarder list
+ member TryFindByName: string -> ILExportedTypeOrForwarder option
[]
type ILResourceAccess =
@@ -1405,11 +1408,9 @@ type ILResourceAccess =
[]
type ILResourceLocation =
- /// Represents a manifest resource that can be read from within the PE file
- | LocalIn of string * int * int
-
- /// Represents a manifest resource that is due to be written to the output PE file
- | LocalOut of byte[]
+ internal
+ /// Represents a manifest resource that can be read or written to a PE file
+ | Local of ReadOnlyByteMemory
/// Represents a manifest resource in an associated file
| File of ILModuleRef * int32
@@ -1429,7 +1430,7 @@ type ILResource =
MetadataIndex: int32 }
/// Read the bytes from a resource local to an assembly. Will fail for non-local resources.
- member GetBytes : unit -> byte[]
+ member internal GetBytes : unit -> ReadOnlyByteMemory
member CustomAttrs: ILAttributes
@@ -1576,6 +1577,7 @@ val isTypeNameForGlobalFunctions: string -> bool
[]
type ILGlobals =
member primaryAssemblyScopeRef: ILScopeRef
+ member primaryAssemblyRef: ILAssemblyRef
member primaryAssemblyName: string
member typ_Object: ILType
member typ_String: ILType
@@ -1595,10 +1597,20 @@ type ILGlobals =
member typ_Double: ILType
member typ_Bool: ILType
member typ_Char: ILType
-
+ member typ_TypedReference: ILType
+
+ /// Is the given assembly possibly a primary assembly?
+ /// In practice, a primary assembly is an assembly that contains the System.Object type definition
+ /// and has no referenced assemblies.
+ /// However, we must consider assemblies that forward the System.Object type definition
+ /// to be possible primary assemblies.
+ /// Therefore, this will return true if the given assembly is the real primary assembly or an assembly that forwards
+ /// the System.Object type definition.
+ /// Assembly equivalency ignores the version here.
+ member IsPossiblePrimaryAssemblyRef: ILAssemblyRef -> bool
/// Build the table of commonly used references given functions to find types in system assemblies
-val mkILGlobals: ILScopeRef -> ILGlobals
+val mkILGlobals: primaryScopeRef: ILScopeRef * assembliesThatForwardToPrimaryAssembly: ILAssemblyRef list -> ILGlobals
val EcmaMscorlibILGlobals: ILGlobals
@@ -1949,23 +1961,23 @@ val instILType: ILGenericArgs -> ILType -> ILType
val ecmaPublicKey: PublicKey
/// Discriminating different important built-in types.
-val isILObjectTy: ILType -> bool
-val isILStringTy: ILType -> bool
-val isILSByteTy: ILType -> bool
-val isILByteTy: ILType -> bool
-val isILInt16Ty: ILType -> bool
-val isILUInt16Ty: ILType -> bool
-val isILInt32Ty: ILType -> bool
-val isILUInt32Ty: ILType -> bool
-val isILInt64Ty: ILType -> bool
-val isILUInt64Ty: ILType -> bool
-val isILIntPtrTy: ILType -> bool
-val isILUIntPtrTy: ILType -> bool
-val isILBoolTy: ILType -> bool
-val isILCharTy: ILType -> bool
-val isILTypedReferenceTy: ILType -> bool
-val isILDoubleTy: ILType -> bool
-val isILSingleTy: ILType -> bool
+val isILObjectTy: ILGlobals -> ILType -> bool
+val isILStringTy: ILGlobals -> ILType -> bool
+val isILSByteTy: ILGlobals -> ILType -> bool
+val isILByteTy: ILGlobals -> ILType -> bool
+val isILInt16Ty: ILGlobals -> ILType -> bool
+val isILUInt16Ty: ILGlobals -> ILType -> bool
+val isILInt32Ty: ILGlobals -> ILType -> bool
+val isILUInt32Ty: ILGlobals -> ILType -> bool
+val isILInt64Ty: ILGlobals -> ILType -> bool
+val isILUInt64Ty: ILGlobals -> ILType -> bool
+val isILIntPtrTy: ILGlobals -> ILType -> bool
+val isILUIntPtrTy: ILGlobals -> ILType -> bool
+val isILBoolTy: ILGlobals -> ILType -> bool
+val isILCharTy: ILGlobals -> ILType -> bool
+val isILTypedReferenceTy: ILGlobals -> ILType -> bool
+val isILDoubleTy: ILGlobals -> ILType -> bool
+val isILSingleTy: ILGlobals -> ILType -> bool
val sha1HashInt64 : byte[] -> int64
/// Get a public key token from a public key.
@@ -2007,6 +2019,6 @@ type ILReferences =
ModuleReferences: ILModuleRef list }
/// Find the full set of assemblies referenced by a module.
-val computeILRefs: ILModuleDef -> ILReferences
+val computeILRefs: ILGlobals -> ILModuleDef -> ILReferences
val emptyILRefs: ILReferences
diff --git a/src/absil/ilascii.fs b/src/absil/ilascii.fs
index 6c89ca69b5..e5b7782ba7 100755
--- a/src/absil/ilascii.fs
+++ b/src/absil/ilascii.fs
@@ -9,7 +9,7 @@ open FSharp.Compiler.AbstractIL.IL
// set to the proper value at CompileOps.fs (BuildFrameworkTcImports)
// Only relevant when compiling FSharp.Core.dll
-let parseILGlobals = ref EcmaMscorlibILGlobals
+let mutable parseILGlobals = EcmaMscorlibILGlobals
/// Table of parsing and pretty printing data for instructions.
let noArgInstrs =
@@ -226,12 +226,6 @@ let DoubleInstrs : Lazy> =
["ldc";"r8"], (fun x -> (AI_ldc (DT_R8, x)))
]
-/// Table of parsing and pretty printing data for instructions.
-let MethodSpecInstrs : Lazy> =
- lazy [
- ["call"], (fun (mspec, y) -> I_call (Normalcall, mspec, y))
- ]
-
/// Table of parsing and pretty printing data for instructions.
let StringInstrs : Lazy> =
lazy [
diff --git a/src/absil/ilascii.fsi b/src/absil/ilascii.fsi
index 1b94bbed22..67a5c9eb4b 100755
--- a/src/absil/ilascii.fsi
+++ b/src/absil/ilascii.fsi
@@ -14,7 +14,7 @@ open FSharp.Compiler.AbstractIL.IL
// IL Parser state - must be initialized before parsing a module
// --------------------------------------------------------------------
-val parseILGlobals: ILGlobals ref
+val mutable parseILGlobals: ILGlobals
// --------------------------------------------------------------------
// IL Lexer and pretty-printer tables
@@ -41,7 +41,6 @@ val Int64Instrs: LazyInstrTable
val Int32Instrs: LazyInstrTable
val Int32Int32Instrs: LazyInstrTable
val DoubleInstrs: LazyInstrTable
-val MethodSpecInstrs: LazyInstrTable
val StringInstrs: LazyInstrTable
val TokenInstrs: LazyInstrTable
val TypeInstrs: LazyInstrTable
diff --git a/src/absil/ildiag.fs b/src/absil/ildiag.fs
index 1cd20ad875..d43bdf8dca 100755
--- a/src/absil/ildiag.fs
+++ b/src/absil/ildiag.fs
@@ -5,18 +5,18 @@
module internal FSharp.Compiler.AbstractIL.Diagnostics
-let diagnosticsLog = ref (Some stdout)
+let mutable diagnosticsLog = Some stdout
-let setDiagnosticsChannel s = diagnosticsLog := s
+let setDiagnosticsChannel s = diagnosticsLog <- s
-let dflushn () = match !diagnosticsLog with None -> () | Some d -> d.WriteLine(); d.Flush()
-let dflush () = match !diagnosticsLog with None -> () | Some d -> d.Flush()
+let dflushn () = match diagnosticsLog with None -> () | Some d -> d.WriteLine(); d.Flush()
+let dflush () = match diagnosticsLog with None -> () | Some d -> d.Flush()
let dprintn (s:string) =
- match !diagnosticsLog with None -> () | Some d -> d.Write s; d.Write "\n"; dflush()
+ match diagnosticsLog with None -> () | Some d -> d.Write s; d.Write "\n"; dflush()
let dprintf (fmt: Format<_,_,_,_>) =
- Printf.kfprintf dflush (match !diagnosticsLog with None -> System.IO.TextWriter.Null | Some d -> d) fmt
+ Printf.kfprintf dflush (match diagnosticsLog with None -> System.IO.TextWriter.Null | Some d -> d) fmt
let dprintfn (fmt: Format<_,_,_,_>) =
- Printf.kfprintf dflushn (match !diagnosticsLog with None -> System.IO.TextWriter.Null | Some d -> d) fmt
+ Printf.kfprintf dflushn (match diagnosticsLog with None -> System.IO.TextWriter.Null | Some d -> d) fmt
diff --git a/src/absil/illex.fsl b/src/absil/illex.fsl
index 849ebd17b8..149cd087b9 100755
--- a/src/absil/illex.fsl
+++ b/src/absil/illex.fsl
@@ -70,7 +70,6 @@ let kwdInstrTable =
addTable (fun i -> INSTR_I32_I32 i) Int32Int32Instrs;
addTable (fun i -> INSTR_I8 i) Int64Instrs;
addTable (fun i -> INSTR_R i) DoubleInstrs;
- addTable (fun i -> INSTR_METHOD i) MethodSpecInstrs;
addTable (fun i -> INSTR_TYPE i) TypeInstrs;
addTable (fun i -> INSTR_INT_TYPE i) IntTypeInstrs;
addTable (fun i -> INSTR_VALUETYPE i) ValueTypeInstrs;
diff --git a/src/absil/illib.fs b/src/absil/illib.fs
index 70e67a0815..33e0566a6c 100755
--- a/src/absil/illib.fs
+++ b/src/absil/illib.fs
@@ -40,22 +40,22 @@ let inline nonNull msg x = if isNull x then failwith ("null: " + msg) else x
let inline (===) x y = LanguagePrimitives.PhysicalEquality x y
/// Per the docs the threshold for the Large Object Heap is 85000 bytes: https://docs.microsoft.com/en-us/dotnet/standard/garbage-collection/large-object-heap#how-an-object-ends-up-on-the-large-object-heap-and-how-gc-handles-them
-/// We set the limit to slightly under that to allow for some 'slop'
-let LOH_SIZE_THRESHOLD_BYTES = 84_900
+/// We set the limit to be 80k to account for larger pointer sizes for when F# is running 64-bit.
+let LOH_SIZE_THRESHOLD_BYTES = 80_000
//---------------------------------------------------------------------
// Library: ReportTime
//---------------------------------------------------------------------
let reportTime =
- let tFirst = ref None
- let tPrev = ref None
+ let mutable tFirst =None
+ let mutable tPrev = None
fun showTimes descr ->
if showTimes then
let t = Process.GetCurrentProcess().UserProcessorTime.TotalSeconds
- let prev = match !tPrev with None -> 0.0 | Some t -> t
- let first = match !tFirst with None -> (tFirst := Some t; t) | Some t -> t
+ let prev = match tPrev with None -> 0.0 | Some t -> t
+ let first = match tFirst with None -> (tFirst <- Some t; t) | Some t -> t
printf "ilwrite: TIME %10.3f (total) %10.3f (delta) - %s\n" (t - first) (t - prev) descr
- tPrev := Some t
+ tPrev <- Some t
//-------------------------------------------------------------------------
// Library: projections
@@ -573,10 +573,10 @@ module String =
let getLines (str: string) =
use reader = new StringReader(str)
[|
- let line = ref (reader.ReadLine())
- while not (isNull !line) do
- yield !line
- line := reader.ReadLine()
+ let mutable line = reader.ReadLine()
+ while not (isNull line) do
+ yield line
+ line <- reader.ReadLine()
if str.EndsWithOrdinal("\n") then
// last trailing space not returned
// http://stackoverflow.com/questions/19365404/stringreader-omits-trailing-linebreak
@@ -1361,7 +1361,45 @@ module Shim =
directory.Contains("packages\\") ||
directory.Contains("lib/mono/")
- let mutable FileSystem = DefaultFileSystem() :> IFileSystem
+ let mutable FileSystem = DefaultFileSystem() :> IFileSystem
+
+ // The choice of 60 retries times 50 ms is not arbitrary. The NTFS FILETIME structure
+ // uses 2 second resolution for LastWriteTime. We retry long enough to surpass this threshold
+ // plus 1 second. Once past the threshold the incremental builder will be able to retry asynchronously based
+ // on plain old timestamp checking.
+ //
+ // The sleep time of 50ms is chosen so that we can respond to the user more quickly for Intellisense operations.
+ //
+ // This is not run on the UI thread for VS but it is on a thread that must be stopped before Intellisense
+ // can return any result except for pending.
+ let private retryDelayMilliseconds = 50
+ let private numRetries = 60
+
+ let private getReader (filename, codePage: int option, retryLocked: bool) =
+ // Retry multiple times since other processes may be writing to this file.
+ let rec getSource retryNumber =
+ try
+ // Use the .NET functionality to auto-detect the unicode encoding
+ let stream = FileSystem.FileStreamReadShim(filename)
+ match codePage with
+ | None -> new StreamReader(stream,true)
+ | Some n -> new StreamReader(stream,System.Text.Encoding.GetEncoding(n))
+ with
+ // We can get here if the file is locked--like when VS is saving a file--we don't have direct
+ // access to the HRESULT to see that this is EONOACCESS.
+ | :? System.IO.IOException as err when retryLocked && err.GetType() = typeof ->
+ // This second check is to make sure the exception is exactly IOException and none of these for example:
+ // DirectoryNotFoundException
+ // EndOfStreamException
+ // FileNotFoundException
+ // FileLoadException
+ // PathTooLongException
+ if retryNumber < numRetries then
+ System.Threading.Thread.Sleep (retryDelayMilliseconds)
+ getSource (retryNumber + 1)
+ else
+ reraise()
+ getSource 0
type File with
@@ -1374,3 +1412,6 @@ module Shim =
n <- n + stream.Read(buffer, n, len-n)
buffer
+ static member OpenReaderAndRetry (filename, codepage, retryLocked) =
+ getReader (filename, codepage, retryLocked)
+
diff --git a/src/absil/ilpars.fsy b/src/absil/ilpars.fsy
index 3f812caeb4..e831677e50 100755
--- a/src/absil/ilpars.fsy
+++ b/src/absil/ilpars.fsy
@@ -20,21 +20,6 @@ let pfailwith s =
stderr.WriteLine ("*** error: "+s);
raise Parsing.RecoverableParseError
-/// vararg sentinels
-type SigArg = SigArg of (string option * ILType) | Sentinel
-
-let decodeVarargs args =
- let rec normals = function
- | [] -> ([],None)
- | Sentinel :: t -> ([],Some (varargs t))
- | SigArg (_,p) :: t -> let (n,r) = normals t in (p :: n, r)
- and varargs = function
- | [] -> []
- | SigArg (_,ty) :: t -> let l = varargs t in ty :: l
- | Sentinel :: t -> pfailwith "two sentinels in vararg call"
- normals args
-
-
type ResolvedAtMethodSpecScope<'T> =
ResolvedAtMethodSpecScope of (ILGenericParameterDefs -> 'T)
@@ -43,17 +28,12 @@ let resolveMethodSpecScope (ResolvedAtMethodSpecScope f) x = f x
let resolveMethodSpecScopeThen (ResolvedAtMethodSpecScope f) g =
ResolvedAtMethodSpecScope (fun x -> resolveMethodSpecScope (g(f x)) x)
-let resolveFormalMethodSpecScope tspeco obj =
- match tspeco with
- None -> resolveMethodSpecScope obj mkILEmptyGenericParams
- | Some (tspec:ILTypeSpec) -> resolveMethodSpecScope obj (mkILFormalTypars tspec.GenericArgs)
-
let resolveCurrentMethodSpecScope obj =
resolveMethodSpecScope obj mkILEmptyGenericParams
let findSystemRuntimeAssemblyRef() =
- match (!parseILGlobals).primaryAssemblyScopeRef with
+ match parseILGlobals.primaryAssemblyScopeRef with
| ILScopeRef.Assembly aref -> aref
| _ -> pfailwith "systemRuntimeScopeRef not set to valid assembly reference in parseILGlobals"
@@ -75,7 +55,6 @@ let findAssemblyRef nm =
%token INSTR_I32_I32
%token INSTR_I8
%token INSTR_R
-%token INSTR_METHOD
%token INSTR_NONE
%token INSTR_STRING
%token INSTR_TOK
@@ -163,18 +142,6 @@ instrs2:
{ $1 :: $2 }
| { [] }
-
-
-methodSpecMaybeArrayMethod:
- callConv typ typSpec DCOLON methodName opt_actual_tyargs LPAREN sigArgs0 RPAREN
- { let callee_class_typ : ILType = resolveCurrentMethodSpecScope $3
- let gscope = (if isILArrTy callee_class_typ then None else Some callee_class_typ.TypeSpec)
- let argtys_n_varargs = resolveFormalMethodSpecScope gscope $8
- let (argtys,varargs) = decodeVarargs argtys_n_varargs
- let minst = resolveCurrentMethodSpecScope $6
- let callee_retty = resolveFormalMethodSpecScope gscope $2
- (callee_class_typ, $1, $5, argtys, callee_retty, minst), varargs }
-
instr:
INSTR_NONE
{ ($1 ()) }
@@ -188,19 +155,6 @@ instr:
{ ($1 (ILConst.R8 $2)) }
| INSTR_R int64
{ ($1 (ILConst.R8 (float $2))) }
- | INSTR_METHOD methodSpecMaybeArrayMethod
- {
- let ((encl_typ, _cc, nm, _argtys, _retty, _minst) as data),varargs = $2
- if isILArrTy encl_typ then
- let (shape,ty) = destILArrTy encl_typ
- match nm with
- | "Get" -> I_ldelem_any(shape,ty)
- | "Set" -> I_stelem_any(shape,ty)
- | "Address" -> I_ldelema(NormalAddress,false,shape,ty)
- | ".ctor" -> I_newarr(shape,ty)
- | _ -> failwith "bad method on array type"
- else
- $1 (mkILMethSpecInTy data, varargs) }
| INSTR_TYPE typSpec
{ $1 (resolveCurrentMethodSpecScope $2) }
| INSTR_INT_TYPE int32 typSpec
@@ -209,34 +163,6 @@ instr:
{ $1 (resolveCurrentMethodSpecScope $2) }
| INSTR_TOK typSpec
{ ($1 (ILToken.ILType (resolveCurrentMethodSpecScope $2))) }
-
-/*-----------------------------------------------
- * Formal signatures of methods etc.
- *---------------------------------------------*/
-
-sigArgs0:
- { noMethodSpecScope [] }
- | sigArgs1 { $1 }
-
-sigArgs1:
- sigArgs1a
- { ResolvedAtMethodSpecScope (fun c -> List.map (fun obj -> resolveMethodSpecScope obj c) (List.rev $1)) }
-
-sigArgs1a:
- sigArg
- { [$1] }
- | sigArgs1a COMMA sigArg
- { $3 :: $1 }
-
-sigArg:
- | typ opt_id
- { resolveMethodSpecScopeThen $1 (fun ty ->
- noMethodSpecScope (SigArg($2, ty))) }
-
-
-
-opt_id: { None } | id { Some $1 }
-
/*-----------------------------------------------
* Type names
@@ -309,9 +235,9 @@ callKind:
*---------------------------------------------*/
typ: STRING
- { noMethodSpecScope (!parseILGlobals).typ_String }
+ { noMethodSpecScope parseILGlobals.typ_String }
| OBJECT
- { noMethodSpecScope (!parseILGlobals).typ_Object }
+ { noMethodSpecScope parseILGlobals.typ_Object }
| CLASS typeNameInst
{ resolveMethodSpecScopeThen $2 (fun tspec ->
noMethodSpecScope (mkILBoxedType tspec)) }
@@ -330,45 +256,45 @@ typ: STRING
| typ STAR
{ resolveMethodSpecScopeThen $1 (fun ty -> noMethodSpecScope (ILType.Ptr ty)) }
| CHAR
- { noMethodSpecScope (!parseILGlobals).typ_Char }
+ { noMethodSpecScope parseILGlobals.typ_Char }
| VOID
{ noMethodSpecScope ILType.Void }
| BOOL
- { noMethodSpecScope (!parseILGlobals).typ_Bool }
+ { noMethodSpecScope parseILGlobals.typ_Bool }
| INT8
- { noMethodSpecScope (!parseILGlobals).typ_SByte }
+ { noMethodSpecScope parseILGlobals.typ_SByte }
| INT16
- { noMethodSpecScope (!parseILGlobals).typ_Int16 }
+ { noMethodSpecScope parseILGlobals.typ_Int16 }
| INT32
- { noMethodSpecScope (!parseILGlobals).typ_Int32 }
+ { noMethodSpecScope parseILGlobals.typ_Int32 }
| INT64
- { noMethodSpecScope (!parseILGlobals).typ_Int64 }
+ { noMethodSpecScope parseILGlobals.typ_Int64 }
| FLOAT32
- { noMethodSpecScope (!parseILGlobals).typ_Single }
+ { noMethodSpecScope parseILGlobals.typ_Single }
| FLOAT64
- { noMethodSpecScope (!parseILGlobals).typ_Double }
+ { noMethodSpecScope parseILGlobals.typ_Double }
| UNSIGNED INT8
- { noMethodSpecScope (!parseILGlobals).typ_Byte }
+ { noMethodSpecScope parseILGlobals.typ_Byte }
| UNSIGNED INT16
- { noMethodSpecScope (!parseILGlobals).typ_UInt16 }
+ { noMethodSpecScope parseILGlobals.typ_UInt16 }
| UNSIGNED INT32
- { noMethodSpecScope (!parseILGlobals).typ_UInt32 }
+ { noMethodSpecScope parseILGlobals.typ_UInt32 }
| UNSIGNED INT64
- { noMethodSpecScope (!parseILGlobals).typ_UInt64 }
+ { noMethodSpecScope parseILGlobals.typ_UInt64 }
| UINT8
- { noMethodSpecScope (!parseILGlobals).typ_Byte }
+ { noMethodSpecScope parseILGlobals.typ_Byte }
| UINT16
- { noMethodSpecScope (!parseILGlobals).typ_UInt16 }
+ { noMethodSpecScope parseILGlobals.typ_UInt16 }
| UINT32
- { noMethodSpecScope (!parseILGlobals).typ_UInt32 }
+ { noMethodSpecScope parseILGlobals.typ_UInt32 }
| UINT64
- { noMethodSpecScope (!parseILGlobals).typ_UInt64 }
+ { noMethodSpecScope parseILGlobals.typ_UInt64 }
| NATIVE INT
- { noMethodSpecScope (!parseILGlobals).typ_IntPtr }
+ { noMethodSpecScope parseILGlobals.typ_IntPtr }
| NATIVE UNSIGNED INT
- { noMethodSpecScope (!parseILGlobals).typ_UIntPtr }
+ { noMethodSpecScope parseILGlobals.typ_UIntPtr }
| NATIVE UINT
- { noMethodSpecScope (!parseILGlobals).typ_UIntPtr }
+ { noMethodSpecScope parseILGlobals.typ_UIntPtr }
| BANG int32
{ noMethodSpecScope (ILType.TypeVar (uint16 ( $2))) }
diff --git a/src/absil/ilprint.fs b/src/absil/ilprint.fs
index 1ee930896f..07d2c8568d 100755
--- a/src/absil/ilprint.fs
+++ b/src/absil/ilprint.fs
@@ -157,12 +157,14 @@ let output_ieee32 os (x:float32) = output_string os "float32 ("; output_string o
let output_ieee64 os (x:float) = output_string os "float64 ("; output_string os (string (bits_of_float x)); output_string os ")"
-let rec goutput_scoref _env os = function
+let rec goutput_scoref env os = function
| ILScopeRef.Local -> ()
| ILScopeRef.Assembly aref ->
output_string os "["; output_sqstring os aref.Name; output_string os "]"
| ILScopeRef.Module mref ->
output_string os "[.module "; output_sqstring os mref.Name; output_string os "]"
+ | ILScopeRef.PrimaryAssembly ->
+ output_string os "["; output_sqstring os env.ilGlobals.primaryAssemblyName; output_string os "]"
and goutput_type_name_ref env os (scoref, enc, n) =
goutput_scoref env os scoref
@@ -1023,8 +1025,7 @@ let goutput_resource env os r =
output_string os " { "
goutput_custom_attrs env os r.CustomAttrs
match r.Location with
- | ILResourceLocation.LocalIn _
- | ILResourceLocation.LocalOut _ ->
+ | ILResourceLocation.Local _ ->
output_string os " /* loc nyi */ "
| ILResourceLocation.File (mref, off) ->
output_string os " .file "
@@ -1065,7 +1066,7 @@ let output_module_fragment_aux _refs os (ilg: ILGlobals) modul =
reraise()
let output_module_fragment os (ilg: ILGlobals) modul =
- let refs = computeILRefs modul
+ let refs = computeILRefs ilg modul
output_module_fragment_aux refs os ilg modul
refs
@@ -1086,7 +1087,7 @@ let goutput_module_manifest env os modul =
let output_module os (ilg: ILGlobals) modul =
try
- let refs = computeILRefs modul
+ let refs = computeILRefs ilg modul
let env = mk_ppenv ilg
let env = ppenv_enter_modul env
output_module_refs os refs
diff --git a/src/absil/ilread.fs b/src/absil/ilread.fs
index de201333a0..b9994f6418 100755
--- a/src/absil/ilread.fs
+++ b/src/absil/ilread.fs
@@ -19,6 +19,7 @@ open System.Runtime.InteropServices
open System.Text
open Internal.Utilities
open Internal.Utilities.Collections
+open FSharp.NativeInterop
open FSharp.Compiler.AbstractIL.Internal
open FSharp.Compiler.AbstractIL.Internal.Support
open FSharp.Compiler.AbstractIL.Diagnostics
@@ -29,6 +30,10 @@ open FSharp.Compiler.ErrorLogger
open FSharp.Compiler.Range
open System.Reflection
+#nowarn "9"
+
+let primaryAssemblyILGlobals = mkILGlobals (ILScopeRef.PrimaryAssembly, [])
+
let checking = false
let logging = false
let _ = if checking then dprintn "warning: ILBinaryReader.checking is on"
@@ -104,125 +109,31 @@ let stats =
let GetStatistics() = stats
-[]
-/// An abstraction over how we access the contents of .NET binaries. May be backed by managed or unmanaged memory,
-/// memory mapped file or by on-disk resources. These objects should never need explicit disposal - they must either
-/// not hold resources of clean up after themselves when collected.
-type BinaryView() =
-
- /// Read a byte from the file
- abstract ReadByte: addr: int -> byte
-
- /// Read a chunk of bytes from the file
- abstract ReadBytes: addr: int -> int -> byte[]
-
- /// Read an Int32 from the file
- abstract ReadInt32: addr: int -> int
-
- /// Read a UInt16 from the file
- abstract ReadUInt16: addr: int -> uint16
+type private BinaryView = ReadOnlyByteMemory
- /// Read a length of a UTF8 string from the file
- abstract CountUtf8String: addr: int -> int
-
- /// Read a UTF8 string from the file
- abstract ReadUTF8String: addr: int -> string
-
-/// An abstraction over how we access the contents of .NET binaries. May be backed by managed or unmanaged memory,
-/// memory mapped file or by on-disk resources.
+/// An abstraction over how we access the contents of .NET binaries.
type BinaryFile =
- /// Return a BinaryView for temporary use which eagerly holds any necessary memory resources for the duration of its lifetime,
- /// and is faster to access byte-by-byte. The returned BinaryView should _not_ be captured in a closure that outlives the
- /// desired lifetime.
abstract GetView: unit -> BinaryView
-/// A view over a raw pointer to memory
-type RawMemoryView(obj: obj, start: nativeint, len: int) =
- inherit BinaryView()
-
- override m.ReadByte i =
- if nativeint i + 1n > nativeint len then failwithf "RawMemoryView overrun, i = %d, obj = %A" i obj
- Marshal.ReadByte(start + nativeint i)
-
- override m.ReadBytes i n =
- if nativeint i + nativeint n > nativeint len then failwithf "RawMemoryView overrun, i = %d, n = %d, obj = %A" i n obj
- let res = Bytes.zeroCreate n
- Marshal.Copy(start + nativeint i, res, 0, n)
- res
-
- override m.ReadInt32 i =
- if nativeint i + 4n > nativeint len then failwithf "RawMemoryView overrun, i = %d, obj = %A" i obj
- Marshal.ReadInt32(start + nativeint i)
-
- override m.ReadUInt16 i =
- if nativeint i + 2n > nativeint len then failwithf "RawMemoryView overrun, i = %d, obj = %A" i obj
- uint16(Marshal.ReadInt16(start + nativeint i))
-
- override m.CountUtf8String i =
- if nativeint i > nativeint len then failwithf "RawMemoryView overrun, i = %d, obj = %A" i obj
- let pStart = start + nativeint i
- let mutable p = start
- while Marshal.ReadByte p <> 0uy do
- p <- p + 1n
- int (p - pStart)
-
- override m.ReadUTF8String i =
- let n = m.CountUtf8String i
- if nativeint i + nativeint n > nativeint len then failwithf "RawMemoryView overrun, i = %d, n = %d, obj = %A" i n obj
- System.Runtime.InteropServices.Marshal.PtrToStringAnsi(start + nativeint i, n)
-
- member __.HoldObj() = obj
-
-
/// Gives views over a raw chunk of memory, for example those returned to us by the memory manager in Roslyn's
/// Visual Studio integration. 'obj' must keep the memory alive. The object will capture it and thus also keep the memory alive for
/// the lifetime of this object.
type RawMemoryFile(fileName: string, obj: obj, addr: nativeint, length: int) =
do stats.rawMemoryFileCount <- stats.rawMemoryFileCount + 1
- let view = RawMemoryView(obj, addr, length)
+ let view = ByteMemory.FromUnsafePointer(addr, length, obj).AsReadOnly()
member __.HoldObj() = obj // make sure we capture 'obj'
member __.FileName = fileName
interface BinaryFile with
- override __.GetView() = view :>_
-
-/// Read file from memory blocks
-type ByteView(bytes: byte[]) =
- inherit BinaryView()
-
- override __.ReadByte addr = bytes.[addr]
-
- override __.ReadBytes addr len = Array.sub bytes addr len
-
- override __.CountUtf8String addr =
- let mutable p = addr
- while bytes.[p] <> 0uy do
- p <- p + 1
- p - addr
-
- override bfv.ReadUTF8String addr =
- let n = bfv.CountUtf8String addr
- System.Text.Encoding.UTF8.GetString (bytes, addr, n)
-
- override bfv.ReadInt32 addr =
- let b0 = bfv.ReadByte addr
- let b1 = bfv.ReadByte (addr+1)
- let b2 = bfv.ReadByte (addr+2)
- let b3 = bfv.ReadByte (addr+3)
- int b0 ||| (int b1 <<< 8) ||| (int b2 <<< 16) ||| (int b3 <<< 24)
-
- override bfv.ReadUInt16 addr =
- let b0 = bfv.ReadByte addr
- let b1 = bfv.ReadByte (addr+1)
- uint16 b0 ||| (uint16 b1 <<< 8)
+ override __.GetView() = view
/// A BinaryFile backed by an array of bytes held strongly as managed memory
[]
type ByteFile(fileName: string, bytes: byte[]) =
- let view = ByteView bytes
+ let view = ByteMemory.FromArray(bytes).AsReadOnly()
do stats.byteFileCount <- stats.byteFileCount + 1
member __.FileName = fileName
interface BinaryFile with
- override bf.GetView() = view :> BinaryView
+ override bf.GetView() = view
/// Same as ByteFile but holds the bytes weakly. The bytes will be re-read from the backing file when a view is requested.
/// This is the default implementation used by F# Compiler Services when accessing "stable" binaries. It is not used
@@ -261,11 +172,11 @@ type WeakByteFile(fileName: string, chunk: (int * int) option) =
tg
- (ByteView strongBytes :> BinaryView)
+ ByteMemory.FromArray(strongBytes).AsReadOnly()
-let seekReadByte (mdv: BinaryView) addr = mdv.ReadByte addr
-let seekReadBytes (mdv: BinaryView) addr len = mdv.ReadBytes addr len
+let seekReadByte (mdv: BinaryView) addr = mdv.[addr]
+let seekReadBytes (mdv: BinaryView) addr len = mdv.ReadBytes(addr, len)
let seekReadInt32 (mdv: BinaryView) addr = mdv.ReadInt32 addr
let seekReadUInt16 (mdv: BinaryView) addr = mdv.ReadUInt16 addr
@@ -850,37 +761,33 @@ let seekReadIndexedRows (numRows, rowReader, keyFunc, keyComparer, binaryChop, r
// now read off rows, forward and backwards
let mid = (low + high) / 2
// read forward
- begin
- let mutable fin = false
- let mutable curr = mid
- while not fin do
- if curr > numRows then
- fin <- true
- else
- let currrow = rowReader curr
- if keyComparer (keyFunc currrow) = 0 then
- res <- rowConverter currrow :: res
- else
- fin <- true
- curr <- curr + 1
- done
- end
+ let mutable fin = false
+ let mutable curr = mid
+ while not fin do
+ if curr > numRows then
+ fin <- true
+ else
+ let currrow = rowReader curr
+ if keyComparer (keyFunc currrow) = 0 then
+ res <- rowConverter currrow :: res
+ else
+ fin <- true
+ curr <- curr + 1
+
res <- List.rev res
// read backwards
- begin
- let mutable fin = false
- let mutable curr = mid - 1
- while not fin do
- if curr = 0 then
+ let mutable fin = false
+ let mutable curr = mid - 1
+ while not fin do
+ if curr = 0 then
fin <- true
- else
+ else
let currrow = rowReader curr
if keyComparer (keyFunc currrow) = 0 then
res <- rowConverter currrow :: res
else
fin <- true
curr <- curr - 1
- end
// sanity check
#if CHECKING
if checking then
@@ -950,8 +857,7 @@ type PEReader =
[]
type ILMetadataReader =
- { ilg: ILGlobals
- sorted: int64
+ { sorted: int64
mdfile: BinaryFile
pectxtCaptured: PEReader option // only set when reading full PE including code etc. for static linking
entryPointToken: TableName * int
@@ -1502,7 +1408,7 @@ let rvaToData (ctxt: ILMetadataReader) (pectxt: PEReader) nm rva =
let isSorted (ctxt: ILMetadataReader) (tab: TableName) = ((ctxt.sorted &&& (int64 1 <<< tab.Index)) <> int64 0x0)
// Note, pectxtEager and pevEager must not be captured by the results of this function
-let rec seekReadModule (ctxt: ILMetadataReader) (pectxtEager: PEReader) pevEager peinfo ilMetadataVersion idx =
+let rec seekReadModule (ctxt: ILMetadataReader) canReduceMemory (pectxtEager: PEReader) pevEager peinfo ilMetadataVersion idx =
let (subsys, subsysversion, useHighEntropyVA, ilOnly, only32, is32bitpreferred, only64, platform, isDll, alignVirt, alignPhys, imageBaseReal) = peinfo
let mdv = ctxt.mdfile.GetView()
let (_generation, nameIdx, _mvidIdx, _encidIdx, _encbaseidIdx) = seekReadModuleRow ctxt mdv idx
@@ -1531,7 +1437,7 @@ let rec seekReadModule (ctxt: ILMetadataReader) (pectxtEager: PEReader) pevEager
PhysicalAlignment = alignPhys
ImageBase = imageBaseReal
MetadataVersion = ilMetadataVersion
- Resources = seekReadManifestResources ctxt mdv pectxtEager pevEager }
+ Resources = seekReadManifestResources ctxt canReduceMemory mdv pectxtEager pevEager }
and seekReadAssemblyManifest (ctxt: ILMetadataReader) pectxt idx =
let mdview = ctxt.mdfile.GetView()
@@ -1804,7 +1710,7 @@ and seekReadTypeDefOrRefAsTypeRef (ctxt: ILMetadataReader) (TaggedIndex(tag, idx
| tag when tag = tdor_TypeRef -> seekReadTypeRef ctxt idx
| tag when tag = tdor_TypeSpec ->
dprintn ("type spec used where a type ref or def is required")
- ctxt.ilg.typ_Object.TypeRef
+ primaryAssemblyILGlobals.typ_Object.TypeRef
| _ -> failwith "seekReadTypeDefOrRefAsTypeRef_readTypeDefOrRefOrSpec"
and seekReadMethodRefParent (ctxt: ILMetadataReader) mdv numtypars (TaggedIndex(tag, idx)) =
@@ -1922,22 +1828,22 @@ and sigptrGetTypeDefOrRefOrSpecIdx bytes sigptr =
and sigptrGetTy (ctxt: ILMetadataReader) numtypars bytes sigptr =
let b0, sigptr = sigptrGetByte bytes sigptr
- if b0 = et_OBJECT then ctxt.ilg.typ_Object, sigptr
- elif b0 = et_STRING then ctxt.ilg.typ_String, sigptr
- elif b0 = et_I1 then ctxt.ilg.typ_SByte, sigptr
- elif b0 = et_I2 then ctxt.ilg.typ_Int16, sigptr
- elif b0 = et_I4 then ctxt.ilg.typ_Int32, sigptr
- elif b0 = et_I8 then ctxt.ilg.typ_Int64, sigptr
- elif b0 = et_I then ctxt.ilg.typ_IntPtr, sigptr
- elif b0 = et_U1 then ctxt.ilg.typ_Byte, sigptr
- elif b0 = et_U2 then ctxt.ilg.typ_UInt16, sigptr
- elif b0 = et_U4 then ctxt.ilg.typ_UInt32, sigptr
- elif b0 = et_U8 then ctxt.ilg.typ_UInt64, sigptr
- elif b0 = et_U then ctxt.ilg.typ_UIntPtr, sigptr
- elif b0 = et_R4 then ctxt.ilg.typ_Single, sigptr
- elif b0 = et_R8 then ctxt.ilg.typ_Double, sigptr
- elif b0 = et_CHAR then ctxt.ilg.typ_Char, sigptr
- elif b0 = et_BOOLEAN then ctxt.ilg.typ_Bool, sigptr
+ if b0 = et_OBJECT then primaryAssemblyILGlobals.typ_Object, sigptr
+ elif b0 = et_STRING then primaryAssemblyILGlobals.typ_String, sigptr
+ elif b0 = et_I1 then primaryAssemblyILGlobals.typ_SByte, sigptr
+ elif b0 = et_I2 then primaryAssemblyILGlobals.typ_Int16, sigptr
+ elif b0 = et_I4 then primaryAssemblyILGlobals.typ_Int32, sigptr
+ elif b0 = et_I8 then primaryAssemblyILGlobals.typ_Int64, sigptr
+ elif b0 = et_I then primaryAssemblyILGlobals.typ_IntPtr, sigptr
+ elif b0 = et_U1 then primaryAssemblyILGlobals.typ_Byte, sigptr
+ elif b0 = et_U2 then primaryAssemblyILGlobals.typ_UInt16, sigptr
+ elif b0 = et_U4 then primaryAssemblyILGlobals.typ_UInt32, sigptr
+ elif b0 = et_U8 then primaryAssemblyILGlobals.typ_UInt64, sigptr
+ elif b0 = et_U then primaryAssemblyILGlobals.typ_UIntPtr, sigptr
+ elif b0 = et_R4 then primaryAssemblyILGlobals.typ_Single, sigptr
+ elif b0 = et_R8 then primaryAssemblyILGlobals.typ_Double, sigptr
+ elif b0 = et_CHAR then primaryAssemblyILGlobals.typ_Char, sigptr
+ elif b0 = et_BOOLEAN then primaryAssemblyILGlobals.typ_Bool, sigptr
elif b0 = et_WITH then
let b0, sigptr = sigptrGetByte bytes sigptr
let tdorIdx, sigptr = sigptrGetTypeDefOrRefOrSpecIdx bytes sigptr
@@ -1983,8 +1889,7 @@ and sigptrGetTy (ctxt: ILMetadataReader) numtypars bytes sigptr =
elif b0 = et_VOID then ILType.Void, sigptr
elif b0 = et_TYPEDBYREF then
- let t = mkILNonGenericValueTy(mkILTyRef(ctxt.ilg.primaryAssemblyScopeRef, "System.TypedReference"))
- t, sigptr
+ primaryAssemblyILGlobals.typ_TypedReference, sigptr
elif b0 = et_CMOD_REQD || b0 = et_CMOD_OPT then
let tdorIdx, sigptr = sigptrGetTypeDefOrRefOrSpecIdx bytes sigptr
let ty, sigptr = sigptrGetTy ctxt numtypars bytes sigptr
@@ -2554,15 +2459,11 @@ and seekReadImplMap (ctxt: ILMetadataReader) nm midx =
and seekReadTopCode (ctxt: ILMetadataReader) pev mdv numtypars (sz: int) start seqpoints =
let labelsOfRawOffsets = new Dictionary<_, _>(sz/2)
let ilOffsetsOfLabels = new Dictionary<_, _>(sz/2)
- let tryRawToLabel rawOffset =
- match labelsOfRawOffsets.TryGetValue rawOffset with
- | true, v -> Some v
- | _ -> None
-
+
let rawToLabel rawOffset =
- match tryRawToLabel rawOffset with
- | Some l -> l
- | None ->
+ match labelsOfRawOffsets.TryGetValue rawOffset with
+ | true, l -> l
+ | _ ->
let lab = generateCodeLabel()
labelsOfRawOffsets.[rawOffset] <- lab
lab
@@ -2791,9 +2692,9 @@ and seekReadTopCode (ctxt: ILMetadataReader) pev mdv numtypars (sz: int) start s
// the start of the next instruction referred to by the raw offset.
let raw2nextLab rawOffset =
let isInstrStart x =
- match tryRawToLabel x with
- | None -> false
- | Some lab -> ilOffsetsOfLabels.ContainsKey lab
+ match labelsOfRawOffsets.TryGetValue x with
+ | true, lab -> ilOffsetsOfLabels.ContainsKey lab
+ | _ -> false
if isInstrStart rawOffset then rawToLabel rawOffset
elif isInstrStart (rawOffset+1) then rawToLabel (rawOffset+1)
else failwith ("the bytecode raw offset "+string rawOffset+" did not refer either to the start or end of an instruction")
@@ -3101,10 +3002,10 @@ and sigptrGetILNativeType ctxt bytes sigptr =
else sigptrGetZInt32 bytes sigptr
ILNativeType.Array (Some nt, Some(pnum, Some additive)), sigptr
else (ILNativeType.Empty, sigptr)
-
+
// Note, pectxtEager and pevEager must not be captured by the results of this function
// As a result, reading the resource offsets in the physical file is done eagerly to avoid holding on to any resources
-and seekReadManifestResources (ctxt: ILMetadataReader) (mdv: BinaryView) (pectxtEager: PEReader) (pevEager: BinaryView) =
+and seekReadManifestResources (ctxt: ILMetadataReader) canReduceMemory (mdv: BinaryView) (pectxtEager: PEReader) (pevEager: BinaryView) =
mkILResources
[ for i = 1 to ctxt.getNumRows TableNames.ManifestResource do
let (offset, flags, nameIdx, implIdx) = seekReadManifestResourceRow ctxt mdv i
@@ -3117,13 +3018,18 @@ and seekReadManifestResources (ctxt: ILMetadataReader) (mdv: BinaryView) (pectxt
let start = pectxtEager.anyV2P ("resource", offset + pectxtEager.resourcesAddr)
let resourceLength = seekReadInt32 pevEager start
let offsetOfBytesFromStartOfPhysicalPEFile = start + 4
- if pectxtEager.noFileOnDisk then
- ILResourceLocation.LocalOut (seekReadBytes pevEager offsetOfBytesFromStartOfPhysicalPEFile resourceLength)
- else
- ILResourceLocation.LocalIn (ctxt.fileName, offsetOfBytesFromStartOfPhysicalPEFile, resourceLength)
+ let bytes =
+ let bytes = pevEager.Slice(offsetOfBytesFromStartOfPhysicalPEFile, resourceLength)
+ // If we are trying to reduce memory, create a memory mapped file based on the contents.
+ if canReduceMemory then
+ ByteMemory.CreateMemoryMappedFile bytes
+ else
+ ByteMemory.FromArray(bytes.ToArray())
+ ILResourceLocation.Local(bytes.AsReadOnly())
| ILScopeRef.Module mref -> ILResourceLocation.File (mref, offset)
| ILScopeRef.Assembly aref -> ILResourceLocation.Assembly aref
+ | _ -> failwith "seekReadManifestResources: Invalid ILScopeRef"
let r =
{ Name= readStringHeap ctxt nameIdx
@@ -3207,7 +3113,7 @@ let getPdbReader pdbDirPath fileName =
#endif
// Note, pectxtEager and pevEager must not be captured by the results of this function
-let openMetadataReader (fileName, mdfile: BinaryFile, metadataPhysLoc, peinfo, pectxtEager: PEReader, pevEager: BinaryView, pectxtCaptured, reduceMemoryUsage, ilGlobals) =
+let openMetadataReader (fileName, mdfile: BinaryFile, metadataPhysLoc, peinfo, pectxtEager: PEReader, pevEager, pectxtCaptured, reduceMemoryUsage) =
let mdv = mdfile.GetView()
let magic = seekReadUInt16AsInt32 mdv metadataPhysLoc
if magic <> 0x5342 then failwith (fileName + ": bad metadata magic number: " + string magic)
@@ -3513,8 +3419,7 @@ let openMetadataReader (fileName, mdfile: BinaryFile, metadataPhysLoc, peinfo, p
// Use an initialization hole
let ctxtH = ref None
let ctxt: ILMetadataReader =
- { ilg=ilGlobals
- sorted=sorted
+ { sorted=sorted
getNumRows=getNumRows
mdfile=mdfile
dataEndPoints = match pectxtCaptured with None -> notlazy [] | Some pectxt -> getDataEndPointsDelayed pectxt ctxtH
@@ -3584,7 +3489,7 @@ let openMetadataReader (fileName, mdfile: BinaryFile, metadataPhysLoc, peinfo, p
tableBigness=tableBigness }
ctxtH := Some ctxt
- let ilModule = seekReadModule ctxt pectxtEager pevEager peinfo (System.Text.Encoding.UTF8.GetString (ilMetadataVersion, 0, ilMetadataVersion.Length)) 1
+ let ilModule = seekReadModule ctxt reduceMemoryUsage pectxtEager pevEager peinfo (System.Text.Encoding.UTF8.GetString (ilMetadataVersion, 0, ilMetadataVersion.Length)) 1
let ilAssemblyRefs = lazy [ for i in 1 .. getNumRows TableNames.AssemblyRef do yield seekReadAssemblyRef ctxt i ]
ilModule, ilAssemblyRefs
@@ -3792,13 +3697,13 @@ let openPEFileReader (fileName, pefile: BinaryFile, pdbDirPath, noFileOnDisk) =
let peinfo = (subsys, (subsysMajor, subsysMinor), useHighEnthropyVA, ilOnly, only32, is32bitpreferred, only64, platform, isDll, alignVirt, alignPhys, imageBaseReal)
(metadataPhysLoc, metadataSize, peinfo, pectxt, pev, pdb)
-let openPE (fileName, pefile, pdbDirPath, reduceMemoryUsage, ilGlobals, noFileOnDisk) =
+let openPE (fileName, pefile, pdbDirPath, reduceMemoryUsage, noFileOnDisk) =
let (metadataPhysLoc, _metadataSize, peinfo, pectxt, pev, pdb) = openPEFileReader (fileName, pefile, pdbDirPath, noFileOnDisk)
- let ilModule, ilAssemblyRefs = openMetadataReader (fileName, pefile, metadataPhysLoc, peinfo, pectxt, pev, Some pectxt, reduceMemoryUsage, ilGlobals)
+ let ilModule, ilAssemblyRefs = openMetadataReader (fileName, pefile, metadataPhysLoc, peinfo, pectxt, pev, Some pectxt, reduceMemoryUsage)
ilModule, ilAssemblyRefs, pdb
-let openPEMetadataOnly (fileName, peinfo, pectxtEager, pev, mdfile: BinaryFile, reduceMemoryUsage, ilGlobals) =
- openMetadataReader (fileName, mdfile, 0, peinfo, pectxtEager, pev, None, reduceMemoryUsage, ilGlobals)
+let openPEMetadataOnly (fileName, peinfo, pectxtEager, pevEager, mdfile: BinaryFile, reduceMemoryUsage) =
+ openMetadataReader (fileName, mdfile, 0, peinfo, pectxtEager, pevEager, None, reduceMemoryUsage)
let ClosePdbReader pdb =
#if FX_NO_PDB_READER
@@ -3821,7 +3726,6 @@ type ReduceMemoryFlag = Yes | No
type ILReaderOptions =
{ pdbDirPath: string option
- ilGlobals: ILGlobals
reduceMemoryUsage: ReduceMemoryFlag
metadataOnly: MetadataOnlyFlag
tryGetMetadataSnapshot: ILReaderTryGetMetadataSnapshot }
@@ -3843,7 +3747,7 @@ type ILModuleReaderImpl(ilModule: ILModuleDef, ilAssemblyRefs: Lazy BinaryFile
- let ilModule, ilAssemblyRefs, pdb = openPE (fileName, pefile, opts.pdbDirPath, (opts.reduceMemoryUsage = ReduceMemoryFlag.Yes), opts.ilGlobals, true)
+ let ilModule, ilAssemblyRefs, pdb = openPE (fileName, pefile, opts.pdbDirPath, (opts.reduceMemoryUsage = ReduceMemoryFlag.Yes), true)
new ILModuleReaderImpl(ilModule, ilAssemblyRefs, (fun () -> ClosePdbReader pdb)) :> ILModuleReader
let ClearAllILModuleReaderCache() =
@@ -3902,15 +3806,15 @@ let ClearAllILModuleReaderCache() =
let OpenILModuleReader fileName opts =
// Pseudo-normalize the paths.
- let (ILModuleReaderCacheKey (fullPath,writeStamp,_,_,_,_) as key), keyOk =
+ let (ILModuleReaderCacheKey (fullPath,writeStamp,_,_,_) as key), keyOk =
try
let fullPath = FileSystem.GetFullPathShim fileName
let writeTime = FileSystem.GetLastWriteTimeShim fileName
- let key = ILModuleReaderCacheKey (fullPath, writeTime, opts.ilGlobals.primaryAssemblyScopeRef, opts.pdbDirPath.IsSome, opts.reduceMemoryUsage, opts.metadataOnly)
+ let key = ILModuleReaderCacheKey (fullPath, writeTime, opts.pdbDirPath.IsSome, opts.reduceMemoryUsage, opts.metadataOnly)
key, true
with exn ->
System.Diagnostics.Debug.Assert(false, sprintf "Failed to compute key in OpenILModuleReader cache for '%s'. Falling back to uncached. Error = %s" fileName (exn.ToString()))
- let fakeKey = ILModuleReaderCacheKey(fileName, System.DateTime.UtcNow, ILScopeRef.Local, false, ReduceMemoryFlag.Yes, MetadataOnlyFlag.Yes)
+ let fakeKey = ILModuleReaderCacheKey(fileName, System.DateTime.UtcNow, false, ReduceMemoryFlag.Yes, MetadataOnlyFlag.Yes)
fakeKey, false
let cacheResult1 =
@@ -3965,13 +3869,13 @@ let OpenILModuleReader fileName opts =
// If tryGetMetadata doesn't give anything, then just read the metadata chunk out of the binary
createByteFileChunk opts fullPath (Some (metadataPhysLoc, metadataSize))
- let ilModule, ilAssemblyRefs = openPEMetadataOnly (fullPath, peinfo, pectxtEager, pevEager, mdfile, reduceMemoryUsage, opts.ilGlobals)
+ let ilModule, ilAssemblyRefs = openPEMetadataOnly (fullPath, peinfo, pectxtEager, pevEager, mdfile, reduceMemoryUsage)
new ILModuleReaderImpl(ilModule, ilAssemblyRefs, ignore)
else
// If we are not doing metadata-only, then just go ahead and read all the bytes and hold them either strongly or weakly
// depending on the heuristic
let pefile = createByteFileChunk opts fullPath None
- let ilModule, ilAssemblyRefs, _pdb = openPE (fullPath, pefile, None, reduceMemoryUsage, opts.ilGlobals, false)
+ let ilModule, ilAssemblyRefs, _pdb = openPE (fullPath, pefile, None, reduceMemoryUsage, false)
new ILModuleReaderImpl(ilModule, ilAssemblyRefs, ignore)
let ilModuleReader = ilModuleReader :> ILModuleReader
@@ -3992,15 +3896,14 @@ let OpenILModuleReader fileName opts =
// We do however care about avoiding locks on files that prevent their deletion during a
// multi-proc build. So use memory mapping, but only for stable files. Other files
// still use an in-memory ByteFile
- let _disposer, pefile =
+ let pefile =
if alwaysMemoryMapFSC || stableFileHeuristicApplies fullPath then
- createMemoryMapFile fullPath
+ let _, pefile = createMemoryMapFile fullPath
+ pefile
else
- let pefile = createByteFileChunk opts fullPath None
- let disposer = { new IDisposable with member __.Dispose() = () }
- disposer, pefile
+ createByteFileChunk opts fullPath None
- let ilModule, ilAssemblyRefs, pdb = openPE (fullPath, pefile, opts.pdbDirPath, reduceMemoryUsage, opts.ilGlobals, false)
+ let ilModule, ilAssemblyRefs, pdb = openPE (fullPath, pefile, opts.pdbDirPath, reduceMemoryUsage, false)
let ilModuleReader = new ILModuleReaderImpl(ilModule, ilAssemblyRefs, (fun () -> ClosePdbReader pdb))
let ilModuleReader = ilModuleReader :> ILModuleReader
diff --git a/src/absil/ilread.fsi b/src/absil/ilread.fsi
index 000b9cc34f..aaa2b0b6e8 100755
--- a/src/absil/ilread.fsi
+++ b/src/absil/ilread.fsi
@@ -46,8 +46,6 @@ type ReduceMemoryFlag = Yes | No
type ILReaderOptions =
{ pdbDirPath: string option
- ilGlobals: ILGlobals
-
// fsc.exe does not use reduceMemoryUsage (hence keeps MORE caches in AbstractIL and MORE memory mapping and MORE memory hogging but FASTER and SIMPLER file access)
// fsi.exe does uses reduceMemoryUsage (hence keeps FEWER caches in AbstractIL and LESS memory mapping and LESS memory hogging but slightly SLOWER file access), because its long running
// FCS uses reduceMemoryUsage (hence keeps FEWER caches in AbstractIL and LESS memory mapping and LESS memory hogging), because it is typically long running
diff --git a/src/absil/ilreflect.fs b/src/absil/ilreflect.fs
index b7874891e0..edab65fb7a 100755
--- a/src/absil/ilreflect.fs
+++ b/src/absil/ilreflect.fs
@@ -322,6 +322,21 @@ type cenv =
override x.ToString() = ""
+let convResolveAssemblyRef (cenv: cenv) (asmref: ILAssemblyRef) qualifiedName =
+ let assembly =
+ match cenv.resolveAssemblyRef asmref with
+ | Some (Choice1Of2 path) ->
+ FileSystem.AssemblyLoadFrom path
+ | Some (Choice2Of2 assembly) ->
+ assembly
+ | None ->
+ let asmName = convAssemblyRef asmref
+ FileSystem.AssemblyLoad asmName
+ let typT = assembly.GetType qualifiedName
+ match typT with
+ | null -> error(Error(FSComp.SR.itemNotFoundDuringDynamicCodeGen ("type", qualifiedName, asmref.QualifiedName), range0))
+ | res -> res
+
/// Convert an Abstract IL type reference to Reflection.Emit System.Type value.
// This ought to be an adequate substitute for this whole function, but it needs
// to be thoroughly tested.
@@ -333,25 +348,15 @@ let convTypeRefAux (cenv: cenv) (tref: ILTypeRef) =
let qualifiedName = (String.concat "+" (tref.Enclosing @ [ tref.Name ])).Replace(",", @"\,")
match tref.Scope with
| ILScopeRef.Assembly asmref ->
- let assembly =
- match cenv.resolveAssemblyRef asmref with
- | Some (Choice1Of2 path) ->
- FileSystem.AssemblyLoadFrom path
- | Some (Choice2Of2 assembly) ->
- assembly
- | None ->
- let asmName = convAssemblyRef asmref
- FileSystem.AssemblyLoad asmName
- let typT = assembly.GetType qualifiedName
- match typT with
- | null -> error(Error(FSComp.SR.itemNotFoundDuringDynamicCodeGen ("type", qualifiedName, asmref.QualifiedName), range0))
- | res -> res
+ convResolveAssemblyRef cenv asmref qualifiedName
| ILScopeRef.Module _
| ILScopeRef.Local _ ->
let typT = Type.GetType qualifiedName
match typT with
| null -> error(Error(FSComp.SR.itemNotFoundDuringDynamicCodeGen ("type", qualifiedName, ""), range0))
| res -> res
+ | ILScopeRef.PrimaryAssembly ->
+ convResolveAssemblyRef cenv cenv.ilg.primaryAssemblyRef qualifiedName
@@ -2070,11 +2075,9 @@ let buildModuleFragment cenv emEnv (asmB: AssemblyBuilder) (modB: ModuleBuilder)
m.Resources.AsList |> List.iter (fun r ->
let attribs = (match r.Access with ILResourceAccess.Public -> ResourceAttributes.Public | ILResourceAccess.Private -> ResourceAttributes.Private)
match r.Location with
- | ILResourceLocation.LocalIn (file, start, len) ->
- let bytes = FileSystem.ReadAllBytesShim(file).[start .. start + len - 1]
- modB.DefineManifestResourceAndLog (r.Name, new MemoryStream(bytes), attribs)
- | ILResourceLocation.LocalOut bytes ->
- modB.DefineManifestResourceAndLog (r.Name, new MemoryStream(bytes), attribs)
+ | ILResourceLocation.Local bytes ->
+ use stream = bytes.AsStream()
+ modB.DefineManifestResourceAndLog (r.Name, stream, attribs)
| ILResourceLocation.File (mr, _) ->
asmB.AddResourceFileAndLog (r.Name, mr.Name, attribs)
| ILResourceLocation.Assembly _ ->
diff --git a/src/absil/ilwrite.fs b/src/absil/ilwrite.fs
index 2d838cd460..ed762cf9ac 100755
--- a/src/absil/ilwrite.fs
+++ b/src/absil/ilwrite.fs
@@ -754,6 +754,7 @@ let GetScopeRefAsImplementationElem cenv scoref =
| ILScopeRef.Local -> (i_AssemblyRef, 0)
| ILScopeRef.Assembly aref -> (i_AssemblyRef, GetAssemblyRefAsIdx cenv aref)
| ILScopeRef.Module mref -> (i_File, GetModuleRefAsFileIdx cenv mref)
+ | ILScopeRef.PrimaryAssembly -> (i_AssemblyRef, GetAssemblyRefAsIdx cenv cenv.ilg.primaryAssemblyRef)
// --------------------------------------------------------------------
// Type references, types etc.
@@ -781,6 +782,7 @@ and GetResolutionScopeAsElem cenv (scoref, enc) =
| ILScopeRef.Local -> (rs_Module, 1)
| ILScopeRef.Assembly aref -> (rs_AssemblyRef, GetAssemblyRefAsIdx cenv aref)
| ILScopeRef.Module mref -> (rs_ModuleRef, GetModuleRefAsIdx cenv mref)
+ | ILScopeRef.PrimaryAssembly -> (rs_AssemblyRef, GetAssemblyRefAsIdx cenv cenv.ilg.primaryAssemblyRef)
else
let enc2, n2 = List.frontAndBack enc
(rs_TypeRef, GetTypeDescAsTypeRefIdx cenv (scoref, enc2, n2))
@@ -866,27 +868,25 @@ and GetTypeAsTypeSpecIdx cenv env ty =
FindOrAddSharedRow cenv TableNames.TypeSpec (GetTypeAsTypeSpecRow cenv env ty)
and EmitType cenv env bb ty =
+ let ilg = cenv.ilg
match ty with
- // REVIEW: what are these doing here?
- | ILType.Value tspec when tspec.Name = "System.String" -> bb.EmitByte et_STRING
- | ILType.Value tspec when tspec.Name = "System.Object" -> bb.EmitByte et_OBJECT
- | ty when isILSByteTy ty -> bb.EmitByte et_I1
- | ty when isILInt16Ty ty -> bb.EmitByte et_I2
- | ty when isILInt32Ty ty -> bb.EmitByte et_I4
- | ty when isILInt64Ty ty -> bb.EmitByte et_I8
- | ty when isILByteTy ty -> bb.EmitByte et_U1
- | ty when isILUInt16Ty ty -> bb.EmitByte et_U2
- | ty when isILUInt32Ty ty -> bb.EmitByte et_U4
- | ty when isILUInt64Ty ty -> bb.EmitByte et_U8
- | ty when isILDoubleTy ty -> bb.EmitByte et_R8
- | ty when isILSingleTy ty -> bb.EmitByte et_R4
- | ty when isILBoolTy ty -> bb.EmitByte et_BOOLEAN
- | ty when isILCharTy ty -> bb.EmitByte et_CHAR
- | ty when isILStringTy ty -> bb.EmitByte et_STRING
- | ty when isILObjectTy ty -> bb.EmitByte et_OBJECT
- | ty when isILIntPtrTy ty -> bb.EmitByte et_I
- | ty when isILUIntPtrTy ty -> bb.EmitByte et_U
- | ty when isILTypedReferenceTy ty -> bb.EmitByte et_TYPEDBYREF
+ | ty when isILSByteTy ilg ty -> bb.EmitByte et_I1
+ | ty when isILInt16Ty ilg ty -> bb.EmitByte et_I2
+ | ty when isILInt32Ty ilg ty -> bb.EmitByte et_I4
+ | ty when isILInt64Ty ilg ty -> bb.EmitByte et_I8
+ | ty when isILByteTy ilg ty -> bb.EmitByte et_U1
+ | ty when isILUInt16Ty ilg ty -> bb.EmitByte et_U2
+ | ty when isILUInt32Ty ilg ty -> bb.EmitByte et_U4
+ | ty when isILUInt64Ty ilg ty -> bb.EmitByte et_U8
+ | ty when isILDoubleTy ilg ty -> bb.EmitByte et_R8
+ | ty when isILSingleTy ilg ty -> bb.EmitByte et_R4
+ | ty when isILBoolTy ilg ty -> bb.EmitByte et_BOOLEAN
+ | ty when isILCharTy ilg ty -> bb.EmitByte et_CHAR
+ | ty when isILStringTy ilg ty -> bb.EmitByte et_STRING
+ | ty when isILObjectTy ilg ty -> bb.EmitByte et_OBJECT
+ | ty when isILIntPtrTy ilg ty -> bb.EmitByte et_I
+ | ty when isILUIntPtrTy ilg ty -> bb.EmitByte et_U
+ | ty when isILTypedReferenceTy ilg ty -> bb.EmitByte et_TYPEDBYREF
| ILType.Boxed tspec -> EmitTypeSpec cenv env bb (et_CLASS, tspec)
| ILType.Value tspec -> EmitTypeSpec cenv env bb (et_VALUETYPE, tspec)
@@ -2689,7 +2689,7 @@ and GenEventPass3 cenv env (md: ILEventDef) =
let rec GetResourceAsManifestResourceRow cenv r =
let data, impl =
- let embedManagedResources (bytes: byte[]) =
+ let embedManagedResources (bytes: ReadOnlyByteMemory) =
// Embedded managed resources must be word-aligned. However resource format is
// not specified in ECMA. Some mscorlib resources appear to be non-aligned - it seems it doesn't matter..
let offset = cenv.resources.Position
@@ -2698,12 +2698,11 @@ let rec GetResourceAsManifestResourceRow cenv r =
let resourceSize = bytes.Length
cenv.resources.EmitPadding pad
cenv.resources.EmitInt32 resourceSize
- cenv.resources.EmitBytes bytes
+ cenv.resources.EmitByteMemory bytes
Data (alignedOffset, true), (i_File, 0)
match r.Location with
- | ILResourceLocation.LocalIn _ -> embedManagedResources (r.GetBytes())
- | ILResourceLocation.LocalOut bytes -> embedManagedResources bytes
+ | ILResourceLocation.Local bytes -> embedManagedResources bytes
| ILResourceLocation.File (mref, offset) -> ULong offset, (i_File, GetModuleRefAsFileIdx cenv mref)
| ILResourceLocation.Assembly aref -> ULong 0x0, (i_AssemblyRef, GetAssemblyRefAsIdx cenv aref)
@@ -3622,6 +3621,7 @@ let writeBinaryAndReportMappings (outfile,
match ilg.primaryAssemblyScopeRef with
| ILScopeRef.Local -> failwith "Expected mscorlib to be ILScopeRef.Assembly was ILScopeRef.Local"
| ILScopeRef.Module(_) -> failwith "Expected mscorlib to be ILScopeRef.Assembly was ILScopeRef.Module"
+ | ILScopeRef.PrimaryAssembly -> failwith "Expected mscorlib to be ILScopeRef.Assembly was ILScopeRef.PrimaryAssembly"
| ILScopeRef.Assembly aref ->
match aref.Version with
| Some version when version.Major = 2us -> parseILVersion "2.0.50727.0"
diff --git a/src/buildtools/AssemblyCheck/AssemblyCheck.fsproj b/src/buildtools/AssemblyCheck/AssemblyCheck.fsproj
index 72f79d02f9..cde9cb37a7 100644
--- a/src/buildtools/AssemblyCheck/AssemblyCheck.fsproj
+++ b/src/buildtools/AssemblyCheck/AssemblyCheck.fsproj
@@ -2,7 +2,7 @@
Exe
- netcoreapp2.1
+ netcoreapp3.0
true
diff --git a/src/buildtools/fslex/fslex.fsproj b/src/buildtools/fslex/fslex.fsproj
index bfb67e212e..2766098c25 100644
--- a/src/buildtools/fslex/fslex.fsproj
+++ b/src/buildtools/fslex/fslex.fsproj
@@ -2,7 +2,6 @@
Exe
- netcoreapp2.0
netcoreapp2.1
INTERNALIZED_FSLEXYACC_RUNTIME;$(DefineConstant)
true
diff --git a/src/buildtools/fsyacc/fsyacc.fsproj b/src/buildtools/fsyacc/fsyacc.fsproj
index a094fe0598..dc5a4f67f3 100644
--- a/src/buildtools/fsyacc/fsyacc.fsproj
+++ b/src/buildtools/fsyacc/fsyacc.fsproj
@@ -2,7 +2,6 @@
Exe
- netcoreapp2.0
netcoreapp2.1
INTERNALIZED_FSLEXYACC_RUNTIME;$(DefineConstant)
true
diff --git a/src/fsharp/AttributeChecking.fs b/src/fsharp/AttributeChecking.fs
index 07ac05faa8..fb19937c53 100644
--- a/src/fsharp/AttributeChecking.fs
+++ b/src/fsharp/AttributeChecking.fs
@@ -4,6 +4,7 @@
/// on items from name resolution
module internal FSharp.Compiler.AttributeChecking
+open System
open System.Collections.Generic
open FSharp.Compiler.AbstractIL.IL
open FSharp.Compiler.AbstractIL.Internal.Library
@@ -246,7 +247,6 @@ let MethInfoHasAttribute g m attribSpec minfo =
|> Option.isSome
-
/// Check IL attributes for 'ObsoleteAttribute', returning errors and warnings as data
let private CheckILAttributes (g: TcGlobals) isByrefLikeTyconRef cattrs m =
let (AttribInfo(tref,_)) = g.attrib_SystemObsolete
@@ -267,9 +267,16 @@ let private CheckILAttributes (g: TcGlobals) isByrefLikeTyconRef cattrs m =
/// Check F# attributes for 'ObsoleteAttribute', 'CompilerMessageAttribute' and 'ExperimentalAttribute',
/// returning errors and warnings as data
-let CheckFSharpAttributes g attribs m =
- if isNil attribs then CompleteD
- else
+let langVersionPrefix = "--langversion:preview"
+let CheckFSharpAttributes (g:TcGlobals) attribs m =
+ let isExperimentalAttributeDisabled (s:string) =
+ if g.compilingFslib then
+ true
+ else
+ g.langVersion.IsPreviewEnabled && (s.IndexOf(langVersionPrefix, StringComparison.OrdinalIgnoreCase) >= 0)
+
+ if isNil attribs then CompleteD
+ else
(match TryFindFSharpAttribute g g.attrib_SystemObsolete attribs with
| Some(Attrib(_, _, [ AttribStringArg s ], _, _, _, _)) ->
WarnD(ObsoleteWarning(s, m))
@@ -283,28 +290,30 @@ let CheckFSharpAttributes g attribs m =
| None ->
CompleteD
) ++ (fun () ->
-
+
match TryFindFSharpAttribute g g.attrib_CompilerMessageAttribute attribs with
- | Some(Attrib(_, _, [ AttribStringArg s ; AttribInt32Arg n ], namedArgs, _, _, _)) ->
+ | Some(Attrib(_, _, [ AttribStringArg s ; AttribInt32Arg n ], namedArgs, _, _, _)) ->
let msg = UserCompilerMessage(s, n, m)
let isError =
match namedArgs with
| ExtractAttribNamedArg "IsError" (AttribBoolArg v) -> v
| _ -> false
if isError && (not g.compilingFslib || n <> 1204) then ErrorD msg else WarnD msg
-
| _ ->
CompleteD
) ++ (fun () ->
-
+
match TryFindFSharpAttribute g g.attrib_ExperimentalAttribute attribs with
- | Some(Attrib(_, _, [ AttribStringArg(s) ], _, _, _, _)) ->
- WarnD(Experimental(s, m))
- | Some _ ->
+ | Some(Attrib(_, _, [ AttribStringArg(s) ], _, _, _, _)) ->
+ if isExperimentalAttributeDisabled s then
+ CompleteD
+ else
+ WarnD(Experimental(s, m))
+ | Some _ ->
WarnD(Experimental(FSComp.SR.experimentalConstruct (), m))
- | _ ->
+ | _ ->
CompleteD
- ) ++ (fun () ->
+ ) ++ (fun () ->
match TryFindFSharpAttribute g g.attrib_UnverifiableAttribute attribs with
| Some _ ->
diff --git a/src/fsharp/AugmentWithHashCompare.fs b/src/fsharp/AugmentWithHashCompare.fs
index ce562dedaa..87917c2950 100755
--- a/src/fsharp/AugmentWithHashCompare.fs
+++ b/src/fsharp/AugmentWithHashCompare.fs
@@ -883,11 +883,15 @@ let nonVirtualMethod c : ValMemberInfo =
let unitArg = ValReprInfo.unitArgData
let unaryArg = [ ValReprInfo.unnamedTopArg ]
let tupArg = [ [ ValReprInfo.unnamedTopArg1; ValReprInfo.unnamedTopArg1 ] ]
-let mkValSpec g (tcref: TyconRef) tmty vis slotsig methn ty argData =
+let mkValSpec g (tcref: TyconRef) tmty vis slotsig methn ty argData =
let m = tcref.Range
let tps = tcref.Typars m
- let final = isUnionTy g tmty || isRecdTy g tmty || isStructTy g tmty
- let membInfo = match slotsig with None -> nonVirtualMethod tcref | Some slotsig -> slotImplMethod(final, tcref, slotsig)
+ let membInfo =
+ match slotsig with
+ | None -> nonVirtualMethod tcref
+ | Some slotsig ->
+ let final = isUnionTy g tmty || isRecdTy g tmty || isStructTy g tmty
+ slotImplMethod(final, tcref, slotsig)
let inl = ValInline.Optional
let args = ValReprInfo.unnamedTopArg :: argData
let topValInfo = Some (ValReprInfo (ValReprInfo.InferTyparInfo tps, args, ValReprInfo.unnamedRetVal))
@@ -899,8 +903,8 @@ let MakeValsForCompareAugmentation g (tcref: TyconRef) =
let tps = tcref.Typars m
let vis = tcref.TypeReprAccessibility
- mkValSpec g tcref tmty vis (Some(mkIComparableCompareToSlotSig g)) "CompareTo" (tps +-> (mkCompareObjTy g tmty)) unaryArg,
- mkValSpec g tcref tmty vis (Some(mkGenericIComparableCompareToSlotSig g tmty)) "CompareTo" (tps +-> (mkCompareTy g tmty)) unaryArg
+ mkValSpec g tcref tmty vis (Some(mkIComparableCompareToSlotSig g)) "CompareTo" (tps +-> (mkCompareObjTy g tmty)) unaryArg,
+ mkValSpec g tcref tmty vis (Some(mkGenericIComparableCompareToSlotSig g tmty)) "CompareTo" (tps +-> (mkCompareTy g tmty)) unaryArg
let MakeValsForCompareWithComparerAugmentation g (tcref: TyconRef) =
let m = tcref.Range
@@ -915,15 +919,15 @@ let MakeValsForEqualsAugmentation g (tcref: TyconRef) =
let vis = tcref.TypeReprAccessibility
let tps = tcref.Typars m
- let objEqualsVal = mkValSpec g tcref tmty vis (Some(mkEqualsSlotSig g)) "Equals" (tps +-> (mkEqualsObjTy g tmty)) unaryArg
- let nocEqualsVal = mkValSpec g tcref tmty vis (if tcref.Deref.IsExceptionDecl then None else Some(mkGenericIEquatableEqualsSlotSig g tmty)) "Equals" (tps +-> (mkEqualsTy g tmty)) unaryArg
+ let objEqualsVal = mkValSpec g tcref tmty vis (Some(mkEqualsSlotSig g)) "Equals" (tps +-> (mkEqualsObjTy g tmty)) unaryArg
+ let nocEqualsVal = mkValSpec g tcref tmty vis (if tcref.Deref.IsExceptionDecl then None else Some(mkGenericIEquatableEqualsSlotSig g tmty)) "Equals" (tps +-> (mkEqualsTy g tmty)) unaryArg
objEqualsVal, nocEqualsVal
let MakeValsForEqualityWithComparerAugmentation g (tcref: TyconRef) =
let _, tmty = mkMinimalTy g tcref
let vis = tcref.TypeReprAccessibility
let tps = tcref.Typars tcref.Range
- let objGetHashCodeVal = mkValSpec g tcref tmty vis (Some(mkGetHashCodeSlotSig g)) "GetHashCode" (tps +-> (mkHashTy g tmty)) unitArg
+ let objGetHashCodeVal = mkValSpec g tcref tmty vis (Some(mkGetHashCodeSlotSig g)) "GetHashCode" (tps +-> (mkHashTy g tmty)) unitArg
let withcGetHashCodeVal = mkValSpec g tcref tmty vis (Some(mkIStructuralEquatableGetHashCodeSlotSig g)) "GetHashCode" (tps +-> (mkHashWithComparerTy g tmty)) unaryArg
let withcEqualsVal = mkValSpec g tcref tmty vis (Some(mkIStructuralEquatableEqualsSlotSig g)) "Equals" (tps +-> (mkEqualsWithComparerTy g tmty)) tupArg
objGetHashCodeVal, withcGetHashCodeVal, withcEqualsVal
@@ -1071,23 +1075,28 @@ let MakeBindingsForEqualsAugmentation (g: TcGlobals) (tycon: Tycon) =
elif tycon.IsRecordTycon || tycon.IsStructOrEnumTycon then mkEquals mkRecdEquality
else []
-let rec TypeDefinitelyHasEquality g ty =
- if isAppTy g ty && HasFSharpAttribute g g.attrib_NoEqualityAttribute (tcrefOfAppTy g ty).Attribs then
+let rec TypeDefinitelyHasEquality g ty =
+ let appTy = tryAppTy g ty
+ match appTy with
+ | ValueSome(tcref,_) when HasFSharpAttribute g g.attrib_NoEqualityAttribute tcref.Attribs ->
false
- elif isTyparTy g ty &&
- (destTyparTy g ty).Constraints |> List.exists (function TyparConstraint.SupportsEquality _ -> true | _ -> false) then
- true
- else
- match ty with
- | SpecialEquatableHeadType g tinst ->
- tinst |> List.forall (TypeDefinitelyHasEquality g)
- | SpecialNotEquatableHeadType g _ ->
- false
- | _ ->
- // The type is equatable because it has Object.Equals(...)
- isAppTy g ty &&
- let tcref, tinst = destAppTy g ty
- // Give a good error for structural types excluded from the equality relation because of their fields
- not (TyconIsCandidateForAugmentationWithEquals g tcref.Deref && Option.isNone tcref.GeneratedHashAndEqualsWithComparerValues) &&
- // Check the (possibly inferred) structural dependencies
- (tinst, tcref.TyparsNoRange) ||> List.lengthsEqAndForall2 (fun ty tp -> not tp.EqualityConditionalOn || TypeDefinitelyHasEquality g ty)
+ | _ ->
+ if isTyparTy g ty &&
+ (destTyparTy g ty).Constraints |> List.exists (function TyparConstraint.SupportsEquality _ -> true | _ -> false) then
+ true
+ else
+ match ty with
+ | SpecialEquatableHeadType g tinst ->
+ tinst |> List.forall (TypeDefinitelyHasEquality g)
+ | SpecialNotEquatableHeadType g _ ->
+ false
+ | _ ->
+ // The type is equatable because it has Object.Equals(...)
+ match appTy with
+ | ValueSome(tcref,tinst) ->
+ // Give a good error for structural types excluded from the equality relation because of their fields
+ not (TyconIsCandidateForAugmentationWithEquals g tcref.Deref && Option.isNone tcref.GeneratedHashAndEqualsWithComparerValues) &&
+ // Check the (possibly inferred) structural dependencies
+ (tinst, tcref.TyparsNoRange)
+ ||> List.lengthsEqAndForall2 (fun ty tp -> not tp.EqualityConditionalOn || TypeDefinitelyHasEquality g ty)
+ | _ -> false
diff --git a/src/fsharp/CompileOps.fs b/src/fsharp/CompileOps.fs
index ab20bfcf13..41d863dab0 100644
--- a/src/fsharp/CompileOps.fs
+++ b/src/fsharp/CompileOps.fs
@@ -73,7 +73,6 @@ let FSharpScriptFileSuffixes = [".fsscript";".fsx"]
let doNotRequireNamespaceOrModuleSuffixes = [".mli";".ml"] @ FSharpScriptFileSuffixes
let FSharpLightSyntaxFileSuffixes: string list = [ ".fs";".fsscript";".fsx";".fsi" ]
-
//----------------------------------------------------------------------------
// ERROR REPORTING
//--------------------------------------------------------------------------
@@ -946,6 +945,7 @@ let OutputPhasedErrorR (os: StringBuilder) (err: PhasedDiagnostic) (canSuggestNa
| Parser.TOKEN_COLON_QMARK-> getErrorString("Parser.TOKEN.COLON.QMARK")
| Parser.TOKEN_INT32_DOT_DOT -> getErrorString("Parser.TOKEN.INT32.DOT.DOT")
| Parser.TOKEN_DOT_DOT -> getErrorString("Parser.TOKEN.DOT.DOT")
+ | Parser.TOKEN_DOT_DOT_HAT -> getErrorString("Parser.TOKEN.DOT.DOT")
| Parser.TOKEN_QUOTE -> getErrorString("Parser.TOKEN.QUOTE")
| Parser.TOKEN_STAR -> getErrorString("Parser.TOKEN.STAR")
| Parser.TOKEN_HIGH_PRECEDENCE_TYAPP -> getErrorString("Parser.TOKEN.HIGH.PRECEDENCE.TYAPP")
@@ -1893,9 +1893,9 @@ type IRawFSharpAssemblyData =
/// in the language service
abstract TryGetILModuleDef: unit -> ILModuleDef option
/// The raw F# signature data in the assembly, if any
- abstract GetRawFSharpSignatureData: range * ilShortAssemName: string * fileName: string -> (string * (unit -> byte[])) list
+ abstract GetRawFSharpSignatureData: range * ilShortAssemName: string * fileName: string -> (string * (unit -> ReadOnlyByteMemory)) list
/// The raw F# optimization data in the assembly, if any
- abstract GetRawFSharpOptimizationData: range * ilShortAssemName: string * fileName: string -> (string * (unit -> byte[])) list
+ abstract GetRawFSharpOptimizationData: range * ilShortAssemName: string * fileName: string -> (string * (unit -> ReadOnlyByteMemory)) list
/// The table of type forwarders in the assembly
abstract GetRawTypeForwarders: unit -> ILExportedTypesAndForwarders
/// The identity of the module
@@ -2024,8 +2024,10 @@ type TcConfigBuilder =
mutable implicitlyResolveAssemblies: bool
mutable light: bool option
mutable conditionalCompilationDefines: string list
- mutable loadedSources: (range * string) list
+ mutable loadedSources: (range * string * string) list
+ mutable compilerToolPaths: string list
mutable referencedDLLs: AssemblyReference list
+ mutable packageManagerLines: Map
mutable projectReferences: IProjectReference list
mutable knownUnresolvedReferences: UnresolvedAssemblyReference list
reduceMemoryUsage: ReduceMemoryFlag
@@ -2037,6 +2039,7 @@ type TcConfigBuilder =
mutable mlCompatibility: bool
mutable checkOverflow: bool
mutable showReferenceResolutions: bool
+ mutable outputDir : string option
mutable outputFile: string option
mutable platform: ILPlatform option
mutable prefer32Bit: bool
@@ -2165,6 +2168,8 @@ type TcConfigBuilder =
mutable pathMap: PathMap
mutable langVersion: LanguageVersion
+
+ mutable includePathAdded: string -> unit
}
static member Initial =
@@ -2185,7 +2190,9 @@ type TcConfigBuilder =
resolutionEnvironment = ResolutionEnvironment.EditingOrCompilation false
framework = true
implicitlyResolveAssemblies = true
+ compilerToolPaths = []
referencedDLLs = []
+ packageManagerLines = Map.empty
projectReferences = []
knownUnresolvedReferences = []
loadedSources = []
@@ -2198,6 +2205,7 @@ type TcConfigBuilder =
mlCompatibility = false
checkOverflow = false
showReferenceResolutions = false
+ outputDir = None
outputFile = None
platform = None
prefer32Bit = false
@@ -2302,16 +2310,18 @@ type TcConfigBuilder =
noConditionalErasure = false
pathMap = PathMap.empty
langVersion = LanguageVersion("default")
+ includePathAdded = ignore
}
static member CreateNew(legacyReferenceResolver, defaultFSharpBinariesDir, reduceMemoryUsage, implicitIncludeDir,
- isInteractive, isInvalidationSupported, defaultCopyFSharpCore, tryGetMetadataSnapshot) =
+ isInteractive, isInvalidationSupported, defaultCopyFSharpCore, tryGetMetadataSnapshot, ?includePathAdded: string -> unit) =
Debug.Assert(FileSystem.IsPathRootedShim implicitIncludeDir, sprintf "implicitIncludeDir should be absolute: '%s'" implicitIncludeDir)
if (String.IsNullOrEmpty defaultFSharpBinariesDir) then
failwith "Expected a valid defaultFSharpBinariesDir"
+ let includePathAdded = defaultArg includePathAdded ignore
{ TcConfigBuilder.Initial with
implicitIncludeDir = implicitIncludeDir
defaultFSharpBinariesDir = defaultFSharpBinariesDir
@@ -2321,6 +2331,8 @@ type TcConfigBuilder =
isInvalidationSupported = isInvalidationSupported
copyFSharpCore = defaultCopyFSharpCore
tryGetMetadataSnapshot = tryGetMetadataSnapshot
+ includePathAdded = includePathAdded
+ useFsiAuxLib = isInteractive
}
member tcConfigB.ResolveSourceFile(m, nm, pathLoadedFrom) =
@@ -2396,19 +2408,21 @@ type TcConfigBuilder =
| None -> false
if ok && not (List.contains absolutePath tcConfigB.includes) then
tcConfigB.includes <- tcConfigB.includes ++ absolutePath
+ tcConfigB.includePathAdded absolutePath
- member tcConfigB.AddLoadedSource(m, path, pathLoadedFrom) =
- if FileSystem.IsInvalidPathShim path then
- warning(Error(FSComp.SR.buildInvalidFilename path, m))
+ member tcConfigB.AddLoadedSource(m, originalPath, pathLoadedFrom) =
+ if FileSystem.IsInvalidPathShim originalPath then
+ warning(Error(FSComp.SR.buildInvalidFilename originalPath, m))
else
let path =
- match TryResolveFileUsingPaths(tcConfigB.includes @ [pathLoadedFrom], m, path) with
+ match TryResolveFileUsingPaths(tcConfigB.includes @ [pathLoadedFrom], m, originalPath) with
| Some path -> path
| None ->
- // File doesn't exist in the paths. Assume it will be in the load-ed from directory.
- ComputeMakePathAbsolute pathLoadedFrom path
- if not (List.contains path (List.map snd tcConfigB.loadedSources)) then
- tcConfigB.loadedSources <- tcConfigB.loadedSources ++ (m, path)
+ // File doesn't exist in the paths. Assume it will be in the load-ed from directory.
+ ComputeMakePathAbsolute pathLoadedFrom originalPath
+ if not (List.contains path (List.map (fun (_, _, path) -> path) tcConfigB.loadedSources)) then
+ tcConfigB.loadedSources <- tcConfigB.loadedSources ++ (m, originalPath, path)
+
member tcConfigB.AddEmbeddedSourceFile (file) =
tcConfigB.embedSourceList <- tcConfigB.embedSourceList ++ file
@@ -2416,6 +2430,12 @@ type TcConfigBuilder =
member tcConfigB.AddEmbeddedResource filename =
tcConfigB.embedResources <- tcConfigB.embedResources ++ filename
+ member tcConfigB.AddCompilerToolsByPath (path) =
+ if not (tcConfigB.compilerToolPaths |> List.exists (fun text -> path = text)) then // NOTE: We keep same paths if range is different.
+ let compilerToolPath = tcConfigB.compilerToolPaths |> List.tryPick (fun text -> if text = path then Some text else None)
+ if compilerToolPath.IsNone then
+ tcConfigB.compilerToolPaths <- tcConfigB.compilerToolPaths ++ path
+
member tcConfigB.AddReferencedAssemblyByPath (m, path) =
if FileSystem.IsInvalidPathShim path then
warning(Error(FSComp.SR.buildInvalidAssemblyName(path), m))
@@ -2423,6 +2443,13 @@ type TcConfigBuilder =
let projectReference = tcConfigB.projectReferences |> List.tryPick (fun pr -> if pr.FileName = path then Some pr else None)
tcConfigB.referencedDLLs <- tcConfigB.referencedDLLs ++ AssemblyReference(m, path, projectReference)
+ member tcConfigB.AddDependencyManagerText (packageManager:DependencyManagerIntegration.IDependencyManagerProvider, m, path:string) =
+ let path = DependencyManagerIntegration.removeDependencyManagerKey packageManager.Key path
+
+ match tcConfigB.packageManagerLines |> Map.tryFind packageManager.Key with
+ | Some lines -> tcConfigB.packageManagerLines <- Map.add packageManager.Key (lines ++ (false, path, m)) tcConfigB.packageManagerLines
+ | _ -> tcConfigB.packageManagerLines <- Map.add packageManager.Key [false, path, m] tcConfigB.packageManagerLines
+
member tcConfigB.RemoveReferencedAssemblyByPath (m, path) =
tcConfigB.referencedDLLs <- tcConfigB.referencedDLLs |> List.filter (fun ar -> not (Range.equals ar.Range m) || ar.Text <> path)
@@ -2447,10 +2474,9 @@ type TcConfigBuilder =
ri, fileNameOfPath ri, ILResourceAccess.Public
-let OpenILBinary(filename, reduceMemoryUsage, ilGlobals, pdbDirPath, shadowCopyReferences, tryGetMetadataSnapshot) =
+let OpenILBinary(filename, reduceMemoryUsage, pdbDirPath, shadowCopyReferences, tryGetMetadataSnapshot) =
let opts: ILReaderOptions =
- { ilGlobals = ilGlobals
- metadataOnly = MetadataOnlyFlag.Yes
+ { metadataOnly = MetadataOnlyFlag.Yes
reduceMemoryUsage = reduceMemoryUsage
pdbDirPath = pdbDirPath
tryGetMetadataSnapshot = tryGetMetadataSnapshot }
@@ -2478,7 +2504,7 @@ type AssemblyResolution =
resolvedPath: string
prepareToolTip: unit -> string
sysdir: bool
- ilAssemblyRef: ILAssemblyRef option ref
+ mutable ilAssemblyRef: ILAssemblyRef option
}
override this.ToString() = sprintf "%s%s" (if this.sysdir then "[sys]" else "") this.resolvedPath
@@ -2493,7 +2519,7 @@ type AssemblyResolution =
//
member this.GetILAssemblyRef(ctok, reduceMemoryUsage, tryGetMetadataSnapshot) =
cancellable {
- match !this.ilAssemblyRef with
+ match this.ilAssemblyRef with
| Some assemblyRef -> return assemblyRef
| None ->
let! assemblyRefOpt =
@@ -2515,13 +2541,12 @@ type AssemblyResolution =
| None ->
let readerSettings: ILReaderOptions =
{ pdbDirPath=None
- ilGlobals = EcmaMscorlibILGlobals
reduceMemoryUsage = reduceMemoryUsage
metadataOnly = MetadataOnlyFlag.Yes
tryGetMetadataSnapshot = tryGetMetadataSnapshot }
use reader = OpenILModuleReader this.resolvedPath readerSettings
mkRefToILAssembly reader.ILModuleDef.ManifestOfAssembly
- this.ilAssemblyRef := Some assemblyRef
+ this.ilAssemblyRef <- Some assemblyRef
return assemblyRef
}
@@ -2585,7 +2610,7 @@ type TcConfig private (data: TcConfigBuilder, validate: bool) =
let dllReference, fileNameOpt = computeKnownDllReference getFSharpCoreLibraryName
match fileNameOpt with
| Some _ -> dllReference
- | None -> AssemblyReference(range0, getDefaultFSharpCoreReference, None)
+ | None -> AssemblyReference(range0, getDefaultFSharpCoreLocation, None)
// clrRoot: the location of the primary assembly (mscorlib.dll or netstandard.dll or System.Runtime.dll)
//
@@ -2633,6 +2658,7 @@ type TcConfig private (data: TcConfigBuilder, validate: bool) =
member x.light = data.light
member x.conditionalCompilationDefines = data.conditionalCompilationDefines
member x.loadedSources = data.loadedSources
+ member x.compilerToolPaths = data.compilerToolPaths
member x.referencedDLLs = data.referencedDLLs
member x.knownUnresolvedReferences = data.knownUnresolvedReferences
member x.clrRoot = clrRootValue
@@ -2645,6 +2671,7 @@ type TcConfig private (data: TcConfigBuilder, validate: bool) =
member x.mlCompatibility = data.mlCompatibility
member x.checkOverflow = data.checkOverflow
member x.showReferenceResolutions = data.showReferenceResolutions
+ member x.outputDir = data.outputDir
member x.outputFile = data.outputFile
member x.platform = data.platform
member x.prefer32Bit = data.prefer32Bit
@@ -2685,6 +2712,7 @@ type TcConfig private (data: TcConfigBuilder, validate: bool) =
member x.embedAllSource = data.embedAllSource
member x.embedSourceList = data.embedSourceList
member x.sourceLink = data.sourceLink
+ member x.packageManagerLines = data.packageManagerLines
member x.ignoreSymbolStoreSequencePoints = data.ignoreSymbolStoreSequencePoints
member x.internConstantStrings = data.internConstantStrings
member x.extraOptimizationIterations = data.extraOptimizationIterations
@@ -2832,13 +2860,23 @@ type TcConfig private (data: TcConfigBuilder, validate: bool) =
member tcConfig.GetAvailableLoadedSources() =
use unwindBuildPhase = PushThreadBuildPhaseUntilUnwind BuildPhase.Parameter
- let resolveLoadedSource (m, path) =
+ let resolveLoadedSource (m, originalPath, path) =
try
- if not(FileSystem.SafeExists path) then
- error(LoadedSourceNotFoundIgnoring(path, m))
- None
- else Some(m, path)
+ if not(FileSystem.SafeExists(path)) then
+ let secondTrial =
+ tcConfig.includes
+ |> List.tryPick (fun root ->
+ let path = ComputeMakePathAbsolute root originalPath
+ if FileSystem.SafeExists(path) then Some path else None)
+
+ match secondTrial with
+ | Some path -> Some(m,path)
+ | None ->
+ error(LoadedSourceNotFoundIgnoring(path,m))
+ None
+ else Some(m,path)
with e -> errorRecovery e m; None
+
tcConfig.loadedSources
|> List.choose resolveLoadedSource
|> List.distinct
@@ -2891,7 +2929,7 @@ type TcConfig private (data: TcConfigBuilder, validate: bool) =
resolvedPath = resolved
prepareToolTip = (fun () -> resolved)
sysdir = sysdir
- ilAssemblyRef = ref None }
+ ilAssemblyRef = None }
| None ->
if String.Compare(ext, ".dll", StringComparison.OrdinalIgnoreCase)=0
@@ -2926,7 +2964,7 @@ type TcConfig private (data: TcConfigBuilder, validate: bool) =
let line(append: string) = append.Trim([|' '|])+"\n"
line resolved + line fusionName)
sysdir = sysdir
- ilAssemblyRef = ref None }
+ ilAssemblyRef = None }
| None -> None
else None
@@ -3056,7 +3094,7 @@ type TcConfig private (data: TcConfigBuilder, validate: bool) =
resolvedPath=canonicalItemSpec
prepareToolTip = (fun () -> resolvedFile.prepareToolTip (originalReference.Text, canonicalItemSpec))
sysdir= tcConfig.IsSystemAssembly canonicalItemSpec
- ilAssemblyRef = ref None })
+ ilAssemblyRef = None })
(maxIndexOfReference, assemblyResolutions))
// When calculating the resulting resolutions, we're going to use the index of the reference
@@ -3090,8 +3128,8 @@ type TcConfig private (data: TcConfigBuilder, validate: bool) =
else
resultingResolutions, unresolvedReferences |> List.map (fun (name, _, r) -> (name, r)) |> List.map UnresolvedAssemblyReference
-
member tcConfig.PrimaryAssemblyDllReference() = primaryAssemblyReference
+
member tcConfig.CoreLibraryDllReference() = fslibReference
@@ -3394,7 +3432,7 @@ let ParseOneInputLexbuf (tcConfig: TcConfig, lexResourceManager, conditionalComp
try
let skip = true in (* don't report whitespace from lexer *)
let lightSyntaxStatus = LightSyntaxStatus (tcConfig.ComputeLightSyntaxInitialStatus filename, true)
- let lexargs = mkLexargs (filename, conditionalCompilationDefines@tcConfig.conditionalCompilationDefines, lightSyntaxStatus, lexResourceManager, ref [], errorLogger, tcConfig.pathMap)
+ let lexargs = mkLexargs (filename, conditionalCompilationDefines@tcConfig.conditionalCompilationDefines, lightSyntaxStatus, lexResourceManager, [], errorLogger, tcConfig.pathMap)
let shortFilename = SanitizeFileName filename tcConfig.implicitIncludeDir
let input =
Lexhelp.usingLexbufForParsing (lexbuf, filename) (fun lexbuf ->
@@ -3436,7 +3474,7 @@ let ParseOneInputLexbuf (tcConfig: TcConfig, lexResourceManager, conditionalComp
if verbose then dprintn ("Parsed "+shortFilename)
Some input
with e -> (* errorR(Failure("parse failed")); *) errorRecovery e rangeStartup; None
-
+
let ParseOneInputFile (tcConfig: TcConfig, lexResourceManager, conditionalCompilationDefines, filename, isLastCompiland, errorLogger, retryLocked) =
try
@@ -3445,7 +3483,8 @@ let ParseOneInputFile (tcConfig: TcConfig, lexResourceManager, conditionalCompil
if not(FileSystem.SafeExists filename) then
error(Error(FSComp.SR.buildCouldNotFindSourceFile filename, rangeStartup))
let isFeatureSupported featureId = tcConfig.langVersion.SupportsFeature featureId
- let lexbuf = UnicodeLexing.UnicodeFileAsLexbuf(isFeatureSupported, filename, tcConfig.inputCodePage, retryLocked)
+ use reader = File.OpenReaderAndRetry (filename, tcConfig.inputCodePage, retryLocked)
+ let lexbuf = UnicodeLexing.StreamReaderAsLexbuf(isFeatureSupported, reader)
ParseOneInputLexbuf(tcConfig, lexResourceManager, conditionalCompilationDefines, lexbuf, filename, isLastCompiland, errorLogger)
else error(Error(FSComp.SR.buildInvalidSourceFileExtension(SanitizeFileName filename tcConfig.implicitIncludeDir), rangeStartup))
with e -> (* errorR(Failure("parse failed")); *) errorRecovery e rangeStartup; None
@@ -3511,13 +3550,9 @@ type TcAssemblyResolutions(tcConfig: TcConfig, results: AssemblyResolution list,
let assumeDotNetFramework = primaryReference.SimpleAssemblyNameIs("mscorlib")
if tcConfig.framework then
- for s in defaultReferencesForScriptsAndOutOfProjectSources assumeDotNetFramework tcConfig.useSdkRefs do
+ for s in defaultReferencesForScriptsAndOutOfProjectSources tcConfig.useFsiAuxLib assumeDotNetFramework tcConfig.useSdkRefs do
yield AssemblyReference(rangeStartup, (if s.EndsWith(".dll", StringComparison.OrdinalIgnoreCase) then s else s+".dll"), None)
- if tcConfig.useFsiAuxLib then
- let name = Path.Combine(tcConfig.fsharpBinariesDir, getFsiLibraryName + ".dll")
- yield AssemblyReference(rangeStartup, name, None)
-
yield! tcConfig.referencedDLLs
]
@@ -3527,24 +3562,24 @@ type TcAssemblyResolutions(tcConfig: TcConfig, results: AssemblyResolution list,
let frameworkDLLs, nonFrameworkReferences = resolutions.GetAssemblyResolutions() |> List.partition (fun r -> r.sysdir)
let unresolved = resolutions.GetUnresolvedReferences()
#if DEBUG
- let itFailed = ref false
+ let mutable itFailed = false
let addedText = "\nIf you want to debug this right now, attach a debugger, and put a breakpoint in 'CompileOps.fs' near the text '!itFailed', and you can re-step through the assembly resolution logic."
unresolved
|> List.iter (fun (UnresolvedAssemblyReference(referenceText, _ranges)) ->
if referenceText.Contains("mscorlib") then
System.Diagnostics.Debug.Assert(false, sprintf "whoops, did not resolve mscorlib: '%s'%s" referenceText addedText)
- itFailed := true)
+ itFailed <- true)
frameworkDLLs
|> List.iter (fun x ->
if not(FileSystem.IsPathRootedShim(x.resolvedPath)) then
System.Diagnostics.Debug.Assert(false, sprintf "frameworkDLL should be absolute path: '%s'%s" x.resolvedPath addedText)
- itFailed := true)
+ itFailed <- true)
nonFrameworkReferences
|> List.iter (fun x ->
if not(FileSystem.IsPathRootedShim(x.resolvedPath)) then
System.Diagnostics.Debug.Assert(false, sprintf "nonFrameworkReference should be absolute path: '%s'%s" x.resolvedPath addedText)
- itFailed := true)
- if !itFailed then
+ itFailed <- true)
+ if itFailed then
// idea is, put a breakpoint here and then step through
let assemblyList = TcAssemblyResolutions.GetAllDllReferences tcConfig
let resolutions = TcAssemblyResolutions.ResolveAssemblyReferences (ctok, tcConfig, assemblyList, [])
@@ -3589,7 +3624,7 @@ let IsReflectedDefinitionsResource (r: ILResource) =
let MakeILResource rName bytes =
{ Name = rName
- Location = ILResourceLocation.LocalOut bytes
+ Location = ILResourceLocation.Local(ByteMemory.FromArray(bytes).AsReadOnly())
Access = ILResourceAccess.Public
CustomAttrsStored = storeILCustomAttrs emptyILCustomAttrs
MetadataIndex = NoMetadataIdx }
@@ -3598,7 +3633,7 @@ let PickleToResource inMem file (g: TcGlobals) scope rName p x =
let file = PathMap.apply g.pathMap file
{ Name = rName
- Location = (let bytes = pickleObjWithDanglingCcus inMem file g scope p x in ILResourceLocation.LocalOut bytes)
+ Location = (let bytes = pickleObjWithDanglingCcus inMem file g scope p x in ILResourceLocation.Local(ByteMemory.FromArray(bytes).AsReadOnly()))
Access = ILResourceAccess.Public
CustomAttrsStored = storeILCustomAttrs emptyILCustomAttrs
MetadataIndex = NoMetadataIdx }
@@ -3656,7 +3691,7 @@ type RawFSharpAssemblyDataBackedByFileOnDisk (ilModule: ILModuleDef, ilAssemblyR
let sigFileName = Path.ChangeExtension(filename, "sigdata")
if not (FileSystem.SafeExists sigFileName) then
error(Error(FSComp.SR.buildExpectedSigdataFile (FileSystem.GetFullPathShim sigFileName), m))
- [ (ilShortAssemName, fun () -> FileSystem.ReadAllBytesShim sigFileName)]
+ [ (ilShortAssemName, fun () -> ByteMemory.FromFile(sigFileName, FileAccess.Read, canShadowCopy=true).AsReadOnly())]
else
sigDataReaders
sigDataReaders
@@ -3671,7 +3706,7 @@ type RawFSharpAssemblyDataBackedByFileOnDisk (ilModule: ILModuleDef, ilAssemblyR
let optDataFile = Path.ChangeExtension(filename, "optdata")
if not (FileSystem.SafeExists optDataFile) then
error(Error(FSComp.SR.buildExpectedFileAlongSideFSharpCore(optDataFile, FileSystem.GetFullPathShim optDataFile), m))
- [ (ilShortAssemName, (fun () -> FileSystem.ReadAllBytesShim optDataFile))]
+ [ (ilShortAssemName, (fun () -> ByteMemory.FromFile(optDataFile, FileAccess.Read, canShadowCopy=true).AsReadOnly()))]
else
optDataReaders
optDataReaders
@@ -3721,6 +3756,38 @@ type TcConfigProvider =
// TcImports
//--------------------------------------------------------------------------
+[]
+type TcImportsSafeDisposal
+ (disposeActions: ResizeArray unit>,
+#if !NO_EXTENSIONTYPING
+ disposeTypeProviderActions: ResizeArray unit>,
+#endif
+ compilationThread: ICompilationThread) =
+
+ let mutable isDisposed = false
+
+ let dispose () =
+ // disposing deliberately only closes this tcImports, not the ones up the chain
+ isDisposed <- true
+ if verbose then
+ dprintf "disposing of TcImports, %d binaries\n" disposeActions.Count
+#if !NO_EXTENSIONTYPING
+ let actions = disposeTypeProviderActions
+ if actions.Count > 0 then
+ compilationThread.EnqueueWork (fun _ -> for action in actions do action())
+#endif
+ for action in disposeActions do action()
+
+ override _.Finalize() =
+ dispose ()
+
+ interface IDisposable with
+
+ member this.Dispose() =
+ if not isDisposed then
+ GC.SuppressFinalize this
+ dispose ()
+
#if !NO_EXTENSIONTYPING
// These are hacks in order to allow TcImports to be held as a weak reference inside a type provider.
// The reason is due to older type providers compiled using an older TypeProviderSDK, that SDK used reflection on fields and properties to determine the contract.
@@ -3765,34 +3832,24 @@ and [] TcImports(tcConfigP: TcConfigProvider, initialResolutions: TcAsse
let mutable dllTable: NameMap = NameMap.empty
let mutable ccuInfos: ImportedAssembly list = []
let mutable ccuTable: NameMap = NameMap.empty
- let mutable disposeActions = []
+ let disposeActions = ResizeArray()
let mutable disposed = false
let mutable ilGlobalsOpt = ilGlobalsOpt
let mutable tcGlobals = None
#if !NO_EXTENSIONTYPING
- let mutable disposeTypeProviderActions = []
+ let disposeTypeProviderActions = ResizeArray()
let mutable generatedTypeRoots = new System.Collections.Generic.Dictionary()
let mutable tcImportsWeak = TcImportsWeakHack (WeakReference<_> this)
#endif
+
+ let disposal = new TcImportsSafeDisposal(disposeActions, disposeTypeProviderActions, compilationThread)
let CheckDisposed() =
if disposed then assert false
let dispose () =
CheckDisposed()
- // disposing deliberately only closes this tcImports, not the ones up the chain
- disposed <- true
- if verbose then
- dprintf "disposing of TcImports, %d binaries\n" disposeActions.Length
-#if !NO_EXTENSIONTYPING
- let actions = disposeTypeProviderActions
- disposeTypeProviderActions <- []
- if actions.Length > 0 then
- compilationThread.EnqueueWork (fun _ -> for action in actions do action())
-#endif
- let actions = disposeActions
- disposeActions <- []
- for action in actions do action()
+ (disposal :> IDisposable).Dispose()
static let ccuHasType (ccu: CcuThunk) (nsname: string list) (tname: string) =
let matchNameSpace (entityOpt: Entity option) n =
@@ -3944,8 +4001,7 @@ and [] TcImports(tcConfigP: TcConfigProvider, initialResolutions: TcAsse
let tcConfig = tcConfigP.Get ctok
let ilModule, ilAssemblyRefs =
let opts: ILReaderOptions =
- { ilGlobals = g.ilg
- reduceMemoryUsage = tcConfig.reduceMemoryUsage
+ { reduceMemoryUsage = tcConfig.reduceMemoryUsage
pdbDirPath = None
metadataOnly = MetadataOnlyFlag.Yes
tryGetMetadataSnapshot = tcConfig.tryGetMetadataSnapshot }
@@ -4009,12 +4065,12 @@ and [] TcImports(tcConfigP: TcConfigProvider, initialResolutions: TcAsse
member private tcImports.AttachDisposeAction action =
CheckDisposed()
- disposeActions <- action :: disposeActions
+ disposeActions.Add action
#if !NO_EXTENSIONTYPING
member private tcImports.AttachDisposeTypeProviderAction action =
CheckDisposed()
- disposeTypeProviderActions <- action :: disposeTypeProviderActions
+ disposeTypeProviderActions.Add action
#endif
// Note: the returned binary reader is associated with the tcImports, i.e. when the tcImports are closed
@@ -4038,15 +4094,8 @@ and [] TcImports(tcConfigP: TcConfigProvider, initialResolutions: TcAsse
else
None
- let ilGlobals =
- // ILScopeRef.Local can be used only for primary assembly (mscorlib or System.Runtime) itself
- // Remaining assemblies should be opened using existing ilGlobals (so they can properly locate fundamental types)
- match ilGlobalsOpt with
- | None -> mkILGlobals ILScopeRef.Local
- | Some g -> g
-
let ilILBinaryReader =
- OpenILBinary (filename, tcConfig.reduceMemoryUsage, ilGlobals, pdbDirPath, tcConfig.shadowCopyReferences, tcConfig.tryGetMetadataSnapshot)
+ OpenILBinary (filename, tcConfig.reduceMemoryUsage, pdbDirPath, tcConfig.shadowCopyReferences, tcConfig.tryGetMetadataSnapshot)
tcImports.AttachDisposeAction(fun _ -> (ilILBinaryReader :> IDisposable).Dispose())
ilILBinaryReader.ILModuleDef, ilILBinaryReader.ILAssemblyRefs
@@ -4209,15 +4258,22 @@ and [] TcImports(tcConfigP: TcConfigProvider, initialResolutions: TcAsse
let systemRuntimeContainsType =
// NOTE: do not touch this, edit: but we did, we had no choice - TPs cannot hold a strong reference on TcImports "ever".
let tcImports = tcImportsWeak
- let systemRuntimeContainsTypeRef = ref (fun typeName -> tcImports.SystemRuntimeContainsType typeName)
- tcImportsStrong.AttachDisposeTypeProviderAction(fun () -> systemRuntimeContainsTypeRef := (fun _ -> raise (System.ObjectDisposedException("The type provider has been disposed"))))
- fun arg -> systemRuntimeContainsTypeRef.Value arg
-
- let providers =
- [ for designTimeAssemblyName in designTimeAssemblyNames do
- yield! ExtensionTyping.GetTypeProvidersOfAssembly(fileNameOfRuntimeAssembly, ilScopeRefOfRuntimeAssembly, designTimeAssemblyName, typeProviderEnvironment,
- tcConfig.isInvalidationSupported, tcConfig.isInteractive, systemRuntimeContainsType, primaryAssemblyVersion, m) ]
-
+ let mutable systemRuntimeContainsTypeRef = fun typeName -> tcImports.SystemRuntimeContainsType typeName
+ tcImportsStrong.AttachDisposeTypeProviderAction(fun () -> systemRuntimeContainsTypeRef <- fun _ -> raise (System.ObjectDisposedException("The type provider has been disposed")))
+ fun arg -> systemRuntimeContainsTypeRef arg
+
+ let providers = [
+ for designTimeAssemblyName in designTimeAssemblyNames do
+ yield! ExtensionTyping.GetTypeProvidersOfAssembly(fileNameOfRuntimeAssembly,
+ ilScopeRefOfRuntimeAssembly,
+ designTimeAssemblyName,
+ typeProviderEnvironment,
+ tcConfig.isInvalidationSupported,
+ tcConfig.isInteractive,
+ systemRuntimeContainsType,
+ primaryAssemblyVersion,
+ tcConfig.compilerToolPaths,
+ m) ]
// Note, type providers are disposable objects. The TcImports owns the provider objects - when/if it is disposed, the providers are disposed.
// We ignore all exceptions from provider disposal.
for provider in providers do
@@ -4500,7 +4556,6 @@ and [] TcImports(tcConfigP: TcConfigProvider, initialResolutions: TcAsse
member tcImports.RegisterAndImportReferencedAssemblies (ctok, nms: AssemblyResolution list) =
cancellable {
CheckDisposed()
-
let! results =
nms |> Cancellable.each (fun nm ->
cancellable {
@@ -4635,11 +4690,48 @@ and [] TcImports(tcConfigP: TcConfigProvider, initialResolutions: TcAsse
| (_, [ResolvedImportedAssembly ccu]) -> ccu.FSharpViewOfMetadata.ILScopeRef
| _ -> failwith "unexpected"
- let ilGlobals = mkILGlobals primaryScopeRef
+ let primaryAssemblyResolvedPath =
+ match primaryAssemblyResolution with
+ | [primaryAssemblyResolution] -> primaryAssemblyResolution.resolvedPath
+ | _ -> failwith "unexpected"
+
+ let resolvedAssemblies = tcResolutions.GetAssemblyResolutions()
+
+ let readerSettings: ILReaderOptions =
+ { pdbDirPath=None
+ reduceMemoryUsage = tcConfig.reduceMemoryUsage
+ metadataOnly = MetadataOnlyFlag.Yes
+ tryGetMetadataSnapshot = tcConfig.tryGetMetadataSnapshot }
+
+ let tryFindAssemblyByExportedType manifest (exportedType: ILExportedTypeOrForwarder) =
+ match exportedType.ScopeRef, primaryScopeRef with
+ | ILScopeRef.Assembly aref1, ILScopeRef.Assembly aref2 when aref1.EqualsIgnoringVersion aref2 ->
+ mkRefToILAssembly manifest
+ |> Some
+ | _ ->
+ None
+
+ let tryFindAssemblyThatForwardsToPrimaryAssembly manifest =
+ manifest.ExportedTypes.TryFindByName "System.Object"
+ |> Option.bind (tryFindAssemblyByExportedType manifest)
+
+ // Determine what other assemblies could have been the primary assembly
+ // by checking to see if "System.Object" is an exported type.
+ let assembliesThatForwardToPrimaryAssembly =
+ resolvedAssemblies
+ |> List.choose (fun resolvedAssembly ->
+ if primaryAssemblyResolvedPath <> resolvedAssembly.resolvedPath then
+ let reader = OpenILModuleReader resolvedAssembly.resolvedPath readerSettings
+ reader.ILModuleDef.Manifest
+ |> Option.bind tryFindAssemblyThatForwardsToPrimaryAssembly
+ else
+ None)
+
+ let ilGlobals = mkILGlobals (primaryScopeRef, assembliesThatForwardToPrimaryAssembly)
frameworkTcImports.SetILGlobals ilGlobals
// Load the rest of the framework DLLs all at once (they may be mutually recursive)
- let! _assemblies = frameworkTcImports.RegisterAndImportReferencedAssemblies (ctok, tcResolutions.GetAssemblyResolutions())
+ let! _assemblies = frameworkTcImports.RegisterAndImportReferencedAssemblies (ctok, resolvedAssemblies)
// These are the DLLs we can search for well-known types
let sysCcus =
@@ -4678,11 +4770,12 @@ and [] TcImports(tcConfigP: TcConfigProvider, initialResolutions: TcAsse
error(InternalError("BuildFrameworkTcImports: no successful import of "+coreLibraryResolution.resolvedPath, coreLibraryResolution.originalReference.Range))
| None ->
error(InternalError(sprintf "BuildFrameworkTcImports: no resolution of '%s'" coreLibraryReference.Text, rangeStartup))
- IlxSettings.ilxFsharpCoreLibAssemRef :=
+ IlxSettings.ilxFsharpCoreLibAssemRef <-
(let scoref = fslibCcuInfo.ILScopeRef
match scoref with
| ILScopeRef.Assembly aref -> Some aref
- | ILScopeRef.Local | ILScopeRef.Module _ -> error(InternalError("not ILScopeRef.Assembly", rangeStartup)))
+ | ILScopeRef.Local | ILScopeRef.Module _ | ILScopeRef.PrimaryAssembly ->
+ error(InternalError("not ILScopeRef.Assembly", rangeStartup)))
fslibCcuInfo.FSharpViewOfMetadata
// OK, now we have both mscorlib.dll and FSharp.Core.dll we can create TcGlobals
@@ -4693,11 +4786,11 @@ and [] TcImports(tcConfigP: TcConfigProvider, initialResolutions: TcAsse
#if DEBUG
// the global_g reference cell is used only for debug printing
- global_g := Some tcGlobals
+ global_g <- Some tcGlobals
#endif
// do this prior to parsing, since parsing IL assembly code may refer to mscorlib
#if !NO_INLINE_IL_PARSER
- FSharp.Compiler.AbstractIL.Internal.AsciiConstants.parseILGlobals := tcGlobals.ilg
+ FSharp.Compiler.AbstractIL.Internal.AsciiConstants.parseILGlobals <- tcGlobals.ilg
#endif
frameworkTcImports.SetTcGlobals tcGlobals
return tcGlobals, frameworkTcImports
@@ -4710,9 +4803,6 @@ and [] TcImports(tcConfigP: TcConfigProvider, initialResolutions: TcAsse
knownUnresolved
|> List.map (function UnresolvedAssemblyReference(file, originalReferences) -> file, originalReferences)
|> List.iter reportAssemblyNotResolved
-
- override tcImports.Finalize () =
- dispose ()
static member BuildNonFrameworkTcImports (ctok, tcConfigP: TcConfigProvider, tcGlobals: TcGlobals, baseTcImports, nonFrameworkReferences, knownUnresolved) =
cancellable {
@@ -4738,7 +4828,6 @@ and [] TcImports(tcConfigP: TcConfigProvider, initialResolutions: TcAsse
interface System.IDisposable with
member tcImports.Dispose() =
dispose ()
- GC.SuppressFinalize tcImports
override tcImports.ToString() = "TcImports(...)"
@@ -4764,14 +4853,13 @@ let RequireDLL (ctok, tcImports: TcImports, tcEnv, thisAssemblyName, m, file, as
let tcEnv = (tcEnv, asms) ||> List.fold buildTcEnv
tcEnv, (dllinfos, asms)
-
-
-let ProcessMetaCommandsFromInput
- (nowarnF: 'state -> range * string -> 'state,
- dllRequireF: 'state -> range * string -> 'state,
- loadSourceF: 'state -> range * string -> unit)
- (tcConfig: TcConfigBuilder, inp, pathOfMetaCommandSource, state0) =
-
+let ProcessMetaCommandsFromInput
+ (nowarnF: 'state -> range * string -> 'state,
+ dllRequireF: 'state -> range * string -> 'state,
+ packageRequireF: 'state -> DependencyManagerIntegration.IDependencyManagerProvider * range * string -> 'state,
+ loadSourceF: 'state -> range * string -> unit)
+ (tcConfig:TcConfigBuilder, inp, pathOfMetaCommandSource, state0) =
+
use unwindBuildPhase = PushThreadBuildPhaseUntilUnwind BuildPhase.Parse
let canHaveScriptMetaCommands =
@@ -4794,18 +4882,34 @@ let ProcessMetaCommandsFromInput
| _ ->
errorR(Error(FSComp.SR.buildInvalidHashIDirective(), m))
state
- | ParsedHashDirective("nowarn", numbers, m) ->
- List.fold (fun state d -> nowarnF state (m, d)) state numbers
- | ParsedHashDirective(("reference" | "r"), args, m) ->
- if not canHaveScriptMetaCommands then
+ | ParsedHashDirective("nowarn",numbers,m) ->
+ List.fold (fun state d -> nowarnF state (m,d)) state numbers
+
+ | ParsedHashDirective(("reference" | "r"),args,m) ->
+ if not canHaveScriptMetaCommands then
errorR(HashReferenceNotAllowedInNonScript m)
- match args with
- | [path] ->
- matchedm<-m
- dllRequireF state (m, path)
- | _ ->
+
+ match args with
+ | [path] ->
+ matchedm <- m
+ match DependencyManagerIntegration.tryFindDependencyManagerInPath tcConfig.compilerToolPaths tcConfig.outputDir m (path:string) with
+ | DependencyManagerIntegration.ReferenceType.RegisteredDependencyManager packageManager ->
+ if tcConfig.langVersion.SupportsFeature(LanguageFeature.PackageManagement) then
+ packageRequireF state (packageManager,m,path)
+ else
+ errorR(Error(FSComp.SR.packageManagementRequiresVFive(), m))
+ state
+
+ // #r "Assembly"
+ | DependencyManagerIntegration.ReferenceType.Library path ->
+ dllRequireF state (m,path)
+
+ | DependencyManagerIntegration.ReferenceType.UnknownType ->
+ state // error already reported
+ | _ ->
errorR(Error(FSComp.SR.buildInvalidHashrDirective(), m))
state
+
| ParsedHashDirective("load", args, m) ->
if not canHaveScriptMetaCommands then
errorR(HashDirectiveNotAllowedInNonScript m)
@@ -4879,19 +4983,21 @@ let ProcessMetaCommandsFromInput
let ApplyNoWarnsToTcConfig (tcConfig: TcConfig, inp: ParsedInput, pathOfMetaCommandSource) =
// Clone
let tcConfigB = tcConfig.CloneOfOriginalBuilder
- let addNoWarn = fun () (m, s) -> tcConfigB.TurnWarningOff(m, s)
- let addReferencedAssemblyByPath = fun () (_m, _s) -> ()
- let addLoadedSource = fun () (_m, _s) -> ()
- ProcessMetaCommandsFromInput (addNoWarn, addReferencedAssemblyByPath, addLoadedSource) (tcConfigB, inp, pathOfMetaCommandSource, ())
+ let addNoWarn = fun () (m,s) -> tcConfigB.TurnWarningOff(m, s)
+ let addReferencedAssemblyByPath = fun () (_m,_s) -> ()
+ let addDependencyManagerText = fun () (_prefix,_m,_s) -> ()
+ let addLoadedSource = fun () (_m,_s) -> ()
+ ProcessMetaCommandsFromInput (addNoWarn, addReferencedAssemblyByPath, addDependencyManagerText, addLoadedSource) (tcConfigB, inp, pathOfMetaCommandSource, ())
TcConfig.Create(tcConfigB, validate=false)
let ApplyMetaCommandsFromInputToTcConfig (tcConfig: TcConfig, inp: ParsedInput, pathOfMetaCommandSource) =
// Clone
let tcConfigB = tcConfig.CloneOfOriginalBuilder
let getWarningNumber = fun () _ -> ()
- let addReferencedAssemblyByPath = fun () (m, s) -> tcConfigB.AddReferencedAssemblyByPath(m, s)
- let addLoadedSource = fun () (m, s) -> tcConfigB.AddLoadedSource(m, s, pathOfMetaCommandSource)
- ProcessMetaCommandsFromInput (getWarningNumber, addReferencedAssemblyByPath, addLoadedSource) (tcConfigB, inp, pathOfMetaCommandSource, ())
+ let addReferencedAssemblyByPath = fun () (m,s) -> tcConfigB.AddReferencedAssemblyByPath(m,s)
+ let addDependencyManagerText = fun () (packageManager, m,s) -> tcConfigB.AddDependencyManagerText(packageManager,m,s)
+ let addLoadedSource = fun () (m,s) -> tcConfigB.AddLoadedSource(m,s,pathOfMetaCommandSource)
+ ProcessMetaCommandsFromInput (getWarningNumber, addReferencedAssemblyByPath, addDependencyManagerText, addLoadedSource) (tcConfigB, inp, pathOfMetaCommandSource, ())
TcConfig.Create(tcConfigB, validate=false)
//----------------------------------------------------------------------------
@@ -4903,7 +5009,6 @@ let GetAssemblyResolutionInformation(ctok, tcConfig: TcConfig) =
let assemblyList = TcAssemblyResolutions.GetAllDllReferences tcConfig
let resolutions = TcAssemblyResolutions.ResolveAssemblyReferences (ctok, tcConfig, assemblyList, [])
resolutions.GetAssemblyResolutions(), resolutions.GetUnresolvedReferences()
-
[]
type LoadClosureInput =
@@ -4923,7 +5028,7 @@ type LoadClosure =
/// The list of all sources in the closure with inputs when available
Inputs: LoadClosureInput list
/// The #load, including those that didn't resolve
- OriginalLoadReferences: (range * string) list
+ OriginalLoadReferences: (range * string * string) list
/// The #nowarns
NoWarns: (string * range list) list
/// Diagnostics seen while processing resolutions
@@ -4939,9 +5044,9 @@ type CodeContext =
| CompilationAndEvaluation // in fsi.exe
| Compilation // in fsc.exe
| Editing // in VS
-
-module private ScriptPreprocessClosure =
+module ScriptPreprocessClosure =
+ open Internal.Utilities.Text.Lexing
/// Represents an input to the closure finding process
type ClosureSource = ClosureSource of filename: string * referenceRange: range * sourceText: ISourceText * parseRequired: bool
@@ -5037,12 +5142,14 @@ module private ScriptPreprocessClosure =
(tcConfig: TcConfig, inp: ParsedInput, pathOfMetaCommandSource) =
let tcConfigB = tcConfig.CloneOfOriginalBuilder
- let nowarns = ref []
- let getWarningNumber = fun () (m, s) -> nowarns := (s, m) :: !nowarns
+ let mutable nowarns = []
+ let getWarningNumber = fun () (m, s) -> nowarns <- (s, m) :: nowarns
let addReferencedAssemblyByPath = fun () (m, s) -> tcConfigB.AddReferencedAssemblyByPath(m, s)
+ let addDependencyManagerText = fun () (packageManagerPrefix,m,s) -> tcConfigB.AddDependencyManagerText(packageManagerPrefix,m,s)
+
let addLoadedSource = fun () (m, s) -> tcConfigB.AddLoadedSource(m, s, pathOfMetaCommandSource)
try
- ProcessMetaCommandsFromInput (getWarningNumber, addReferencedAssemblyByPath, addLoadedSource) (tcConfigB, inp, pathOfMetaCommandSource, ())
+ ProcessMetaCommandsFromInput (getWarningNumber, addReferencedAssemblyByPath, addDependencyManagerText, addLoadedSource) (tcConfigB, inp, pathOfMetaCommandSource, ())
with ReportedError _ ->
// Recover by using whatever did end up in the tcConfig
()
@@ -5054,40 +5161,86 @@ module private ScriptPreprocessClosure =
let tcConfigB = tcConfig.CloneOfOriginalBuilder
TcConfig.Create(tcConfigB, validate=false), nowarns
- let FindClosureFiles
- (closureSources, tcConfig: TcConfig, codeContext,
- lexResourceManager: Lexhelp.LexResourceManager) =
-
- let tcConfig = ref tcConfig
+ let FindClosureFiles(mainFile, _m, closureSources, origTcConfig:TcConfig, codeContext, lexResourceManager: Lexhelp.LexResourceManager) =
+ let mutable tcConfig = origTcConfig
let observedSources = Observed()
- let rec loop (ClosureSource(filename, m, sourceText, parseRequired)) =
- [ if not (observedSources.HaveSeen(filename)) then
+ let loadScripts = HashSet<_>()
+
+ // Resolve the packages
+ let rec resolveDependencyManagerSources scriptName =
+ if not (loadScripts.Contains scriptName) then
+ [ for kv in tcConfig.packageManagerLines do
+ let packageManagerKey, packageManagerLines = kv.Key, kv.Value
+ match packageManagerLines with
+ | [] -> ()
+ | (_, _, m)::_ ->
+ match tcConfig.packageManagerLines |> Map.tryFind packageManagerKey with
+ | Some oldDependencyManagerLines when oldDependencyManagerLines = packageManagerLines -> ()
+ | _ ->
+ match DependencyManagerIntegration.tryFindDependencyManagerByKey tcConfig.compilerToolPaths tcConfig.outputDir m packageManagerKey with
+ | None ->
+ errorR(DependencyManagerIntegration.createPackageManagerUnknownError tcConfig.compilerToolPaths tcConfig.outputDir packageManagerKey m)
+ | Some packageManager ->
+ let inline snd3 (_, b, _) = b
+ let packageManagerTextLines = packageManagerLines |> List.map snd3
+
+ match DependencyManagerIntegration.resolve packageManager tcConfig.implicitIncludeDir mainFile scriptName m packageManagerTextLines with
+ | None -> () // error already reported
+ | Some (succeeded, generatedScripts, additionalIncludeFolders) -> //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ // This may incrementally update tcConfig too with new #r references
+ // New package text is ignored on this second phase
+ match succeeded with
+ | true ->
+ // Resolution produced no errors
+ if not (isNil additionalIncludeFolders) then
+ let tcConfigB = tcConfig.CloneOfOriginalBuilder
+ for folder in additionalIncludeFolders do
+ tcConfigB.AddIncludePath(m, folder, "")
+ tcConfigB.packageManagerLines <- tcConfigB.packageManagerLines |> Map.map(fun _ l -> l |> List.map(fun (_, p, m) -> true, p, m))
+ tcConfig <- TcConfig.Create(tcConfigB, validate=false)
+ for script in generatedScripts do
+ let scriptText = File.ReadAllText script
+ loadScripts.Add script |> ignore
+ let iSourceText = SourceText.ofString scriptText
+ yield! loop (ClosureSource(script, m, iSourceText, true))
+ | false ->
+ // Resolution produced errors update packagerManagerLines entries to note these failure
+ // failed resolutions will no longer be considered
+ let tcConfigB = tcConfig.CloneOfOriginalBuilder
+ tcConfigB.packageManagerLines <- tcConfigB.packageManagerLines |> Map.map(fun _ l -> l |> List.filter(fun (tried, _, _) -> tried))
+ tcConfig <- TcConfig.Create(tcConfigB, validate=false)]
+ else []
+
+ and loop (ClosureSource(filename, m, sourceText, parseRequired)) =
+ [ if not (observedSources.HaveSeen(filename)) then
observedSources.SetSeen(filename)
//printfn "visiting %s" filename
if IsScript filename || parseRequired then
let parseResult, parseDiagnostics =
- let errorLogger = CapturingErrorLogger("FindClosureParse")
+ let errorLogger = CapturingErrorLogger("FindClosureParse")
use _unwindEL = PushErrorLoggerPhaseUntilUnwind (fun _ -> errorLogger)
- let result = ParseScriptText (filename, sourceText, !tcConfig, codeContext, lexResourceManager, errorLogger)
+ let result = ParseScriptText (filename, sourceText, tcConfig, codeContext, lexResourceManager, errorLogger)
result, errorLogger.Diagnostics
match parseResult with
- | Some parsedScriptAst ->
- let errorLogger = CapturingErrorLogger("FindClosureMetaCommands")
+ | Some parsedScriptAst ->
+ let errorLogger = CapturingErrorLogger("FindClosureMetaCommands")
use _unwindEL = PushErrorLoggerPhaseUntilUnwind (fun _ -> errorLogger)
let pathOfMetaCommandSource = Path.GetDirectoryName filename
- let preSources = (!tcConfig).GetAvailableLoadedSources()
+ let preSources = tcConfig.GetAvailableLoadedSources()
- let tcConfigResult, noWarns = ApplyMetaCommandsFromInputToTcConfigAndGatherNoWarn (!tcConfig, parsedScriptAst, pathOfMetaCommandSource)
- tcConfig := tcConfigResult // We accumulate the tcConfig in order to collect assembly references
+ let tcConfigResult, noWarns = ApplyMetaCommandsFromInputToTcConfigAndGatherNoWarn (tcConfig, parsedScriptAst, pathOfMetaCommandSource)
+ tcConfig <- tcConfigResult // We accumulate the tcConfig in order to collect assembly references
- let postSources = (!tcConfig).GetAvailableLoadedSources()
+ let postSources = tcConfig.GetAvailableLoadedSources()
let sources = if preSources.Length < postSources.Length then postSources.[preSources.Length..] else []
- //for (_, subFile) in sources do
- // printfn "visiting %s - has subsource of %s " filename subFile
-
+ yield! resolveDependencyManagerSources filename
+#if DEBUG
+ for (_,subFile) in sources do
+ printfn "visiting %s - has subsource of %s " filename subFile
+#endif
for (m, subFile) in sources do
if IsScript subFile then
for subSource in ClosureSourceOfFilename(subFile, m, tcConfigResult.inputCodePage, false) do
@@ -5096,17 +5249,17 @@ module private ScriptPreprocessClosure =
yield ClosureFile(subFile, m, None, [], [], [])
//printfn "yielding source %s" filename
- yield ClosureFile(filename, m, Some parsedScriptAst, parseDiagnostics, errorLogger.Diagnostics, !noWarns)
+ yield ClosureFile(filename, m, Some parsedScriptAst, parseDiagnostics, errorLogger.Diagnostics, noWarns)
| None ->
- //printfn "yielding source %s (failed parse)" filename
+ printfn "yielding source %s (failed parse)" filename
yield ClosureFile(filename, m, None, parseDiagnostics, [], [])
else
// Don't traverse into .fs leafs.
- //printfn "yielding non-script source %s" filename
+ printfn "yielding non-script source %s" filename
yield ClosureFile(filename, m, None, [], [], []) ]
- closureSources |> List.collect loop, !tcConfig
+ closureSources |> List.collect loop, tcConfig
/// Reduce the full directive closure into LoadClosure
let GetLoadClosure(ctok, rootFilename, closureFiles, tcConfig: TcConfig, codeContext) =
@@ -5167,11 +5320,11 @@ module private ScriptPreprocessClosure =
let isThisFileName = (0 = String.Compare(rootFilename, m.FileName, StringComparison.OrdinalIgnoreCase))
isArgParameterWhileNotEditing || isThisFileName
| None -> true
-
+
// Filter out non-root errors and warnings
let allRootDiagnostics = allRootDiagnostics |> List.filter (fst >> isRootRange)
- let result: LoadClosure =
+ let result: LoadClosure =
{ SourceFiles = List.groupBy fst sourceFiles |> List.map (map2Of2 (List.map snd))
References = List.groupBy fst references |> List.map (map2Of2 (List.map snd))
UnresolvedReferences = unresolvedReferences
@@ -5180,7 +5333,7 @@ module private ScriptPreprocessClosure =
OriginalLoadReferences = tcConfig.loadedSources
ResolutionDiagnostics = resolutionDiagnostics
AllRootFileDiagnostics = allRootDiagnostics
- LoadClosureRootFileDiagnostics = loadClosureRootDiagnostics }
+ LoadClosureRootFileDiagnostics = loadClosureRootDiagnostics }
result
@@ -5215,20 +5368,15 @@ module private ScriptPreprocessClosure =
tryGetMetadataSnapshot, reduceMemoryUsage)
let closureSources = [ClosureSource(filename, range0, sourceText, true)]
- let closureFiles, tcConfig = FindClosureFiles(closureSources, tcConfig, codeContext, lexResourceManager)
+ let closureFiles, tcConfig = FindClosureFiles(filename, range0, closureSources, tcConfig, codeContext, lexResourceManager)
GetLoadClosure(ctok, filename, closureFiles, tcConfig, codeContext)
-
+
/// Given source filename, find the full load closure
/// Used from fsi.fs and fsc.fs, for #load and command line
- let GetFullClosureOfScriptFiles
- (ctok, tcConfig: TcConfig,
- files:(string*range) list,
- codeContext,
- lexResourceManager: Lexhelp.LexResourceManager) =
-
- let mainFile = fst (List.last files)
- let closureSources = files |> List.collect (fun (filename, m) -> ClosureSourceOfFilename(filename, m, tcConfig.inputCodePage, true))
- let closureFiles, tcConfig = FindClosureFiles(closureSources, tcConfig, codeContext, lexResourceManager)
+ let GetFullClosureOfScriptFiles(ctok, tcConfig:TcConfig, files:(string*range) list,codeContext,lexResourceManager: Lexhelp.LexResourceManager) =
+ let mainFile, mainFileRange = List.last files
+ let closureSources = files |> List.collect (fun (filename, m) -> ClosureSourceOfFilename(filename, m,tcConfig.inputCodePage,true))
+ let closureFiles,tcConfig = FindClosureFiles(mainFile, mainFileRange, closureSources, tcConfig, codeContext, lexResourceManager)
GetLoadClosure(ctok, mainFile, closureFiles, tcConfig, codeContext)
type LoadClosure with
@@ -5255,8 +5403,6 @@ type LoadClosure with
lexResourceManager: Lexhelp.LexResourceManager) =
use unwindBuildPhase = PushThreadBuildPhaseUntilUnwind BuildPhase.Parse
ScriptPreprocessClosure.GetFullClosureOfScriptFiles (ctok, tcConfig, files, codeContext, lexResourceManager)
-
-
//----------------------------------------------------------------------------
// Initial type checking environment
@@ -5553,4 +5699,4 @@ let TypeCheckClosedInputSet (ctok, checkForErrors, tcConfig, tcImports, tcGlobal
// Existing public APIs delegate to newer implementations
let GetFSharpCoreLibraryName () = getFSharpCoreLibraryName
-let DefaultReferencesForScriptsAndOutOfProjectSources assumeDotNetFramework = defaultReferencesForScriptsAndOutOfProjectSources assumeDotNetFramework false
+let DefaultReferencesForScriptsAndOutOfProjectSources assumeDotNetFramework = defaultReferencesForScriptsAndOutOfProjectSources (*useFsiAuxLib*)false assumeDotNetFramework (*useSdkRefs*)false
diff --git a/src/fsharp/CompileOps.fsi b/src/fsharp/CompileOps.fsi
index 51b10bc028..fd95afdd20 100644
--- a/src/fsharp/CompileOps.fsi
+++ b/src/fsharp/CompileOps.fsi
@@ -11,6 +11,7 @@ open FSharp.Compiler.AbstractIL
open FSharp.Compiler.AbstractIL.IL
open FSharp.Compiler.AbstractIL.ILBinaryReader
open FSharp.Compiler.AbstractIL.ILPdbWriter
+open FSharp.Compiler.AbstractIL.Internal
open FSharp.Compiler.AbstractIL.Internal.Library
open FSharp.Compiler
open FSharp.Compiler.TypeChecker
@@ -154,9 +155,9 @@ type IRawFSharpAssemblyData =
abstract HasAnyFSharpSignatureDataAttribute: bool
abstract HasMatchingFSharpSignatureDataAttribute: ILGlobals -> bool
/// The raw F# signature data in the assembly, if any
- abstract GetRawFSharpSignatureData: range * ilShortAssemName: string * fileName: string -> (string * (unit -> byte[])) list
+ abstract GetRawFSharpSignatureData: range * ilShortAssemName: string * fileName: string -> (string * (unit -> ReadOnlyByteMemory)) list
/// The raw F# optimization data in the assembly, if any
- abstract GetRawFSharpOptimizationData: range * ilShortAssemName: string * fileName: string -> (string * (unit -> byte[])) list
+ abstract GetRawFSharpOptimizationData: range * ilShortAssemName: string * fileName: string -> (string * (unit -> ReadOnlyByteMemory)) list
/// The table of type forwarders in the assembly
abstract GetRawTypeForwarders: unit -> ILExportedTypesAndForwarders
/// The identity of the module
@@ -203,7 +204,7 @@ type AssemblyResolution =
/// Whether or not this is an installed system assembly (for example, System.dll)
sysdir: bool
// Lazily populated ilAssemblyRef for this reference.
- ilAssemblyRef: ILAssemblyRef option ref }
+ mutable ilAssemblyRef: ILAssemblyRef option }
type UnresolvedAssemblyReference = UnresolvedAssemblyReference of string * AssemblyReference list
@@ -267,9 +268,11 @@ type TcConfigBuilder =
mutable light: bool option
mutable conditionalCompilationDefines: string list
/// Sources added into the build with #load
- mutable loadedSources: (range * string) list
-
+ mutable loadedSources: (range * string * string) list
+ mutable compilerToolPaths: string list
mutable referencedDLLs: AssemblyReference list
+ mutable packageManagerLines: Map
+
mutable projectReferences: IProjectReference list
mutable knownUnresolvedReferences: UnresolvedAssemblyReference list
reduceMemoryUsage: ReduceMemoryFlag
@@ -281,6 +284,7 @@ type TcConfigBuilder =
mutable mlCompatibility:bool
mutable checkOverflow:bool
mutable showReferenceResolutions:bool
+ mutable outputDir: string option
mutable outputFile: string option
mutable platform: ILPlatform option
mutable prefer32Bit: bool
@@ -385,6 +389,8 @@ type TcConfigBuilder =
mutable pathMap : PathMap
mutable langVersion : LanguageVersion
+
+ mutable includePathAdded : string -> unit
}
static member Initial: TcConfigBuilder
@@ -397,13 +403,15 @@ type TcConfigBuilder =
isInteractive: bool *
isInvalidationSupported: bool *
defaultCopyFSharpCore: CopyFSharpCoreFlag *
- tryGetMetadataSnapshot: ILReaderTryGetMetadataSnapshot
+ tryGetMetadataSnapshot: ILReaderTryGetMetadataSnapshot *
+ ?includePathAdded: (string -> unit)
-> TcConfigBuilder
member DecideNames: string list -> outfile: string * pdbfile: string option * assemblyName: string
member TurnWarningOff: range * string -> unit
member TurnWarningOn: range * string -> unit
member AddIncludePath: range * string * string -> unit
+ member AddCompilerToolsByPath: string -> unit
member AddReferencedAssemblyByPath: range * string -> unit
member RemoveReferencedAssemblyByPath: range * string -> unit
member AddEmbeddedSourceFile: string -> unit
@@ -433,6 +441,7 @@ type TcConfig =
member conditionalCompilationDefines: string list
member subsystemVersion: int * int
member useHighEntropyVA: bool
+ member compilerToolPaths: string list
member referencedDLLs: AssemblyReference list
member reduceMemoryUsage: ReduceMemoryFlag
member inputCodePage: int option
@@ -441,6 +450,7 @@ type TcConfig =
member mlCompatibility:bool
member checkOverflow:bool
member showReferenceResolutions:bool
+ member outputDir: string option
member outputFile: string option
member platform: ILPlatform option
member prefer32Bit: bool
@@ -677,8 +687,8 @@ val WriteOptimizationData: TcGlobals * filename: string * inMem: bool * CcuThunk
val RequireDLL: CompilationThreadToken * TcImports * TcEnv * thisAssemblyName: string * referenceRange: range * file: string * assemblyReferenceAdded: (string -> unit) -> TcEnv * (ImportedBinary list * ImportedAssembly list)
/// Processing # commands
-val ProcessMetaCommandsFromInput:
- (('T -> range * string -> 'T) * ('T -> range * string -> 'T) * ('T -> range * string -> unit))
+val ProcessMetaCommandsFromInput :
+ (('T -> range * string -> 'T) * ('T -> range * string -> 'T) * ('T -> DependencyManagerIntegration.IDependencyManagerProvider * range * string -> 'T) * ('T -> range * string -> unit))
-> TcConfigBuilder * Ast.ParsedInput * string * 'T
-> 'T
@@ -799,7 +809,7 @@ type LoadClosure =
Inputs: LoadClosureInput list
/// The original #load references, including those that didn't resolve
- OriginalLoadReferences: (range * string) list
+ OriginalLoadReferences: (range * string * string) list
/// The #nowarns
NoWarns: (string * range list) list
diff --git a/src/fsharp/CompileOptions.fs b/src/fsharp/CompileOptions.fs
index 29e854a83f..6510790668 100755
--- a/src/fsharp/CompileOptions.fs
+++ b/src/fsharp/CompileOptions.fs
@@ -6,6 +6,7 @@ module internal FSharp.Compiler.CompileOptions
open Internal.Utilities
open System
+open System.IO
open FSharp.Compiler
open FSharp.Compiler.AbstractIL
open FSharp.Compiler.AbstractIL.IL
@@ -502,8 +503,10 @@ let SetDebugSwitch (tcConfigB: TcConfigBuilder) (dtype: string option) (s: Optio
let SetEmbedAllSourceSwitch (tcConfigB: TcConfigBuilder) switch =
if (switch = OptionSwitch.On) then tcConfigB.embedAllSource <- true else tcConfigB.embedAllSource <- false
-let setOutFileName tcConfigB s =
- tcConfigB.outputFile <- Some s
+let setOutFileName tcConfigB path =
+ let outputDir = Path.GetDirectoryName(path)
+ tcConfigB.outputDir <- Some outputDir
+ tcConfigB.outputFile <- Some path
let setSignatureFile tcConfigB s =
tcConfigB.printSignature <- true
@@ -559,17 +562,24 @@ let PrintOptionInfo (tcConfigB:TcConfigBuilder) =
// OptionBlock: Input files
//-------------------------
-let inputFileFlagsBoth (tcConfigB: TcConfigBuilder) =
- [ CompilerOption("reference", tagFile, OptionString (fun s -> tcConfigB.AddReferencedAssemblyByPath (rangeStartup, s)), None, Some (FSComp.SR.optsReference()))
+let inputFileFlagsBoth (tcConfigB : TcConfigBuilder) = [
+ CompilerOption("reference", tagFile, OptionString (fun s -> tcConfigB.AddReferencedAssemblyByPath (rangeStartup, s)), None, Some (FSComp.SR.optsReference()))
+ CompilerOption("compilertool", tagFile, OptionString (fun s -> tcConfigB.AddCompilerToolsByPath s), None, Some (FSComp.SR.optsCompilerTool()))
]
-let inputFileFlagsFsc tcConfigB = inputFileFlagsBoth tcConfigB
+let referenceFlagAbbrev (tcConfigB : TcConfigBuilder) =
+ CompilerOption("r", tagFile, OptionString (fun s -> tcConfigB.AddReferencedAssemblyByPath (rangeStartup, s)), None, Some(FSComp.SR.optsShortFormOf("--reference")))
+
+let compilerToolFlagAbbrev (tcConfigB : TcConfigBuilder) =
+ CompilerOption("t", tagFile, OptionString (fun s -> tcConfigB.AddCompilerToolsByPath s), None, Some(FSComp.SR.optsShortFormOf("--compilertool")))
+
+let inputFileFlagsFsc tcConfigB = inputFileFlagsBoth tcConfigB
let inputFileFlagsFsiBase (_tcConfigB: TcConfigBuilder) =
#if NETSTANDARD
- [ CompilerOption("usesdkrefs", tagNone, OptionSwitch (SetUseSdkSwitch _tcConfigB), None, Some (FSComp.SR.useSdkRefs())) ]
+ [ CompilerOption("usesdkrefs", tagNone, OptionSwitch (SetUseSdkSwitch _tcConfigB), None, Some (FSComp.SR.useSdkRefs())) ]
#else
- List.empty
+ List.empty
#endif
let inputFileFlagsFsi (tcConfigB: TcConfigBuilder) =
@@ -1015,7 +1025,7 @@ let testFlag tcConfigB =
match s with
| "StackSpan" -> tcConfigB.internalTestSpanStackReferring <- true
| "ErrorRanges" -> tcConfigB.errorStyle <- ErrorStyle.TestErrors
- | "Tracking" -> Lib.tracking := true (* general purpose on/off diagnostics flag *)
+ | "Tracking" -> Lib.tracking <- true (* general purpose on/off diagnostics flag *)
| "NoNeedToTailcall" -> tcConfigB.optSettings <- { tcConfigB.optSettings with reportNoNeedToTailcall = true }
| "FunctionSizes" -> tcConfigB.optSettings <- { tcConfigB.optSettings with reportFunctionSizes = true }
| "TotalSizes" -> tcConfigB.optSettings <- { tcConfigB.optSettings with reportTotalSizes = true }
@@ -1242,7 +1252,7 @@ let compilingFsLibFlag (tcConfigB: TcConfigBuilder) =
tcConfigB.compilingFslib <- true
tcConfigB.TurnWarningOff(rangeStartup, "42")
ErrorLogger.reportLibraryOnlyFeatures <- false
- IlxSettings.ilxCompilingFSharpCoreLib := true),
+ IlxSettings.ilxCompilingFSharpCoreLib <- true),
Some(InternalCommandLineOption("--compiling-fslib", rangeCmdArgs)), None)
let compilingFsLib20Flag =
@@ -1312,7 +1322,7 @@ let deprecatedFlagsFsc tcConfigB =
CompilerOption
("progress", tagNone,
- OptionUnit (fun () -> progress := true),
+ OptionUnit (fun () -> progress <- true),
Some(DeprecatedCommandLineOptionNoDescription("--progress", rangeCmdArgs)), None)
compilingFsLibFlag tcConfigB
@@ -1588,14 +1598,13 @@ let ApplyCommandLineArgs(tcConfigB: TcConfigBuilder, sourceFiles: string list, c
// PrintWholeAssemblyImplementation
//----------------------------------------------------------------------------
-let showTermFileCount = ref 0
+let mutable showTermFileCount = 0
let PrintWholeAssemblyImplementation g (tcConfig:TcConfig) outfile header expr =
if tcConfig.showTerms then
if tcConfig.writeTermsToFiles then
let filename = outfile + ".terms"
- let n = !showTermFileCount
- showTermFileCount := n+1
- use f = System.IO.File.CreateText (filename + "-" + string n + "-" + header)
+ use f = System.IO.File.CreateText (filename + "-" + string showTermFileCount + "-" + header)
+ showTermFileCount <- showTermFileCount + 1
Layout.outL f (Layout.squashTo 192 (DebugPrint.implFilesL g expr))
else
dprintf "\n------------------\nshowTerm: %s:\n" header
@@ -1606,11 +1615,11 @@ let PrintWholeAssemblyImplementation g (tcConfig:TcConfig) outfile header expr =
// ReportTime
//----------------------------------------------------------------------------
-let tPrev = ref None
-let nPrev = ref None
+let mutable tPrev = None
+let mutable nPrev = None
let ReportTime (tcConfig:TcConfig) descr =
- match !nPrev with
+ match nPrev with
| None -> ()
| Some prevDescr ->
if tcConfig.pause then
@@ -1651,7 +1660,7 @@ let ReportTime (tcConfig:TcConfig) descr =
let ptime = System.Diagnostics.Process.GetCurrentProcess()
let wsNow = ptime.WorkingSet64/1000000L
- match !tPrev, !nPrev with
+ match tPrev, nPrev with
| Some (timePrev, gcPrev:int []), Some prevDescr ->
let spanGC = [| for i in 0 .. maxGen -> System.GC.CollectionCount i - gcPrev.[i] |]
dprintf "TIME: %4.1f Delta: %4.1f Mem: %3d"
@@ -1662,9 +1671,9 @@ let ReportTime (tcConfig:TcConfig) descr =
prevDescr
| _ -> ()
- tPrev := Some (timeNow, gcNow)
+ tPrev <- Some (timeNow, gcNow)
- nPrev := Some descr
+ nPrev <- Some descr
//----------------------------------------------------------------------------
// OPTIMIZATION - support - addDllToOptEnv
@@ -1824,14 +1833,17 @@ let GenerateIlxCode
// by the same references. Only used for static linking.
//----------------------------------------------------------------------------
-let NormalizeAssemblyRefs (ctok, tcImports:TcImports) scoref =
+let NormalizeAssemblyRefs (ctok, ilGlobals: ILGlobals, tcImports:TcImports) scoref =
+ let normalizeAssemblyRefByName nm =
+ match tcImports.TryFindDllInfo (ctok, Range.rangeStartup, nm, lookupOnly=false) with
+ | Some dllInfo -> dllInfo.ILScopeRef
+ | None -> scoref
+
match scoref with
| ILScopeRef.Local
| ILScopeRef.Module _ -> scoref
- | ILScopeRef.Assembly aref ->
- match tcImports.TryFindDllInfo (ctok, Range.rangeStartup, aref.Name, lookupOnly=false) with
- | Some dllInfo -> dllInfo.ILScopeRef
- | None -> scoref
+ | ILScopeRef.PrimaryAssembly -> normalizeAssemblyRefByName ilGlobals.primaryAssemblyName
+ | ILScopeRef.Assembly aref -> normalizeAssemblyRefByName aref.Name
let GetGeneratedILModuleName (t:CompilerTarget) (s:string) =
// return the name of the file as a module name
diff --git a/src/fsharp/CompileOptions.fsi b/src/fsharp/CompileOptions.fsi
index f1ea7d44cd..da86aa4200 100644
--- a/src/fsharp/CompileOptions.fsi
+++ b/src/fsharp/CompileOptions.fsi
@@ -2,7 +2,9 @@
module internal FSharp.Compiler.CompileOptions
+open System
open FSharp.Compiler
+open FSharp.Compiler.AbstractIL.IL
open FSharp.Compiler.AbstractIL.Internal.Library
open FSharp.Compiler.CompileOps
open FSharp.Compiler.Tast
@@ -12,7 +14,7 @@ open FSharp.Compiler.TcGlobals
//----------------------------------------------------------------------------
// Compiler Option Parser
-//--------------------------------------------------------------------------
+//----------------------------------------------------------------------------
// For command-line options that can be suffixed with +/-
[]
@@ -84,12 +86,12 @@ val CreateIlxAssemblyGenerator : TcConfig * TcImports * TcGlobals * ConstraintSo
val GenerateIlxCode : IlxGen.IlxGenBackend * isInteractiveItExpr:bool * isInteractiveOnMono:bool * TcConfig * TypeChecker.TopAttribs * TypedAssemblyAfterOptimization * fragName:string * IlxGen.IlxAssemblyGenerator -> IlxGen.IlxGenResults
// Used during static linking
-val NormalizeAssemblyRefs : CompilationThreadToken * TcImports -> (AbstractIL.IL.ILScopeRef -> AbstractIL.IL.ILScopeRef)
+val NormalizeAssemblyRefs : CompilationThreadToken * ILGlobals * TcImports -> (AbstractIL.IL.ILScopeRef -> AbstractIL.IL.ILScopeRef)
// Miscellany
val ignoreFailureOnMono1_1_16 : (unit -> unit) -> unit
val mutable enableConsoleColoring : bool
-val DoWithColor : System.ConsoleColor -> (unit -> 'a) -> 'a
+val DoWithColor : ConsoleColor -> (unit -> 'a) -> 'a
val DoWithErrorColor : bool -> (unit -> 'a) -> 'a
val ReportTime : TcConfig -> string -> unit
val GetAbbrevFlagSet : TcConfigBuilder -> bool -> Set
diff --git a/src/fsharp/ConstraintSolver.fs b/src/fsharp/ConstraintSolver.fs
index f5aade8400..59b10f7be7 100755
--- a/src/fsharp/ConstraintSolver.fs
+++ b/src/fsharp/ConstraintSolver.fs
@@ -27,9 +27,19 @@
// can-unify predicates used in method overload resolution and trait constraint
// satisfaction.
//
+// The two main principles are:
+// 1. Ensure any solution that is found is sound (no logic is skipped),
+// 2. Because of method overloading and SRTP constraints and other constructs, processing of
+// constraints is algorithmic and must proceed in a definite, fixed order.
+// Once we start doing resolutions in a particular order we must keep doing them
+// in the same order.
+//
+// There is little use of back-tracking/undo or "retry" in the constraint solver, except in the
+// limited case ofs of SRTP solving and method overloading, and some other adhoc limited cases
+// like checking for "printf" format strings. As a result there are cases involving
+// method overloading and SRTP that the solver "can't solve". This is intentional and by-design.
//-------------------------------------------------------------------------
-
module internal FSharp.Compiler.ConstraintSolver
open Internal.Utilities.Collections
@@ -429,8 +439,39 @@ let ShowAccessDomain ad =
exception NonRigidTypar of displayEnv: DisplayEnv * string option * range * TType * TType * range
-exception LocallyAbortOperationThatFailsToResolveOverload
+/// Signal that there is still an unresolved overload in the constraint problem. The
+/// unresolved overload constraint remains in the constraint state, and we skip any
+/// further processing related to whichever overall adjustment to constraint solver state
+/// is being processed.
+///
+// NOTE: The addition of this abort+skip appears to be a mistake which has crept into F# type inference,
+// and its status is currently under review. See https://github.com/dotnet/fsharp/pull/8294 and others.
+//
+// Here is the history:
+// 1. The local abort was added as part of an attempted performance optimization https://github.com/dotnet/fsharp/pull/1650
+// This change was released in the VS2017 GA release.
+//
+// 2. However, it also impacts the logic of type inference, by skipping checking.
+// Because of this an attempt was made to revert it in https://github.com/dotnet/fsharp/pull/4173.
+//
+// Unfortunately, existing code had begun to depend on the new behaviours enabled by the
+// change, and the revert was abandoned before release in https://github.com/dotnet/fsharp/pull/4348
+//
+// Comments on soundness:
+// The use of the abort is normally sound because the SRTP constraint
+// will be subject to further processing at a later point.
+//
+// However, it seems likely that the abort may result in other processing associated
+// with an overall constraint being skipped (e.g. the processing related to subsequent elements
+// of a tuple constraint).
+exception AbortForFailedOverloadResolution
+
+/// This is used at (nearly all) entry points into the constraint solver to make sure that the
+/// AbortForFailedOverloadResolution is caught and processing continues.
+let inline TryD_IgnoreAbortForFailedOverloadResolution f1 f2 =
+ TryD f1 (function AbortForFailedOverloadResolution -> CompleteD | exn -> f2 exn)
+/// Represents a very local condition where we prefer to report errors before stripping type abbreviations.
exception LocallyAbortOperationThatLosesAbbrevs
let localAbortD = ErrorD LocallyAbortOperationThatLosesAbbrevs
@@ -835,10 +876,35 @@ and SolveAnonInfoEqualsAnonInfo (csenv: ConstraintSolverEnv) m2 (anonInfo1: Anon
(match anonInfo1.Assembly, anonInfo2.Assembly with
| ccu1, ccu2 -> if not (ccuEq ccu1 ccu2) then ErrorD (ConstraintSolverError(FSComp.SR.tcAnonRecdCcuMismatch(ccu1.AssemblyName, ccu2.AssemblyName), csenv.m,m2)) else ResultD ()
) ++ (fun () ->
+
if not (anonInfo1.SortedNames = anonInfo2.SortedNames) then
- let namesText1 = sprintf "%A" (Array.toList anonInfo1.SortedNames)
- let namesText2 = sprintf "%A" (Array.toList anonInfo2.SortedNames)
- ErrorD (ConstraintSolverError(FSComp.SR.tcAnonRecdFieldNameMismatch(namesText1, namesText2), csenv.m,m2))
+ let (|Subset|Superset|Overlap|CompletelyDifferent|) (first, second) =
+ let first = Set first
+ let second = Set second
+ let secondOnly = Set.toList (second - first)
+ let firstOnly = Set.toList (first - second)
+
+ if second.IsSubsetOf first then
+ Subset firstOnly
+ elif second.IsSupersetOf first then
+ Superset secondOnly
+ elif Set.intersect first second <> Set.empty then
+ Overlap(firstOnly, secondOnly)
+ else
+ CompletelyDifferent(Seq.toList first)
+
+ let message =
+ match anonInfo1.SortedNames, anonInfo2.SortedNames with
+ | Subset missingFields ->
+ FSComp.SR.tcAnonRecdFieldNameSubset(string missingFields)
+ | Superset extraFields ->
+ FSComp.SR.tcAnonRecdFieldNameSuperset(string extraFields)
+ | Overlap (missingFields, extraFields) ->
+ FSComp.SR.tcAnonRecdFieldNameMismatch(string missingFields, string extraFields)
+ | CompletelyDifferent missingFields ->
+ FSComp.SR.tcAnonRecdFieldNameDifferent(string missingFields)
+
+ ErrorD (ConstraintSolverError(message, csenv.m,m2))
else
ResultD ())
@@ -904,8 +970,9 @@ and private SolveTypeEqualsTypeKeepAbbrevsWithCxsln csenv ndeep m2 trace cxsln t
// Back out of expansions of type abbreviations to give improved error messages.
// Note: any "normalization" of equations on type variables must respect the trace parameter
TryD (fun () -> SolveTypeEqualsType csenv ndeep m2 trace cxsln ty1 ty2)
- (function LocallyAbortOperationThatLosesAbbrevs -> ErrorD(ConstraintSolverTypesNotInEqualityRelation(csenv.DisplayEnv, ty1, ty2, csenv.m, m2, csenv.eContextInfo))
- | err -> ErrorD err)
+ (function
+ | LocallyAbortOperationThatLosesAbbrevs -> ErrorD(ConstraintSolverTypesNotInEqualityRelation(csenv.DisplayEnv, ty1, ty2, csenv.m, m2, csenv.eContextInfo))
+ | err -> ErrorD err)
and SolveTypeEqualsTypeEqns csenv ndeep m2 trace cxsln origl1 origl2 =
match origl1, origl2 with
@@ -1034,8 +1101,9 @@ and SolveTypeSubsumesType (csenv: ConstraintSolverEnv) ndeep m2 (trace: Optional
and SolveTypeSubsumesTypeKeepAbbrevs csenv ndeep m2 trace cxsln ty1 ty2 =
let denv = csenv.DisplayEnv
TryD (fun () -> SolveTypeSubsumesType csenv ndeep m2 trace cxsln ty1 ty2)
- (function LocallyAbortOperationThatLosesAbbrevs -> ErrorD(ConstraintSolverTypesNotInSubsumptionRelation(denv, ty1, ty2, csenv.m, m2))
- | err -> ErrorD err)
+ (function
+ | LocallyAbortOperationThatLosesAbbrevs -> ErrorD(ConstraintSolverTypesNotInSubsumptionRelation(denv, ty1, ty2, csenv.m, m2))
+ | err -> ErrorD err)
//-------------------------------------------------------------------------
// Solve and record non-equality constraints
@@ -1426,7 +1494,9 @@ and SolveMemberConstraint (csenv: ConstraintSolverEnv) ignoreUnresolvedOverload
Some(CalledMeth(csenv.InfoReader, None, false, FreshenMethInfo, m, AccessibleFromEverywhere, minfo, minst, minst, None, objtys, [(callerArgs, [])], false, false, None)))
let methOverloadResult, errors =
- trace.CollectThenUndoOrCommit (fun (a, _) -> Option.isSome a) (fun trace -> ResolveOverloading csenv (WithTrace trace) nm ndeep (Some traitInfo) (0, 0) AccessibleFromEverywhere calledMethGroup false (Some rty))
+ trace.CollectThenUndoOrCommit
+ (fun (a, _) -> Option.isSome a)
+ (fun trace -> ResolveOverloading csenv (WithTrace trace) nm ndeep (Some traitInfo) (0, 0) AccessibleFromEverywhere calledMethGroup false (Some rty))
match anonRecdPropSearch, recdPropSearch, methOverloadResult with
| Some (anonInfo, tinst, i), None, None ->
@@ -1472,7 +1542,7 @@ and SolveMemberConstraint (csenv: ConstraintSolverEnv) ignoreUnresolvedOverload
match errors with
| ErrorResult (_, UnresolvedOverloading _) when not ignoreUnresolvedOverload && (not (nm = "op_Explicit" || nm = "op_Implicit")) ->
- return! ErrorD LocallyAbortOperationThatFailsToResolveOverload
+ return! ErrorD AbortForFailedOverloadResolution
| _ ->
return TTraitUnsolved
}
@@ -1710,9 +1780,9 @@ and AddConstraint (csenv: ConstraintSolverEnv) ndeep m2 trace tp newConstraint
// This works because the types on the r.h.s. of subtype
// constraints are head-types and so any further inferences are equational.
let collect ty =
- let res = ref []
- IterateEntireHierarchyOfType (fun x -> res := x :: !res) g amap m AllowMultiIntfInstantiations.No ty
- List.rev !res
+ let mutable res = []
+ IterateEntireHierarchyOfType (fun x -> res <- x :: res) g amap m AllowMultiIntfInstantiations.No ty
+ List.rev res
let parents1 = collect ty1
let parents2 = collect ty2
trackErrors {
@@ -2158,25 +2228,23 @@ and CanMemberSigsMatchUpToCheck
// "ty2 casts to ty1"
// "a value of type ty2 can be used where a value of type ty1 is expected"
and private SolveTypeSubsumesTypeWithReport (csenv: ConstraintSolverEnv) ndeep m trace cxsln ty1 ty2 =
- TryD (fun () -> SolveTypeSubsumesTypeKeepAbbrevs csenv ndeep m trace cxsln ty1 ty2)
- (function
- | LocallyAbortOperationThatFailsToResolveOverload -> CompleteD
- | res ->
- match csenv.eContextInfo with
- | ContextInfo.RuntimeTypeTest isOperator ->
- // test if we can cast other way around
- match CollectThenUndo (fun newTrace -> SolveTypeSubsumesTypeKeepAbbrevs csenv ndeep m (OptionalTrace.WithTrace newTrace) cxsln ty2 ty1) with
- | OkResult _ -> ErrorD (ErrorsFromAddingSubsumptionConstraint(csenv.g, csenv.DisplayEnv, ty1, ty2, res, ContextInfo.DowncastUsedInsteadOfUpcast isOperator, m))
- | _ -> ErrorD (ErrorsFromAddingSubsumptionConstraint(csenv.g, csenv.DisplayEnv, ty1, ty2, res, ContextInfo.NoContext, m))
- | _ -> ErrorD (ErrorsFromAddingSubsumptionConstraint(csenv.g, csenv.DisplayEnv, ty1, ty2, res, csenv.eContextInfo, m)))
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () -> SolveTypeSubsumesTypeKeepAbbrevs csenv ndeep m trace cxsln ty1 ty2)
+ (fun res ->
+ match csenv.eContextInfo with
+ | ContextInfo.RuntimeTypeTest isOperator ->
+ // test if we can cast other way around
+ match CollectThenUndo (fun newTrace -> SolveTypeSubsumesTypeKeepAbbrevs csenv ndeep m (OptionalTrace.WithTrace newTrace) cxsln ty2 ty1) with
+ | OkResult _ -> ErrorD (ErrorsFromAddingSubsumptionConstraint(csenv.g, csenv.DisplayEnv, ty1, ty2, res, ContextInfo.DowncastUsedInsteadOfUpcast isOperator, m))
+ | _ -> ErrorD (ErrorsFromAddingSubsumptionConstraint(csenv.g, csenv.DisplayEnv, ty1, ty2, res, ContextInfo.NoContext, m))
+ | _ -> ErrorD (ErrorsFromAddingSubsumptionConstraint(csenv.g, csenv.DisplayEnv, ty1, ty2, res, csenv.eContextInfo, m)))
// ty1: actual
// ty2: expected
and private SolveTypeEqualsTypeWithReport (csenv: ConstraintSolverEnv) ndeep m trace cxsln actual expected =
- TryD (fun () -> SolveTypeEqualsTypeKeepAbbrevsWithCxsln csenv ndeep m trace cxsln actual expected)
- (function
- | LocallyAbortOperationThatFailsToResolveOverload -> CompleteD
- | res -> ErrorD (ErrorFromAddingTypeEquation(csenv.g, csenv.DisplayEnv, actual, expected, res, m)))
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () -> SolveTypeEqualsTypeKeepAbbrevsWithCxsln csenv ndeep m trace cxsln actual expected)
+ (fun res -> ErrorD (ErrorFromAddingTypeEquation(csenv.g, csenv.DisplayEnv, actual, expected, res, m)))
and ArgsMustSubsumeOrConvert
(csenv: ConstraintSolverEnv)
@@ -2652,16 +2720,22 @@ and ResolveOverloading
| None ->
None, errors
+let ResolveOverloadingForCall denv css m methodName ndeep cx callerArgCounts ad calledMethGroup permitOptArgs reqdRetTyOpt =
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ ResolveOverloading csenv NoTrace methodName ndeep cx callerArgCounts ad calledMethGroup permitOptArgs reqdRetTyOpt
/// This is used before analyzing the types of arguments in a single overload resolution
let UnifyUniqueOverloading
- (csenv: ConstraintSolverEnv)
+ denv
+ css
+ m
callerArgCounts
methodName
ad
(calledMethGroup: CalledMeth list)
reqdRetTy // The expected return type, if known
=
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
let m = csenv.m
// See what candidates we have based on name and arity
let candidates = calledMethGroup |> List.filter (fun cmeth -> cmeth.IsCandidate(m, ad))
@@ -2691,15 +2765,17 @@ let UnifyUniqueOverloading
| _ ->
ResultD false
-let EliminateConstraintsForGeneralizedTypars csenv (trace: OptionalTrace) (generalizedTypars: Typars) =
- // Remove the global constraints where this type variable appears in the support of the constraint
- generalizedTypars
- |> List.iter (fun tp ->
+/// Remove the global constraints where these type variables appear in the support of the constraint
+let EliminateConstraintsForGeneralizedTypars denv css m (trace: OptionalTrace) (generalizedTypars: Typars) =
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ for tp in generalizedTypars do
let tpn = tp.Stamp
let cxst = csenv.SolverState.ExtraCxs
let cxs = cxst.FindAll tpn
- cxs |> List.iter (fun cx -> trace.Exec (fun () -> cxst.Remove tpn) (fun () -> (csenv.SolverState.ExtraCxs.Add (tpn, cx))))
- )
+ for cx in cxs do
+ trace.Exec
+ (fun () -> cxst.Remove tpn)
+ (fun () -> (csenv.SolverState.ExtraCxs.Add (tpn, cx)))
//-------------------------------------------------------------------------
@@ -2710,7 +2786,8 @@ let EliminateConstraintsForGeneralizedTypars csenv (trace: OptionalTrace) (gener
//-------------------------------------------------------------------------
let AddCxTypeEqualsType contextInfo denv css m actual expected =
- SolveTypeEqualsTypeWithReport (MakeConstraintSolverEnv contextInfo css m denv) 0 m NoTrace None actual expected
+ let csenv = MakeConstraintSolverEnv contextInfo css m denv
+ SolveTypeEqualsTypeWithReport csenv 0 m NoTrace None actual expected
|> RaiseOperationResult
let UndoIfFailed f =
@@ -2745,17 +2822,23 @@ let UndoIfFailedOrWarnings f =
false
let AddCxTypeEqualsTypeUndoIfFailed denv css m ty1 ty2 =
- UndoIfFailed (fun trace -> SolveTypeEqualsTypeKeepAbbrevs (MakeConstraintSolverEnv ContextInfo.NoContext css m denv) 0 m (WithTrace trace) ty1 ty2)
+ UndoIfFailed (fun trace ->
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ SolveTypeEqualsTypeKeepAbbrevs csenv 0 m (WithTrace trace) ty1 ty2)
let AddCxTypeEqualsTypeUndoIfFailedOrWarnings denv css m ty1 ty2 =
- UndoIfFailedOrWarnings (fun trace -> SolveTypeEqualsTypeKeepAbbrevs (MakeConstraintSolverEnv ContextInfo.NoContext css m denv) 0 m (WithTrace trace) ty1 ty2)
+ UndoIfFailedOrWarnings (fun trace ->
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ SolveTypeEqualsTypeKeepAbbrevs csenv 0 m (WithTrace trace) ty1 ty2)
let AddCxTypeEqualsTypeMatchingOnlyUndoIfFailed denv css m ty1 ty2 =
let csenv = { MakeConstraintSolverEnv ContextInfo.NoContext css m denv with MatchingOnly = true }
UndoIfFailed (fun trace -> SolveTypeEqualsTypeKeepAbbrevs csenv 0 m (WithTrace trace) ty1 ty2)
let AddCxTypeMustSubsumeTypeUndoIfFailed denv css m ty1 ty2 =
- UndoIfFailed (fun trace -> SolveTypeSubsumesTypeKeepAbbrevs (MakeConstraintSolverEnv ContextInfo.NoContext css m denv) 0 m (WithTrace trace) None ty1 ty2)
+ UndoIfFailed (fun trace ->
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ SolveTypeSubsumesTypeKeepAbbrevs csenv 0 m (WithTrace trace) None ty1 ty2)
let AddCxTypeMustSubsumeTypeMatchingOnlyUndoIfFailed denv css m ty1 ty2 =
let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
@@ -2763,64 +2846,114 @@ let AddCxTypeMustSubsumeTypeMatchingOnlyUndoIfFailed denv css m ty1 ty2 =
UndoIfFailed (fun trace -> SolveTypeSubsumesTypeKeepAbbrevs csenv 0 m (WithTrace trace) None ty1 ty2)
let AddCxTypeMustSubsumeType contextInfo denv css m trace ty1 ty2 =
- SolveTypeSubsumesTypeWithReport (MakeConstraintSolverEnv contextInfo css m denv) 0 m trace None ty1 ty2
+ let csenv = MakeConstraintSolverEnv contextInfo css m denv
+ SolveTypeSubsumesTypeWithReport csenv 0 m trace None ty1 ty2
|> RaiseOperationResult
let AddCxMethodConstraint denv css m trace traitInfo =
- TryD (fun () ->
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () ->
trackErrors {
do!
- SolveMemberConstraint (MakeConstraintSolverEnv ContextInfo.NoContext css m denv) true false 0 m trace traitInfo
+ SolveMemberConstraint csenv true false 0 m trace traitInfo
|> OperationResult.ignore
})
- (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
+ (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
|> RaiseOperationResult
let AddCxTypeMustSupportNull denv css m trace ty =
- TryD (fun () -> SolveTypeSupportsNull (MakeConstraintSolverEnv ContextInfo.NoContext css m denv) 0 m trace ty)
- (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () -> SolveTypeSupportsNull csenv 0 m trace ty)
+ (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
|> RaiseOperationResult
let AddCxTypeMustSupportComparison denv css m trace ty =
- TryD (fun () -> SolveTypeSupportsComparison (MakeConstraintSolverEnv ContextInfo.NoContext css m denv) 0 m trace ty)
- (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () -> SolveTypeSupportsComparison csenv 0 m trace ty)
+ (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
|> RaiseOperationResult
let AddCxTypeMustSupportEquality denv css m trace ty =
- TryD (fun () -> SolveTypeSupportsEquality (MakeConstraintSolverEnv ContextInfo.NoContext css m denv) 0 m trace ty)
- (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () -> SolveTypeSupportsEquality csenv 0 m trace ty)
+ (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
|> RaiseOperationResult
let AddCxTypeMustSupportDefaultCtor denv css m trace ty =
- TryD (fun () -> SolveTypeRequiresDefaultConstructor (MakeConstraintSolverEnv ContextInfo.NoContext css m denv) 0 m trace ty)
- (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () -> SolveTypeRequiresDefaultConstructor csenv 0 m trace ty)
+ (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
|> RaiseOperationResult
let AddCxTypeIsReferenceType denv css m trace ty =
- TryD (fun () -> SolveTypeIsReferenceType (MakeConstraintSolverEnv ContextInfo.NoContext css m denv) 0 m trace ty)
- (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () -> SolveTypeIsReferenceType csenv 0 m trace ty)
+ (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
|> RaiseOperationResult
let AddCxTypeIsValueType denv css m trace ty =
- TryD (fun () -> SolveTypeIsNonNullableValueType (MakeConstraintSolverEnv ContextInfo.NoContext css m denv) 0 m trace ty)
- (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () -> SolveTypeIsNonNullableValueType csenv 0 m trace ty)
+ (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
|> RaiseOperationResult
let AddCxTypeIsUnmanaged denv css m trace ty =
- TryD (fun () -> SolveTypeIsUnmanaged (MakeConstraintSolverEnv ContextInfo.NoContext css m denv) 0 m trace ty)
- (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () -> SolveTypeIsUnmanaged csenv 0 m trace ty)
+ (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
|> RaiseOperationResult
let AddCxTypeIsEnum denv css m trace ty underlying =
- TryD (fun () -> SolveTypeIsEnum (MakeConstraintSolverEnv ContextInfo.NoContext css m denv) 0 m trace ty underlying)
- (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () -> SolveTypeIsEnum csenv 0 m trace ty underlying)
+ (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
|> RaiseOperationResult
let AddCxTypeIsDelegate denv css m trace ty aty bty =
- TryD (fun () -> SolveTypeIsDelegate (MakeConstraintSolverEnv ContextInfo.NoContext css m denv) 0 m trace ty aty bty)
- (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () -> SolveTypeIsDelegate csenv 0 m trace ty aty bty)
+ (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
+ |> RaiseOperationResult
+
+let AddCxTyparDefaultsTo denv css m ctxtInfo tp ridx ty =
+ let csenv = MakeConstraintSolverEnv ctxtInfo css m denv
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () -> AddConstraint csenv 0 m NoTrace tp (TyparConstraint.DefaultsTo(ridx, ty, m)))
+ (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
|> RaiseOperationResult
+let SolveTypeAsError denv css m ty =
+ let ty2 = NewErrorType ()
+ assert((destTyparTy css.g ty2).IsFromError)
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ SolveTypeEqualsTypeKeepAbbrevs csenv 0 m NoTrace ty ty2 |> ignore
+
+let ApplyTyparDefaultAtPriority denv css priority (tp: Typar) =
+ tp.Constraints |> List.iter (fun tpc ->
+ match tpc with
+ | TyparConstraint.DefaultsTo(priority2, ty2, m) when priority2 = priority ->
+ let ty1 = mkTyparTy tp
+ if not tp.IsSolved && not (typeEquiv css.g ty1 ty2) then
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () ->
+ SolveTyparEqualsType csenv 0 m NoTrace ty1 ty2)
+ (fun res ->
+ SolveTypeAsError denv css m ty1
+ ErrorD(ErrorFromApplyingDefault(css.g, denv, tp, ty2, res, m)))
+ |> RaiseOperationResult
+ | _ -> ())
+
let CodegenWitnessThatTypeSupportsTraitConstraint tcVal g amap m (traitInfo: TraitConstraintInfo) argExprs = trackErrors {
let css =
{ g = g
@@ -2927,24 +3060,34 @@ let CodegenWitnessThatTypeSupportsTraitConstraint tcVal g amap m (traitInfo: Tra
| Choice5Of5 () -> ResultD None
}
-
let ChooseTyparSolutionAndSolve css denv tp =
let g = css.g
let amap = css.amap
let max, m = ChooseTyparSolutionAndRange g amap tp
let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
- TryD (fun () -> SolveTyparEqualsType csenv 0 m NoTrace (mkTyparTy tp) max)
- (fun err -> ErrorD(ErrorFromApplyingDefault(g, denv, tp, max, err, m)))
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () -> SolveTyparEqualsType csenv 0 m NoTrace (mkTyparTy tp) max)
+ (fun err -> ErrorD(ErrorFromApplyingDefault(g, denv, tp, max, err, m)))
|> RaiseOperationResult
-
let CheckDeclaredTypars denv css m typars1 typars2 =
- TryD (fun () ->
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () ->
CollectThenUndo (fun trace ->
- SolveTypeEqualsTypeEqns (MakeConstraintSolverEnv ContextInfo.NoContext css m denv) 0 m (WithTrace trace) None
+ SolveTypeEqualsTypeEqns csenv 0 m (WithTrace trace) None
(List.map mkTyparTy typars1)
(List.map mkTyparTy typars2)))
- (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
+ (fun res ->
+ ErrorD (ErrorFromAddingConstraint(denv, res, m)))
+ |> RaiseOperationResult
+
+let CanonicalizePartialInferenceProblem css denv m tps =
+ // Canonicalize constraints prior to generalization
+ let csenv = MakeConstraintSolverEnv ContextInfo.NoContext css m denv
+ TryD_IgnoreAbortForFailedOverloadResolution
+ (fun () -> CanonicalizeRelevantMemberConstraints csenv 0 NoTrace tps)
+ (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
|> RaiseOperationResult
/// An approximation used during name resolution for intellisense to eliminate extension members which will not
diff --git a/src/fsharp/ConstraintSolver.fsi b/src/fsharp/ConstraintSolver.fsi
index 1fce009f61..8fdaabf82c 100755
--- a/src/fsharp/ConstraintSolver.fsi
+++ b/src/fsharp/ConstraintSolver.fsi
@@ -17,64 +17,78 @@ open FSharp.Compiler.MethodCalls
open FSharp.Compiler.InfoReader
/// Create a type variable representing the use of a "_" in F# code
-val NewAnonTypar : TyparKind * range * TyparRigidity * TyparStaticReq * TyparDynamicReq -> Typar
+val NewAnonTypar: TyparKind * range * TyparRigidity * TyparStaticReq * TyparDynamicReq -> Typar
/// Create an inference type variable
-val NewInferenceType : unit -> TType
+val NewInferenceType: unit -> TType
/// Create an inference type variable for the kind of a byref pointer
-val NewByRefKindInferenceType : TcGlobals -> range -> TType
+val NewByRefKindInferenceType: TcGlobals -> range -> TType
/// Create an inference type variable representing an error condition when checking an expression
-val NewErrorType : unit -> TType
+val NewErrorType: unit -> TType
/// Create an inference type variable representing an error condition when checking a measure
-val NewErrorMeasure : unit -> Measure
+val NewErrorMeasure: unit -> Measure
/// Create a list of inference type variables, one for each element in the input list
-val NewInferenceTypes : 'a list -> TType list
+val NewInferenceTypes: 'a list -> TType list
/// Given a set of formal type parameters and their constraints, make new inference type variables for
/// each and ensure that the constraints on the new type variables are adjusted to refer to these.
-val FreshenAndFixupTypars : range -> TyparRigidity -> Typars -> TType list -> Typars -> Typars * TyparInst * TType list
+val FreshenAndFixupTypars: range -> TyparRigidity -> Typars -> TType list -> Typars -> Typars * TyparInst * TType list
-val FreshenTypeInst : range -> Typars -> Typars * TyparInst * TType list
+val FreshenTypeInst: range -> Typars -> Typars * TyparInst * TType list
-val FreshenTypars : range -> Typars -> TType list
+val FreshenTypars: range -> Typars -> TType list
-val FreshenMethInfo : range -> MethInfo -> TType list
+val FreshenMethInfo: range -> MethInfo -> TType list
[]
/// Information about the context of a type equation.
type ContextInfo =
-/// No context was given.
-| NoContext
-/// The type equation comes from an IF expression.
-| IfExpression of range
-/// The type equation comes from an omitted else branch.
-| OmittedElseBranch of range
-/// The type equation comes from a type check of the result of an else branch.
-| ElseBranchResult of range
-/// The type equation comes from the verification of record fields.
-| RecordFields
-/// The type equation comes from the verification of a tuple in record fields.
-| TupleInRecordFields
-/// The type equation comes from a list or array constructor
-| CollectionElement of bool * range
-/// The type equation comes from a return in a computation expression.
-| ReturnInComputationExpression
-/// The type equation comes from a yield in a computation expression.
-| YieldInComputationExpression
-/// The type equation comes from a runtime type test.
-| RuntimeTypeTest of bool
-/// The type equation comes from an downcast where a upcast could be used.
-| DowncastUsedInsteadOfUpcast of bool
-/// The type equation comes from a return type of a pattern match clause (not the first clause).
-| FollowingPatternMatchClause of range
-/// The type equation comes from a pattern match guard.
-| PatternMatchGuard of range
-/// The type equation comes from a sequence expression.
-| SequenceExpression of TType
+
+ /// No context was given.
+ | NoContext
+
+ /// The type equation comes from an IF expression.
+ | IfExpression of range
+
+ /// The type equation comes from an omitted else branch.
+ | OmittedElseBranch of range
+
+ /// The type equation comes from a type check of the result of an else branch.
+ | ElseBranchResult of range
+
+ /// The type equation comes from the verification of record fields.
+ | RecordFields
+
+ /// The type equation comes from the verification of a tuple in record fields.
+ | TupleInRecordFields
+
+ /// The type equation comes from a list or array constructor
+ | CollectionElement of bool * range
+
+ /// The type equation comes from a return in a computation expression.
+ | ReturnInComputationExpression
+
+ /// The type equation comes from a yield in a computation expression.
+ | YieldInComputationExpression
+
+ /// The type equation comes from a runtime type test.
+ | RuntimeTypeTest of bool
+
+ /// The type equation comes from an downcast where a upcast could be used.
+ | DowncastUsedInsteadOfUpcast of bool
+
+ /// The type equation comes from a return type of a pattern match clause (not the first clause).
+ | FollowingPatternMatchClause of range
+
+ /// The type equation comes from a pattern match guard.
+ | PatternMatchGuard of range
+
+ /// The type equation comes from a sequence expression.
+ | SequenceExpression of TType
exception ConstraintSolverTupleDiffLengths of displayEnv: DisplayEnv * TType list * TType list * range * range
exception ConstraintSolverInfiniteTypes of displayEnv: DisplayEnv * contextInfo: ContextInfo * TType * TType * range * range
@@ -100,50 +114,70 @@ type TcValF = (ValRef -> ValUseFlag -> TType list -> range -> Expr * TType)
type ConstraintSolverState =
static member New: TcGlobals * Import.ImportMap * InfoReader * TcValF -> ConstraintSolverState
-type ConstraintSolverEnv
-
-val BakedInTraitConstraintNames : Set
-
-val MakeConstraintSolverEnv : ContextInfo -> ConstraintSolverState -> range -> DisplayEnv -> ConstraintSolverEnv
+val BakedInTraitConstraintNames: Set
[]
type Trace
type OptionalTrace =
-| NoTrace
-| WithTrace of Trace
-
-val SimplifyMeasuresInTypeScheme : TcGlobals -> bool -> Typars -> TType -> TyparConstraint list -> Typars
-val SolveTyparEqualsType : ConstraintSolverEnv -> int -> range -> OptionalTrace -> TType -> TType -> OperationResult
-val SolveTypeEqualsTypeKeepAbbrevs : ConstraintSolverEnv -> int -> range -> OptionalTrace -> TType -> TType -> OperationResult
-val CanonicalizeRelevantMemberConstraints : ConstraintSolverEnv -> int -> OptionalTrace -> Typars -> OperationResult
-val ResolveOverloading : ConstraintSolverEnv -> OptionalTrace -> string -> ndeep: int -> TraitConstraintInfo option -> int * int -> AccessorDomain -> CalledMeth list -> bool -> TType option -> CalledMeth option * OperationResult
-val UnifyUniqueOverloading : ConstraintSolverEnv -> int * int -> string -> AccessorDomain -> CalledMeth list -> TType -> OperationResult
-val EliminateConstraintsForGeneralizedTypars : ConstraintSolverEnv -> OptionalTrace -> Typars -> unit
-
-val CheckDeclaredTypars : DisplayEnv -> ConstraintSolverState -> range -> Typars -> Typars -> unit
-
-val AddConstraint : ConstraintSolverEnv -> int -> Range.range -> OptionalTrace -> Typar -> TyparConstraint -> OperationResult
-val AddCxTypeEqualsType : ContextInfo -> DisplayEnv -> ConstraintSolverState -> range -> TType -> TType -> unit
-val AddCxTypeEqualsTypeUndoIfFailed : DisplayEnv -> ConstraintSolverState -> range -> TType -> TType -> bool
-val AddCxTypeEqualsTypeUndoIfFailedOrWarnings : DisplayEnv -> ConstraintSolverState -> range -> TType -> TType -> bool
-val AddCxTypeEqualsTypeMatchingOnlyUndoIfFailed : DisplayEnv -> ConstraintSolverState -> range -> TType -> TType -> bool
-val AddCxTypeMustSubsumeType : ContextInfo -> DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> TType -> unit
-val AddCxTypeMustSubsumeTypeUndoIfFailed : DisplayEnv -> ConstraintSolverState -> range -> TType -> TType -> bool
-val AddCxTypeMustSubsumeTypeMatchingOnlyUndoIfFailed : DisplayEnv -> ConstraintSolverState -> range -> TType -> TType -> bool
-val AddCxMethodConstraint : DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TraitConstraintInfo -> unit
-val AddCxTypeMustSupportNull : DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> unit
-val AddCxTypeMustSupportComparison : DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> unit
-val AddCxTypeMustSupportEquality : DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> unit
-val AddCxTypeMustSupportDefaultCtor : DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> unit
-val AddCxTypeIsReferenceType : DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> unit
-val AddCxTypeIsValueType : DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> unit
-val AddCxTypeIsUnmanaged : DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> unit
-val AddCxTypeIsEnum : DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> TType -> unit
-val AddCxTypeIsDelegate : DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> TType -> TType -> unit
-
-val CodegenWitnessThatTypeSupportsTraitConstraint : TcValF -> TcGlobals -> ImportMap -> range -> TraitConstraintInfo -> Expr list -> OperationResult
-
-val ChooseTyparSolutionAndSolve : ConstraintSolverState -> DisplayEnv -> Typar -> unit
-
-val IsApplicableMethApprox : TcGlobals -> ImportMap -> range -> MethInfo -> TType -> bool
+ | NoTrace
+ | WithTrace of Trace
+
+val SimplifyMeasuresInTypeScheme: TcGlobals -> bool -> Typars -> TType -> TyparConstraint list -> Typars
+
+val ResolveOverloadingForCall: DisplayEnv -> ConstraintSolverState -> range -> string -> ndeep: int -> TraitConstraintInfo option -> int * int -> AccessorDomain -> CalledMeth list -> bool -> TType option -> CalledMeth option * OperationResult
+
+val UnifyUniqueOverloading: DisplayEnv -> ConstraintSolverState -> range -> int * int -> string -> AccessorDomain -> CalledMeth list -> TType -> OperationResult
+
+/// Remove the global constraints where these type variables appear in the support of the constraint
+val EliminateConstraintsForGeneralizedTypars: DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> Typars -> unit
+
+val CheckDeclaredTypars: DisplayEnv -> ConstraintSolverState -> range -> Typars -> Typars -> unit
+
+val AddCxTypeEqualsType: ContextInfo -> DisplayEnv -> ConstraintSolverState -> range -> TType -> TType -> unit
+
+val AddCxTypeEqualsTypeUndoIfFailed: DisplayEnv -> ConstraintSolverState -> range -> TType -> TType -> bool
+
+val AddCxTypeEqualsTypeUndoIfFailedOrWarnings: DisplayEnv -> ConstraintSolverState -> range -> TType -> TType -> bool
+
+val AddCxTypeEqualsTypeMatchingOnlyUndoIfFailed: DisplayEnv -> ConstraintSolverState -> range -> TType -> TType -> bool
+
+val AddCxTypeMustSubsumeType: ContextInfo -> DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> TType -> unit
+
+val AddCxTypeMustSubsumeTypeUndoIfFailed: DisplayEnv -> ConstraintSolverState -> range -> TType -> TType -> bool
+
+val AddCxTypeMustSubsumeTypeMatchingOnlyUndoIfFailed: DisplayEnv -> ConstraintSolverState -> range -> TType -> TType -> bool
+
+val AddCxMethodConstraint: DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TraitConstraintInfo -> unit
+
+val AddCxTypeMustSupportNull: DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> unit
+
+val AddCxTypeMustSupportComparison: DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> unit
+
+val AddCxTypeMustSupportEquality: DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> unit
+
+val AddCxTypeMustSupportDefaultCtor: DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> unit
+
+val AddCxTypeIsReferenceType: DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> unit
+
+val AddCxTypeIsValueType: DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> unit
+
+val AddCxTypeIsUnmanaged: DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> unit
+
+val AddCxTypeIsEnum: DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> TType -> unit
+
+val AddCxTypeIsDelegate: DisplayEnv -> ConstraintSolverState -> range -> OptionalTrace -> TType -> TType -> TType -> unit
+
+val AddCxTyparDefaultsTo: DisplayEnv -> ConstraintSolverState -> range -> ContextInfo -> Typar -> int -> TType -> unit
+
+val SolveTypeAsError: DisplayEnv -> ConstraintSolverState -> range -> TType -> unit
+
+val ApplyTyparDefaultAtPriority: DisplayEnv -> ConstraintSolverState -> priority: int -> Typar -> unit
+
+val CodegenWitnessThatTypeSupportsTraitConstraint: TcValF -> TcGlobals -> ImportMap -> range -> TraitConstraintInfo -> Expr list -> OperationResult
+
+val ChooseTyparSolutionAndSolve: ConstraintSolverState -> DisplayEnv -> Typar -> unit
+
+val IsApplicableMethApprox: TcGlobals -> ImportMap -> range -> MethInfo -> TType -> bool
+
+val CanonicalizePartialInferenceProblem: ConstraintSolverState -> DisplayEnv -> range -> Typars -> unit
\ No newline at end of file
diff --git a/src/fsharp/DependencyManager.Integration.fs b/src/fsharp/DependencyManager.Integration.fs
new file mode 100644
index 0000000000..9f1ecd35f3
--- /dev/null
+++ b/src/fsharp/DependencyManager.Integration.fs
@@ -0,0 +1,200 @@
+// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+/// Helper members to integrate DependencyManagers into F# codebase
+module internal FSharp.Compiler.DependencyManagerIntegration
+
+open System
+open System.IO
+open System.Reflection
+open FSharp.Compiler.DotNetFrameworkDependencies
+open FSharp.Compiler.ErrorLogger
+open Internal.Utilities.FSharpEnvironment
+
+// Contract strings
+let dependencyManagerPattern = "*DependencyManager*.dll"
+let dependencyManagerAttributeName= "DependencyManagerAttribute"
+let resolveDependenciesMethodName = "ResolveDependencies"
+let namePropertyName = "Name"
+let keyPropertyName = "Key"
+
+module ReflectionHelper =
+ let assemblyHasAttribute (theAssembly: Assembly) attributeName =
+ try
+ CustomAttributeExtensions.GetCustomAttributes(theAssembly)
+ |> Seq.exists (fun a -> a.GetType().Name = attributeName)
+ with | _ -> false
+
+ let getAttributeNamed (theType: Type) attributeName =
+ try
+ theType.GetTypeInfo().GetCustomAttributes false
+ |> Seq.tryFind (fun a -> a.GetType().Name = attributeName)
+ with | _ -> None
+
+ let getInstanceProperty<'treturn> (theType: Type) propertyName =
+ try
+ let property = theType.GetProperty(propertyName, typeof<'treturn>)
+ if isNull property then
+ None
+ elif not (property.GetGetMethod().IsStatic)
+ && property.GetIndexParameters() = Array.empty
+ then
+ Some property
+ else
+ None
+ with | _ -> None
+
+ let getInstanceMethod<'treturn> (theType: Type) (parameterTypes: Type array) methodName =
+ try
+ let theMethod = theType.GetMethod(methodName, parameterTypes)
+ if isNull theMethod then
+ None
+ else
+ Some theMethod
+ with | _ -> None
+
+ let stripTieWrapper (e:Exception) =
+ match e with
+ | :? TargetInvocationException as e->
+ e.InnerException
+ | _ -> e
+
+(* Shape of Dependency Manager contract, resolved using reflection *)
+type internal IDependencyManagerProvider =
+ abstract Name: string
+ abstract Key: string
+ abstract ResolveDependencies: scriptDir: string * mainScriptName: string * scriptName: string * packageManagerTextLines: string seq * tfm: string -> bool * string list * string list
+ abstract DependencyAdding: IEvent
+ abstract DependencyAdded: IEvent
+ abstract DependencyFailed: IEvent
+
+[]
+type ReferenceType =
+| RegisteredDependencyManager of IDependencyManagerProvider
+| Library of string
+| UnknownType
+
+type ReflectionDependencyManagerProvider(theType: Type, nameProperty: PropertyInfo, keyProperty: PropertyInfo, resolveDeps: MethodInfo, outputDir: string option) =
+ let instance = Activator.CreateInstance(theType, [|outputDir :> obj|])
+ let nameProperty = nameProperty.GetValue >> string
+ let keyProperty = keyProperty.GetValue >> string
+
+ let dependencyAddingEvent = Event<_>()
+ let dependencyAddedEvent = Event<_>()
+ let dependencyFailedEvent = Event<_>()
+
+ static member InstanceMaker (theType: System.Type, outputDir: string option) =
+ match ReflectionHelper.getAttributeNamed theType dependencyManagerAttributeName,
+ ReflectionHelper.getInstanceProperty theType namePropertyName,
+ ReflectionHelper.getInstanceProperty theType keyPropertyName,
+ ReflectionHelper.getInstanceMethod theType [| typeof; typeof; typeof; typeof; typeof |] resolveDependenciesMethodName
+ with
+ | None, _, _, _ -> None
+ | _, None, _, _ -> None
+ | _, _, None, _ -> None
+ | _, _, _, None -> None
+ | Some _, Some nameProperty, Some keyProperty, Some resolveDependenciesMethod ->
+ Some (fun () -> new ReflectionDependencyManagerProvider(theType, nameProperty, keyProperty, resolveDependenciesMethod, outputDir) :> IDependencyManagerProvider)
+
+ interface IDependencyManagerProvider with
+ member __.Name = instance |> nameProperty
+ member __.Key = instance |> keyProperty
+ member this.ResolveDependencies(scriptDir, mainScriptName, scriptName, packageManagerTextLines, tfm) =
+ let key = (this :> IDependencyManagerProvider).Key
+ let triggerEvent (evt: Event) =
+ for prLine in packageManagerTextLines do
+ evt.Trigger(key, prLine)
+ triggerEvent dependencyAddingEvent
+ let arguments = [| box scriptDir; box mainScriptName; box scriptName; box packageManagerTextLines; box tfm |]
+ let succeeded, generatedScripts, additionalIncludeFolders = resolveDeps.Invoke(instance, arguments) :?> _
+ if succeeded then triggerEvent dependencyAddedEvent
+ else triggerEvent dependencyFailedEvent
+ succeeded, generatedScripts, additionalIncludeFolders
+ member __.DependencyAdding = dependencyAddingEvent.Publish
+ member __.DependencyAdded = dependencyAddedEvent.Publish
+ member __.DependencyFailed = dependencyFailedEvent.Publish
+
+// Resolution Path = Location of FSharp.Compiler.Private.dll
+let assemblySearchPaths = lazy (
+ [
+ let assemblyLocation = typeof.GetTypeInfo().Assembly.Location
+ yield Path.GetDirectoryName assemblyLocation
+ yield AppDomain.CurrentDomain.BaseDirectory
+ ])
+
+let enumerateDependencyManagerAssemblies compilerTools m =
+ getCompilerToolsDesignTimeAssemblyPaths compilerTools
+ |> Seq.append (assemblySearchPaths.Force())
+ |> Seq.collect (fun path ->
+ try
+ if Directory.Exists(path) then Directory.EnumerateFiles(path, dependencyManagerPattern)
+ else Seq.empty
+ with _ -> Seq.empty)
+ |> Seq.choose (fun path ->
+ try
+ Some(AbstractIL.Internal.Library.Shim.FileSystem.AssemblyLoadFrom path)
+ with
+ | e ->
+ let e = ReflectionHelper.stripTieWrapper e
+ warning(Error(FSComp.SR.couldNotLoadDependencyManagerExtension(path,e.Message),m))
+ None)
+ |> Seq.filter (fun a -> ReflectionHelper.assemblyHasAttribute a dependencyManagerAttributeName)
+
+let registeredDependencyManagers = ref None
+
+let RegisteredDependencyManagers (compilerTools: string list) (outputDir: string option) m =
+ match !registeredDependencyManagers with
+ | Some managers -> managers
+ | None ->
+ let defaultProviders =[]
+
+ let loadedProviders =
+ enumerateDependencyManagerAssemblies compilerTools m
+ |> Seq.collect (fun a -> a.GetTypes())
+ |> Seq.choose (fun t -> ReflectionDependencyManagerProvider.InstanceMaker(t, outputDir))
+ |> Seq.map (fun maker -> maker ())
+
+ defaultProviders
+ |> Seq.append loadedProviders
+ |> Seq.map (fun pm -> pm.Key, pm)
+ |> Map.ofSeq
+
+let createPackageManagerUnknownError (compilerTools: string list) (outputDir:string option) packageManagerKey m =
+ let registeredKeys = String.Join(", ", RegisteredDependencyManagers compilerTools outputDir m |> Seq.map (fun kv -> kv.Value.Key))
+ let searchPaths = assemblySearchPaths.Force()
+ Error(FSComp.SR.packageManagerUnknown(packageManagerKey, String.Join(", ", searchPaths, compilerTools), registeredKeys),m)
+
+let tryFindDependencyManagerInPath (compilerTools:string list) (outputDir:string option) m (path:string) : ReferenceType =
+ try
+ if path.Contains ":" && not (System.IO.Path.IsPathRooted path) then
+ let managers = RegisteredDependencyManagers compilerTools outputDir m
+ match managers |> Seq.tryFind (fun kv -> path.StartsWith(kv.Value.Key + ":" )) with
+ | None ->
+ errorR(createPackageManagerUnknownError compilerTools outputDir (path.Split(':').[0]) m)
+ ReferenceType.UnknownType
+ | Some kv -> ReferenceType.RegisteredDependencyManager kv.Value
+ else
+ ReferenceType.Library path
+ with
+ | e ->
+ let e = ReflectionHelper.stripTieWrapper e
+ errorR(Error(FSComp.SR.packageManagerError(e.Message),m))
+ ReferenceType.UnknownType
+
+let removeDependencyManagerKey (packageManagerKey:string) (path:string) = path.Substring(packageManagerKey.Length + 1).Trim()
+
+let tryFindDependencyManagerByKey (compilerTools: string list) (outputDir:string option) m (key:string) : IDependencyManagerProvider option =
+ try
+ RegisteredDependencyManagers compilerTools outputDir m |> Map.tryFind key
+ with
+ | e ->
+ let e = ReflectionHelper.stripTieWrapper e
+ errorR(Error(FSComp.SR.packageManagerError(e.Message), m))
+ None
+
+let resolve (packageManager:IDependencyManagerProvider) implicitIncludeDir mainScriptName fileName m packageManagerTextLines =
+ try
+ Some(packageManager.ResolveDependencies(implicitIncludeDir, mainScriptName, fileName, packageManagerTextLines, executionTfm))
+ with e ->
+ let e = ReflectionHelper.stripTieWrapper e
+ errorR(Error(FSComp.SR.packageManagerError(e.Message), m))
+ None
diff --git a/src/fsharp/DependencyManager.Integration.fsi b/src/fsharp/DependencyManager.Integration.fsi
new file mode 100644
index 0000000000..62af44898d
--- /dev/null
+++ b/src/fsharp/DependencyManager.Integration.fsi
@@ -0,0 +1,26 @@
+// Copyright (c) Microsoft Corporation. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
+
+/// Helper members to integrate DependencyManagers into F# codebase
+module internal FSharp.Compiler.DependencyManagerIntegration
+
+open FSharp.Compiler.Range
+
+type IDependencyManagerProvider =
+ abstract Name: string
+ abstract Key: string
+ abstract ResolveDependencies: scriptDir: string * mainScriptName: string * scriptName: string * packageManagerTextLines: string seq * tfm: string -> bool * string list * string list
+ abstract DependencyAdding: IEvent
+ abstract DependencyAdded: IEvent
+ abstract DependencyFailed: IEvent
+
+[]
+type ReferenceType =
+| RegisteredDependencyManager of IDependencyManagerProvider
+| Library of string
+| UnknownType
+
+val tryFindDependencyManagerInPath: string list -> string option -> range -> string -> ReferenceType
+val tryFindDependencyManagerByKey: string list -> string option -> range -> string -> IDependencyManagerProvider option
+val removeDependencyManagerKey: string -> string -> string
+val createPackageManagerUnknownError: string list -> string option -> string -> range -> exn
+val resolve: IDependencyManagerProvider -> string -> string -> string -> range -> string seq -> (bool * string list * string list) option
diff --git a/src/fsharp/DotNetFrameworkDependencies.fs b/src/fsharp/DotNetFrameworkDependencies.fs
index 8c9c98c16d..a454ec8059 100644
--- a/src/fsharp/DotNetFrameworkDependencies.fs
+++ b/src/fsharp/DotNetFrameworkDependencies.fs
@@ -1,22 +1,35 @@
// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
// Functions to retrieve framework dependencies
-
module internal FSharp.Compiler.DotNetFrameworkDependencies
open System
open System.Collections.Generic
+ open System.Diagnostics
open System.Globalization
open System.IO
open System.Reflection
+ open Internal.Utilities
type private TypeInThisAssembly = class end
+ let fSharpCompilerLocation =
+ let location = Path.GetDirectoryName(typeof.Assembly.Location)
+ match FSharpEnvironment.BinFolderOfDefaultFSharpCompiler (Some location) with
+ | Some path -> path
+ | None ->
+#if DEBUG
+ Debug.Print(sprintf "FSharpEnvironment.BinFolderOfDefaultFSharpCompiler (Some '%s') returned None Location customized incorrectly: algorithm here: https://github.com/dotnet/fsharp/blob/03f3f1c35f82af26593d025dabca57a6ef3ea9a1/src/utils/CompilerLocationUtils.fs#L171" location)
+#endif
+ // Use the location of this dll
+ location
+
let getFSharpCoreLibraryName = "FSharp.Core"
let getFsiLibraryName = "FSharp.Compiler.Interactive.Settings"
+ let getDefaultFSharpCoreLocation = Path.Combine(fSharpCompilerLocation, getFSharpCoreLibraryName + ".dll")
+ let getDefaultFsiLibraryLocation = Path.Combine(fSharpCompilerLocation, getFsiLibraryName + ".dll")
let implementationAssemblyDir = Path.GetDirectoryName(typeof.Assembly.Location)
- let getDefaultFSharpCoreReference = typeof.Assembly.Location
- let getFSharpCompilerLocation = Path.GetDirectoryName(typeof.Assembly.Location)
+ let isRunningOnCoreClr = (typeof.Assembly).FullName.StartsWith("System.Private.CoreLib", StringComparison.InvariantCultureIgnoreCase)
// Use the ValueTuple that is executing with the compiler if it is from System.ValueTuple
// or the System.ValueTuple.dll that sits alongside the compiler. (Note we always ship one with the compiler)
@@ -26,15 +39,13 @@ module internal FSharp.Compiler.DotNetFrameworkDependencies
if asm.FullName.StartsWith("System.ValueTuple", StringComparison.OrdinalIgnoreCase) then
Some asm.Location
else
- let location = Path.GetDirectoryName(typeof.Assembly.Location)
- let valueTuplePath = Path.Combine(location, "System.ValueTuple.dll")
+ let valueTuplePath = Path.Combine(fSharpCompilerLocation, "System.ValueTuple.dll")
if File.Exists(valueTuplePath) then
Some valueTuplePath
else
None
with _ -> None
-
// Algorithm:
// use implementation location of obj type, on shared frameworks it will always be in:
//
@@ -57,6 +68,90 @@ module internal FSharp.Compiler.DotNetFrameworkDependencies
Some version, None
with | _ -> None, None
+ // Tries to figure out the tfm for the compiler instance.
+ // On coreclr it uses the deps.json file
+ let netcoreTfm =
+ let file =
+ try
+ let asm = Assembly.GetEntryAssembly()
+ match asm with
+ | null -> ""
+ | asm ->
+ let depsJsonPath = Path.ChangeExtension(asm.Location, "deps.json")
+ if File.Exists(depsJsonPath) then
+ File.ReadAllText(depsJsonPath)
+ else
+ ""
+ with _ -> ""
+
+ let tfmPrefix=".NETCoreApp,Version=v"
+ let pattern = "\"name\": \"" + tfmPrefix
+ let startPos =
+ let startPos = file.IndexOf(pattern, StringComparison.OrdinalIgnoreCase)
+ if startPos >= 0 then startPos + (pattern.Length) else startPos
+
+ let length =
+ if startPos >= 0 then
+ let ep = file.IndexOf("\"", startPos)
+ if ep >= 0 then ep - startPos else ep
+ else -1
+ match startPos, length with
+ | -1, _
+ | _, -1 ->
+ if isRunningOnCoreClr then
+ // Running on coreclr but no deps.json was deployed with the host so default to 3.0
+ Some "netcoreapp3.0"
+ else
+ // Running on desktop
+ None
+ | pos, length ->
+ // use value from the deps.json file
+ Some ("netcoreapp" + file.Substring(pos, length))
+
+ // Tries to figure out the tfm for the compiler instance on the Windows desktop.
+ // On full clr it uses the mscorlib version number
+ let getWindowsDesktopTfm () =
+ let defaultMscorlibVersion = 4,8,3815,0
+ let desktopProductVersionMonikers = [|
+ // major, minor, build, revision, moniker
+ 4, 8, 3815, 0, "net48"
+ 4, 7, 3190, 0, "net472"
+ 4, 7, 2600, 0, "net471"
+ 4, 7, 2053, 0, "net47"
+ 4, 6, 1590, 0, "net462"
+ 4, 6, 1055, 0, "net461"
+ 4, 6, 81, 0, "net46"
+ 4, 0, 30319, 34209, "net452"
+ 4, 0, 30319, 18408, "net451"
+ 4, 0, 30319, 17929, "net45"
+ 4, 0, 30319, 1, "net4"
+ |]
+
+ let majorPart, minorPart, buildPart, privatePart=
+ try
+ let attrOpt = typeof
-
-
-
+
+
+
+
diff --git a/src/fsharp/FSharp.Compiler.Private.Scripting/FSharp.Compiler.Private.Scripting.nuspec b/src/fsharp/FSharp.Compiler.Private.Scripting/FSharp.Compiler.Private.Scripting.nuspec
index fb54c7f393..42a7c538eb 100644
--- a/src/fsharp/FSharp.Compiler.Private.Scripting/FSharp.Compiler.Private.Scripting.nuspec
+++ b/src/fsharp/FSharp.Compiler.Private.Scripting/FSharp.Compiler.Private.Scripting.nuspec
@@ -5,15 +5,20 @@
en-US
-
$CommonFileElements$
+
+
+
+
+
+
diff --git a/src/fsharp/FSharp.Compiler.Private.Scripting/FSharpScript.fs b/src/fsharp/FSharp.Compiler.Private.Scripting/FSharpScript.fs
index d260bd2ccd..0ba6a72827 100644
--- a/src/fsharp/FSharp.Compiler.Private.Scripting/FSharpScript.fs
+++ b/src/fsharp/FSharp.Compiler.Private.Scripting/FSharpScript.fs
@@ -3,44 +3,39 @@
namespace FSharp.Compiler.Scripting
open System
-=======
open System.Threading
open FSharp.Compiler
open FSharp.Compiler.Interactive.Shell
-type FSharpScript(?captureInput: bool, ?captureOutput: bool, ?additionalArgs: string[]) as this =
- let outputProduced = Event()
- let errorProduced = Event()
-
- // handle stdin/stdout
- let stdin = new CapturedTextReader()
- let stdout = new EventedTextWriter()
- let stderr = new EventedTextWriter()
- do stdout.LineWritten.Add outputProduced.Trigger
- do stderr.LineWritten.Add errorProduced.Trigger
- let captureInput = defaultArg captureInput false
- let captureOutput = defaultArg captureOutput false
- let additionalArgs = defaultArg additionalArgs [||]
- let savedInput = Console.In
- let savedOutput = Console.Out
- let savedError = Console.Error
- do (fun () ->
- if captureInput then
- Console.SetIn(stdin)
- if captureOutput then
- Console.SetOut(stdout)
- Console.SetError(stderr)
- ())()
+type FSharpScript(?additionalArgs: string[]) =
+ let additionalArgs = defaultArg additionalArgs [||]
let config = FsiEvaluationSession.GetDefaultConfiguration()
- let baseArgs = [| this.GetType().Assembly.Location; "--noninteractive"; "--targetprofile:netcore"; "--quiet" |]
+ let computedProfile =
+ // If we are being executed on the desktop framework (we can tell because the assembly containing int is mscorlib) then profile must be mscorlib otherwise use netcore
+ if typeof.Assembly.GetName().Name = "mscorlib" then "mscorlib"
+ else "netcore"
+ let baseArgs = [| typeof.Assembly.Location; "--noninteractive"; "--targetprofile:" + computedProfile; "--quiet" |]
let argv = Array.append baseArgs additionalArgs
- let fsi = FsiEvaluationSession.Create (config, argv, stdin, stdout, stderr, collectible=true)
+ let fsi = FsiEvaluationSession.Create (config, argv, stdin, stdout, stderr)
+ []
member __.AssemblyReferenceAdded = fsi.AssemblyReferenceAdded
member __.ValueBound = fsi.ValueBound
+ []
+ member __.IncludePathAdded = fsi.IncludePathAdded
+
+ []
+ member __.DependencyAdding = fsi.DependencyAdding
+
+ []
+ member __.DependencyAdded = fsi.DependencyAdded
+
+ []
+ member __.DependencyFailed = fsi.DependencyFailed
+
member __.ProvideInput = stdin.ProvideInput
member __.OutputProduced = outputProduced.Publish
@@ -72,11 +67,4 @@ type FSharpScript(?captureInput: bool, ?captureOutput: bool, ?additionalArgs: st
interface IDisposable with
member __.Dispose() =
- if captureInput then
- Console.SetIn(savedInput)
- if captureOutput then
- Console.SetOut(savedOutput)
- Console.SetError(savedError)
- stdin.Dispose()
- stdout.Dispose()
- stderr.Dispose()
+ (fsi :> IDisposable).Dispose()
diff --git a/src/fsharp/FSharp.Compiler.Private.Scripting/TextHelpers.fs b/src/fsharp/FSharp.Compiler.Private.Scripting/TextHelpers.fs
deleted file mode 100644
index 87e846b400..0000000000
--- a/src/fsharp/FSharp.Compiler.Private.Scripting/TextHelpers.fs
+++ /dev/null
@@ -1,36 +0,0 @@
-// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
-
-namespace FSharp.Compiler.Scripting
-
-open System.Collections.Generic
-open System.IO
-open System.Text
-
-type internal CapturedTextReader() =
- inherit TextReader()
- let queue = Queue()
- member __.ProvideInput(text: string) =
- for c in text.ToCharArray() do
- queue.Enqueue(c)
- override __.Peek() =
- if queue.Count > 0 then queue.Peek() |> int
- else -1
- override __.Read() =
- if queue.Count > 0 then queue.Dequeue() |> int
- else -1
-
-type internal EventedTextWriter() =
- inherit TextWriter()
- let sb = StringBuilder()
- let lineWritten = Event()
- member __.LineWritten = lineWritten.Publish
- override __.Encoding = Encoding.UTF8
- override __.Write(c: char) =
- if c = '\n' then
- let line =
- let v = sb.ToString()
- if v.EndsWith("\r") then v.Substring(0, v.Length - 1)
- else v
- sb.Clear() |> ignore
- lineWritten.Trigger(line)
- else sb.Append(c) |> ignore
diff --git a/src/fsharp/FSharp.Compiler.Private/illex.fs b/src/fsharp/FSharp.Compiler.Private/illex.fs
new file mode 100644
index 0000000000..fd14cd1ab2
--- /dev/null
+++ b/src/fsharp/FSharp.Compiler.Private/illex.fs
@@ -0,0 +1,526 @@
+# 3 "../../absil/illex.fsl"
+
+
+module internal FSharp.Compiler.AbstractIL.Internal.AsciiLexer
+
+open Internal.Utilities
+open Internal.Utilities.Collections
+open Internal.Utilities.Text
+open Internal.Utilities.Text.Lexing
+open FSharp.Compiler.AbstractIL
+open FSharp.Compiler.AbstractIL.Internal
+open FSharp.Compiler.AbstractIL.Internal.Library
+
+open FSharp.Compiler.AbstractIL.Internal.AsciiParser
+open FSharp.Compiler.AbstractIL.Internal.AsciiConstants
+
+
+let lexeme (lexbuf : LexBuffer) = new System.String(lexbuf.Lexeme)
+
+let unexpectedChar _lexbuf =
+ raise Parsing.RecoverableParseError ;;
+
+// --------------------------------------------------------------------
+// Keywords
+// --------------------------------------------------------------------
+
+let keywords =
+ lazy [ "void",VOID;
+ "bool",BOOL;
+ "bytearray",BYTEARRAY;
+ "char",CHAR;
+ "class",CLASS;
+ "default",DEFAULT;
+ "explicit",EXPLICIT;
+ "float32",FLOAT32;
+ "float64",FLOAT64;
+ "instance",INSTANCE;
+ "int",INT;
+ "int16",INT16;
+ "int32",INT32;
+ "int64",INT64;
+ "int8",INT8;
+ "method",METHOD;
+ "native",NATIVE;
+ "object", OBJECT;
+ "string",STRING;
+ "uint",UINT;
+ "uint16",UINT16;
+ "uint32",UINT32;
+ "uint64",UINT64;
+ "uint8",UINT8;
+ "unmanaged",UNMANAGED;
+ "unsigned",UNSIGNED;
+ "value",VALUE;
+ "valuetype",VALUETYPE;
+ "vararg",VARARG ]
+
+// --------------------------------------------------------------------
+// Instructions
+// --------------------------------------------------------------------
+
+let kwdInstrTable =
+ lazy
+ (let t = HashMultiMap(1000, HashIdentity.Structural)
+ List.iter t.Add (Lazy.force keywords);
+ let addTable f l = List.iter (fun (x,i) -> t.Add (String.concat "." x,f i)) (Lazy.force l)
+ addTable (fun i -> INSTR_NONE i) NoArgInstrs;
+ addTable (fun i -> INSTR_I i) Int32Instrs;
+ addTable (fun i -> INSTR_I32_I32 i) Int32Int32Instrs;
+ addTable (fun i -> INSTR_I8 i) Int64Instrs;
+ addTable (fun i -> INSTR_R i) DoubleInstrs;
+ addTable (fun i -> INSTR_TYPE i) TypeInstrs;
+ addTable (fun i -> INSTR_INT_TYPE i) IntTypeInstrs;
+ addTable (fun i -> INSTR_VALUETYPE i) ValueTypeInstrs;
+ addTable (fun i -> INSTR_STRING i) StringInstrs;
+ addTable (fun i -> INSTR_TOK i) TokenInstrs;
+ t)
+
+let kwdOrInstr s = (Lazy.force kwdInstrTable).[s] (* words *)
+
+let eval = function
+ | '0' -> 0 | '1' -> 1 | '2' -> 2 | '3' -> 3 | '4' -> 4 | '5' -> 5
+ | '6' -> 6 | '7' -> 7 | '8' -> 8 | '9' -> 9
+ | 'A' -> 10 | 'B' -> 11 | 'C' -> 12 | 'D' -> 13 | 'E' -> 14 | 'F' -> 15
+ | 'a' -> 10 | 'b' -> 11 | 'c' -> 12 | 'd' -> 13 | 'e' -> 14 | 'f' -> 15
+ | _ -> failwith "bad hexbyte"
+
+let kwdOrInstrOrId s = match (Lazy.force kwdInstrTable).TryFind s with Some v -> v | _ -> VAL_ID s
+
+
+# 91 "illex.fs"
+let trans : uint16[] array =
+ [|
+ (* State 0 *)
+ [| 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 32us; 32us; 33us; 33us; 32us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 32us; 4us; 33us; 33us; 31us; 33us; 5us; 33us; 6us; 7us; 3us; 14us; 1us; 23us; 2us; 10us; 15us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 13us; 33us; 11us; 33us; 12us; 31us; 31us; 17us; 17us; 17us; 17us; 17us; 18us; 31us; 31us; 31us; 31us; 31us; 31us; 31us; 31us; 31us; 31us; 31us; 31us; 31us; 31us; 31us; 31us; 31us; 31us; 31us; 31us; 8us; 33us; 9us; 33us; 31us; 31us; 19us; 20us; 21us; 22us; 17us; 17us; 31us; 31us; 30us; 31us; 31us; 27us; 26us; 28us; 31us; 31us; 31us; 25us; 24us; 31us; 29us; 31us; 31us; 31us; 31us; 31us; 33us; 33us; 33us; 33us; 33us; 128us; 31us; 129us; 31us; 130us; 31us; 131us; 31us; 132us; 31us; 133us; 31us; 134us; 31us; 135us; 31us; 136us; 31us; 137us; 31us; 138us; 31us; 139us; 31us; 140us; 31us; 141us; 31us; 142us; 31us; 143us; 31us; 144us; 31us; 145us; 31us; 146us; 31us; 147us; 31us; 148us; 31us; 149us; 31us; 150us; 31us; 151us; 31us; 152us; 31us; 153us; 31us; 154us; 31us; 155us; 31us; 156us; 31us; 157us; 31us; 158us; 31us; 159us; 31us; 160us; 31us; 161us; 31us; 162us; 31us; 163us; 31us; 164us; 31us; 165us; 31us; 166us; 31us; 167us; 31us; 168us; 31us; 169us; 31us; 170us; 31us; 171us; 31us; 172us; 31us; 173us; 31us; 174us; 31us; 175us; 31us; 176us; 31us; 177us; 31us; 178us; 31us; 179us; 31us; 180us; 31us; 181us; 31us; 182us; 31us; 183us; 31us; 184us; 31us; 185us; 31us; 186us; 31us; 187us; 31us; 188us; 31us; 189us; 31us; 190us; 31us; 191us; 31us; 192us; 31us; 193us; 31us; 194us; 31us; 195us; 31us; 196us; 31us; 197us; 31us; 198us; 31us; 199us; 31us; 200us; 31us; 201us; 31us; 202us; 31us; 203us; 31us; 204us; 31us; 205us; 31us; 206us; 31us; 207us; 31us; 208us; 31us; 209us; 31us; 210us; 31us; 211us; 31us; 212us; 31us; 213us; 31us; 214us; 31us; 215us; 31us; 216us; 31us; 217us; 31us; 218us; 31us; 219us; 31us; 220us; 31us; 221us; 31us; 222us; 31us; 223us; 31us; 224us; 31us; 225us; 31us; 226us; 31us; 227us; 31us; 228us; 31us; 229us; 31us; 230us; 31us; 231us; 31us; 232us; 31us; 233us; 31us; 234us; 31us; 235us; 31us; 236us; 31us; 237us; 31us; 238us; 31us; 239us; 31us; 240us; 31us; 241us; 31us; 242us; 31us; 243us; 31us; 244us; 31us; 245us; 31us; 246us; 31us; 247us; 31us; 248us; 31us; 249us; 31us; 250us; 31us; 251us; 31us; 252us; 31us; 253us; 31us; 254us; 31us; 255us; 31us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 34us; |];
+ (* State 1 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 2 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 135us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 3 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 4 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 5 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 6 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 7 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 8 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 9 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 10 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 11 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 12 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 13 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 134us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 14 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 132us; 132us; 132us; 132us; 132us; 132us; 132us; 132us; 132us; 132us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 15 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 122us; 65535us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 123us; 123us; 123us; 123us; 124us; 123us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 123us; 123us; 123us; 123us; 124us; 123us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 129us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 16 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 122us; 65535us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 123us; 123us; 123us; 123us; 124us; 123us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 123us; 123us; 123us; 123us; 124us; 123us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 17 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 102us; 102us; 102us; 102us; 102us; 102us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 102us; 102us; 102us; 102us; 102us; 102us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 35us; 129us; 35us; 130us; 35us; 131us; 35us; 132us; 35us; 133us; 35us; 134us; 35us; 135us; 35us; 136us; 35us; 137us; 35us; 138us; 35us; 139us; 35us; 140us; 35us; 141us; 35us; 142us; 35us; 143us; 35us; 144us; 35us; 145us; 35us; 146us; 35us; 147us; 35us; 148us; 35us; 149us; 35us; 150us; 35us; 151us; 35us; 152us; 35us; 153us; 35us; 154us; 35us; 155us; 35us; 156us; 35us; 157us; 35us; 158us; 35us; 159us; 35us; 160us; 35us; 161us; 35us; 162us; 35us; 163us; 35us; 164us; 35us; 165us; 35us; 166us; 35us; 167us; 35us; 168us; 35us; 169us; 35us; 170us; 35us; 171us; 35us; 172us; 35us; 173us; 35us; 174us; 35us; 175us; 35us; 176us; 35us; 177us; 35us; 178us; 35us; 179us; 35us; 180us; 35us; 181us; 35us; 182us; 35us; 183us; 35us; 184us; 35us; 185us; 35us; 186us; 35us; 187us; 35us; 188us; 35us; 189us; 35us; 190us; 35us; 191us; 35us; 192us; 35us; 193us; 35us; 194us; 35us; 195us; 35us; 196us; 35us; 197us; 35us; 198us; 35us; 199us; 35us; 200us; 35us; 201us; 35us; 202us; 35us; 203us; 35us; 204us; 35us; 205us; 35us; 206us; 35us; 207us; 35us; 208us; 35us; 209us; 35us; 210us; 35us; 211us; 35us; 212us; 35us; 213us; 35us; 214us; 35us; 215us; 35us; 216us; 35us; 217us; 35us; 218us; 35us; 219us; 35us; 220us; 35us; 221us; 35us; 222us; 35us; 223us; 35us; 224us; 35us; 225us; 35us; 226us; 35us; 227us; 35us; 228us; 35us; 229us; 35us; 230us; 35us; 231us; 35us; 232us; 35us; 233us; 35us; 234us; 35us; 235us; 35us; 236us; 35us; 237us; 35us; 238us; 35us; 239us; 35us; 240us; 35us; 241us; 35us; 242us; 35us; 243us; 35us; 244us; 35us; 245us; 35us; 246us; 35us; 247us; 35us; 248us; 35us; 249us; 35us; 250us; 35us; 251us; 35us; 252us; 35us; 253us; 35us; 254us; 35us; 255us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 18 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 102us; 102us; 102us; 102us; 102us; 114us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 102us; 102us; 102us; 102us; 102us; 102us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 35us; 129us; 35us; 130us; 35us; 131us; 35us; 132us; 35us; 133us; 35us; 134us; 35us; 135us; 35us; 136us; 35us; 137us; 35us; 138us; 35us; 139us; 35us; 140us; 35us; 141us; 35us; 142us; 35us; 143us; 35us; 144us; 35us; 145us; 35us; 146us; 35us; 147us; 35us; 148us; 35us; 149us; 35us; 150us; 35us; 151us; 35us; 152us; 35us; 153us; 35us; 154us; 35us; 155us; 35us; 156us; 35us; 157us; 35us; 158us; 35us; 159us; 35us; 160us; 35us; 161us; 35us; 162us; 35us; 163us; 35us; 164us; 35us; 165us; 35us; 166us; 35us; 167us; 35us; 168us; 35us; 169us; 35us; 170us; 35us; 171us; 35us; 172us; 35us; 173us; 35us; 174us; 35us; 175us; 35us; 176us; 35us; 177us; 35us; 178us; 35us; 179us; 35us; 180us; 35us; 181us; 35us; 182us; 35us; 183us; 35us; 184us; 35us; 185us; 35us; 186us; 35us; 187us; 35us; 188us; 35us; 189us; 35us; 190us; 35us; 191us; 35us; 192us; 35us; 193us; 35us; 194us; 35us; 195us; 35us; 196us; 35us; 197us; 35us; 198us; 35us; 199us; 35us; 200us; 35us; 201us; 35us; 202us; 35us; 203us; 35us; 204us; 35us; 205us; 35us; 206us; 35us; 207us; 35us; 208us; 35us; 209us; 35us; 210us; 35us; 211us; 35us; 212us; 35us; 213us; 35us; 214us; 35us; 215us; 35us; 216us; 35us; 217us; 35us; 218us; 35us; 219us; 35us; 220us; 35us; 221us; 35us; 222us; 35us; 223us; 35us; 224us; 35us; 225us; 35us; 226us; 35us; 227us; 35us; 228us; 35us; 229us; 35us; 230us; 35us; 231us; 35us; 232us; 35us; 233us; 35us; 234us; 35us; 235us; 35us; 236us; 35us; 237us; 35us; 238us; 35us; 239us; 35us; 240us; 35us; 241us; 35us; 242us; 35us; 243us; 35us; 244us; 35us; 245us; 35us; 246us; 35us; 247us; 35us; 248us; 35us; 249us; 35us; 250us; 35us; 251us; 35us; 252us; 35us; 253us; 35us; 254us; 35us; 255us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 19 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 102us; 102us; 102us; 102us; 102us; 102us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 102us; 102us; 102us; 113us; 102us; 102us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 35us; 129us; 35us; 130us; 35us; 131us; 35us; 132us; 35us; 133us; 35us; 134us; 35us; 135us; 35us; 136us; 35us; 137us; 35us; 138us; 35us; 139us; 35us; 140us; 35us; 141us; 35us; 142us; 35us; 143us; 35us; 144us; 35us; 145us; 35us; 146us; 35us; 147us; 35us; 148us; 35us; 149us; 35us; 150us; 35us; 151us; 35us; 152us; 35us; 153us; 35us; 154us; 35us; 155us; 35us; 156us; 35us; 157us; 35us; 158us; 35us; 159us; 35us; 160us; 35us; 161us; 35us; 162us; 35us; 163us; 35us; 164us; 35us; 165us; 35us; 166us; 35us; 167us; 35us; 168us; 35us; 169us; 35us; 170us; 35us; 171us; 35us; 172us; 35us; 173us; 35us; 174us; 35us; 175us; 35us; 176us; 35us; 177us; 35us; 178us; 35us; 179us; 35us; 180us; 35us; 181us; 35us; 182us; 35us; 183us; 35us; 184us; 35us; 185us; 35us; 186us; 35us; 187us; 35us; 188us; 35us; 189us; 35us; 190us; 35us; 191us; 35us; 192us; 35us; 193us; 35us; 194us; 35us; 195us; 35us; 196us; 35us; 197us; 35us; 198us; 35us; 199us; 35us; 200us; 35us; 201us; 35us; 202us; 35us; 203us; 35us; 204us; 35us; 205us; 35us; 206us; 35us; 207us; 35us; 208us; 35us; 209us; 35us; 210us; 35us; 211us; 35us; 212us; 35us; 213us; 35us; 214us; 35us; 215us; 35us; 216us; 35us; 217us; 35us; 218us; 35us; 219us; 35us; 220us; 35us; 221us; 35us; 222us; 35us; 223us; 35us; 224us; 35us; 225us; 35us; 226us; 35us; 227us; 35us; 228us; 35us; 229us; 35us; 230us; 35us; 231us; 35us; 232us; 35us; 233us; 35us; 234us; 35us; 235us; 35us; 236us; 35us; 237us; 35us; 238us; 35us; 239us; 35us; 240us; 35us; 241us; 35us; 242us; 35us; 243us; 35us; 244us; 35us; 245us; 35us; 246us; 35us; 247us; 35us; 248us; 35us; 249us; 35us; 250us; 35us; 251us; 35us; 252us; 35us; 253us; 35us; 254us; 35us; 255us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 20 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 102us; 102us; 102us; 102us; 102us; 102us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 102us; 102us; 102us; 102us; 110us; 102us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 111us; 112us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 35us; 129us; 35us; 130us; 35us; 131us; 35us; 132us; 35us; 133us; 35us; 134us; 35us; 135us; 35us; 136us; 35us; 137us; 35us; 138us; 35us; 139us; 35us; 140us; 35us; 141us; 35us; 142us; 35us; 143us; 35us; 144us; 35us; 145us; 35us; 146us; 35us; 147us; 35us; 148us; 35us; 149us; 35us; 150us; 35us; 151us; 35us; 152us; 35us; 153us; 35us; 154us; 35us; 155us; 35us; 156us; 35us; 157us; 35us; 158us; 35us; 159us; 35us; 160us; 35us; 161us; 35us; 162us; 35us; 163us; 35us; 164us; 35us; 165us; 35us; 166us; 35us; 167us; 35us; 168us; 35us; 169us; 35us; 170us; 35us; 171us; 35us; 172us; 35us; 173us; 35us; 174us; 35us; 175us; 35us; 176us; 35us; 177us; 35us; 178us; 35us; 179us; 35us; 180us; 35us; 181us; 35us; 182us; 35us; 183us; 35us; 184us; 35us; 185us; 35us; 186us; 35us; 187us; 35us; 188us; 35us; 189us; 35us; 190us; 35us; 191us; 35us; 192us; 35us; 193us; 35us; 194us; 35us; 195us; 35us; 196us; 35us; 197us; 35us; 198us; 35us; 199us; 35us; 200us; 35us; 201us; 35us; 202us; 35us; 203us; 35us; 204us; 35us; 205us; 35us; 206us; 35us; 207us; 35us; 208us; 35us; 209us; 35us; 210us; 35us; 211us; 35us; 212us; 35us; 213us; 35us; 214us; 35us; 215us; 35us; 216us; 35us; 217us; 35us; 218us; 35us; 219us; 35us; 220us; 35us; 221us; 35us; 222us; 35us; 223us; 35us; 224us; 35us; 225us; 35us; 226us; 35us; 227us; 35us; 228us; 35us; 229us; 35us; 230us; 35us; 231us; 35us; 232us; 35us; 233us; 35us; 234us; 35us; 235us; 35us; 236us; 35us; 237us; 35us; 238us; 35us; 239us; 35us; 240us; 35us; 241us; 35us; 242us; 35us; 243us; 35us; 244us; 35us; 245us; 35us; 246us; 35us; 247us; 35us; 248us; 35us; 249us; 35us; 250us; 35us; 251us; 35us; 252us; 35us; 253us; 35us; 254us; 35us; 255us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 21 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 102us; 102us; 102us; 102us; 102us; 102us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 102us; 102us; 102us; 102us; 104us; 102us; 106us; 35us; 35us; 35us; 35us; 107us; 35us; 108us; 105us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 35us; 129us; 35us; 130us; 35us; 131us; 35us; 132us; 35us; 133us; 35us; 134us; 35us; 135us; 35us; 136us; 35us; 137us; 35us; 138us; 35us; 139us; 35us; 140us; 35us; 141us; 35us; 142us; 35us; 143us; 35us; 144us; 35us; 145us; 35us; 146us; 35us; 147us; 35us; 148us; 35us; 149us; 35us; 150us; 35us; 151us; 35us; 152us; 35us; 153us; 35us; 154us; 35us; 155us; 35us; 156us; 35us; 157us; 35us; 158us; 35us; 159us; 35us; 160us; 35us; 161us; 35us; 162us; 35us; 163us; 35us; 164us; 35us; 165us; 35us; 166us; 35us; 167us; 35us; 168us; 35us; 169us; 35us; 170us; 35us; 171us; 35us; 172us; 35us; 173us; 35us; 174us; 35us; 175us; 35us; 176us; 35us; 177us; 35us; 178us; 35us; 179us; 35us; 180us; 35us; 181us; 35us; 182us; 35us; 183us; 35us; 184us; 35us; 185us; 35us; 186us; 35us; 187us; 35us; 188us; 35us; 189us; 35us; 190us; 35us; 191us; 35us; 192us; 35us; 193us; 35us; 194us; 35us; 195us; 35us; 196us; 35us; 197us; 35us; 198us; 35us; 199us; 35us; 200us; 35us; 201us; 35us; 202us; 35us; 203us; 35us; 204us; 35us; 205us; 35us; 206us; 35us; 207us; 35us; 208us; 35us; 209us; 35us; 210us; 35us; 211us; 35us; 212us; 35us; 213us; 35us; 214us; 35us; 215us; 35us; 216us; 35us; 217us; 35us; 218us; 35us; 219us; 35us; 220us; 35us; 221us; 35us; 222us; 35us; 223us; 35us; 224us; 35us; 225us; 35us; 226us; 35us; 227us; 35us; 228us; 35us; 229us; 35us; 230us; 35us; 231us; 35us; 232us; 35us; 233us; 35us; 234us; 35us; 235us; 35us; 236us; 35us; 237us; 35us; 238us; 35us; 239us; 35us; 240us; 35us; 241us; 35us; 242us; 35us; 243us; 35us; 244us; 35us; 245us; 35us; 246us; 35us; 247us; 35us; 248us; 35us; 249us; 35us; 250us; 35us; 251us; 35us; 252us; 35us; 253us; 35us; 254us; 35us; 255us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 22 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 102us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 102us; 102us; 102us; 102us; 102us; 102us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 102us; 102us; 102us; 102us; 102us; 102us; 35us; 35us; 103us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 35us; 129us; 35us; 130us; 35us; 131us; 35us; 132us; 35us; 133us; 35us; 134us; 35us; 135us; 35us; 136us; 35us; 137us; 35us; 138us; 35us; 139us; 35us; 140us; 35us; 141us; 35us; 142us; 35us; 143us; 35us; 144us; 35us; 145us; 35us; 146us; 35us; 147us; 35us; 148us; 35us; 149us; 35us; 150us; 35us; 151us; 35us; 152us; 35us; 153us; 35us; 154us; 35us; 155us; 35us; 156us; 35us; 157us; 35us; 158us; 35us; 159us; 35us; 160us; 35us; 161us; 35us; 162us; 35us; 163us; 35us; 164us; 35us; 165us; 35us; 166us; 35us; 167us; 35us; 168us; 35us; 169us; 35us; 170us; 35us; 171us; 35us; 172us; 35us; 173us; 35us; 174us; 35us; 175us; 35us; 176us; 35us; 177us; 35us; 178us; 35us; 179us; 35us; 180us; 35us; 181us; 35us; 182us; 35us; 183us; 35us; 184us; 35us; 185us; 35us; 186us; 35us; 187us; 35us; 188us; 35us; 189us; 35us; 190us; 35us; 191us; 35us; 192us; 35us; 193us; 35us; 194us; 35us; 195us; 35us; 196us; 35us; 197us; 35us; 198us; 35us; 199us; 35us; 200us; 35us; 201us; 35us; 202us; 35us; 203us; 35us; 204us; 35us; 205us; 35us; 206us; 35us; 207us; 35us; 208us; 35us; 209us; 35us; 210us; 35us; 211us; 35us; 212us; 35us; 213us; 35us; 214us; 35us; 215us; 35us; 216us; 35us; 217us; 35us; 218us; 35us; 219us; 35us; 220us; 35us; 221us; 35us; 222us; 35us; 223us; 35us; 224us; 35us; 225us; 35us; 226us; 35us; 227us; 35us; 228us; 35us; 229us; 35us; 230us; 35us; 231us; 35us; 232us; 35us; 233us; 35us; 234us; 35us; 235us; 35us; 236us; 35us; 237us; 35us; 238us; 35us; 239us; 35us; 240us; 35us; 241us; 35us; 242us; 35us; 243us; 35us; 244us; 35us; 245us; 35us; 246us; 35us; 247us; 35us; 248us; 35us; 249us; 35us; 250us; 35us; 251us; 35us; 252us; 35us; 253us; 35us; 254us; 35us; 255us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 23 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 94us; 94us; 94us; 94us; 94us; 94us; 94us; 94us; 94us; 94us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 24 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 85us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 86us; 84us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 35us; 129us; 35us; 130us; 35us; 131us; 35us; 132us; 35us; 133us; 35us; 134us; 35us; 135us; 35us; 136us; 35us; 137us; 35us; 138us; 35us; 139us; 35us; 140us; 35us; 141us; 35us; 142us; 35us; 143us; 35us; 144us; 35us; 145us; 35us; 146us; 35us; 147us; 35us; 148us; 35us; 149us; 35us; 150us; 35us; 151us; 35us; 152us; 35us; 153us; 35us; 154us; 35us; 155us; 35us; 156us; 35us; 157us; 35us; 158us; 35us; 159us; 35us; 160us; 35us; 161us; 35us; 162us; 35us; 163us; 35us; 164us; 35us; 165us; 35us; 166us; 35us; 167us; 35us; 168us; 35us; 169us; 35us; 170us; 35us; 171us; 35us; 172us; 35us; 173us; 35us; 174us; 35us; 175us; 35us; 176us; 35us; 177us; 35us; 178us; 35us; 179us; 35us; 180us; 35us; 181us; 35us; 182us; 35us; 183us; 35us; 184us; 35us; 185us; 35us; 186us; 35us; 187us; 35us; 188us; 35us; 189us; 35us; 190us; 35us; 191us; 35us; 192us; 35us; 193us; 35us; 194us; 35us; 195us; 35us; 196us; 35us; 197us; 35us; 198us; 35us; 199us; 35us; 200us; 35us; 201us; 35us; 202us; 35us; 203us; 35us; 204us; 35us; 205us; 35us; 206us; 35us; 207us; 35us; 208us; 35us; 209us; 35us; 210us; 35us; 211us; 35us; 212us; 35us; 213us; 35us; 214us; 35us; 215us; 35us; 216us; 35us; 217us; 35us; 218us; 35us; 219us; 35us; 220us; 35us; 221us; 35us; 222us; 35us; 223us; 35us; 224us; 35us; 225us; 35us; 226us; 35us; 227us; 35us; 228us; 35us; 229us; 35us; 230us; 35us; 231us; 35us; 232us; 35us; 233us; 35us; 234us; 35us; 235us; 35us; 236us; 35us; 237us; 35us; 238us; 35us; 239us; 35us; 240us; 35us; 241us; 35us; 242us; 35us; 243us; 35us; 244us; 35us; 245us; 35us; 246us; 35us; 247us; 35us; 248us; 35us; 249us; 35us; 250us; 35us; 251us; 35us; 252us; 35us; 253us; 35us; 254us; 35us; 255us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 25 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 83us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 35us; 129us; 35us; 130us; 35us; 131us; 35us; 132us; 35us; 133us; 35us; 134us; 35us; 135us; 35us; 136us; 35us; 137us; 35us; 138us; 35us; 139us; 35us; 140us; 35us; 141us; 35us; 142us; 35us; 143us; 35us; 144us; 35us; 145us; 35us; 146us; 35us; 147us; 35us; 148us; 35us; 149us; 35us; 150us; 35us; 151us; 35us; 152us; 35us; 153us; 35us; 154us; 35us; 155us; 35us; 156us; 35us; 157us; 35us; 158us; 35us; 159us; 35us; 160us; 35us; 161us; 35us; 162us; 35us; 163us; 35us; 164us; 35us; 165us; 35us; 166us; 35us; 167us; 35us; 168us; 35us; 169us; 35us; 170us; 35us; 171us; 35us; 172us; 35us; 173us; 35us; 174us; 35us; 175us; 35us; 176us; 35us; 177us; 35us; 178us; 35us; 179us; 35us; 180us; 35us; 181us; 35us; 182us; 35us; 183us; 35us; 184us; 35us; 185us; 35us; 186us; 35us; 187us; 35us; 188us; 35us; 189us; 35us; 190us; 35us; 191us; 35us; 192us; 35us; 193us; 35us; 194us; 35us; 195us; 35us; 196us; 35us; 197us; 35us; 198us; 35us; 199us; 35us; 200us; 35us; 201us; 35us; 202us; 35us; 203us; 35us; 204us; 35us; 205us; 35us; 206us; 35us; 207us; 35us; 208us; 35us; 209us; 35us; 210us; 35us; 211us; 35us; 212us; 35us; 213us; 35us; 214us; 35us; 215us; 35us; 216us; 35us; 217us; 35us; 218us; 35us; 219us; 35us; 220us; 35us; 221us; 35us; 222us; 35us; 223us; 35us; 224us; 35us; 225us; 35us; 226us; 35us; 227us; 35us; 228us; 35us; 229us; 35us; 230us; 35us; 231us; 35us; 232us; 35us; 233us; 35us; 234us; 35us; 235us; 35us; 236us; 35us; 237us; 35us; 238us; 35us; 239us; 35us; 240us; 35us; 241us; 35us; 242us; 35us; 243us; 35us; 244us; 35us; 245us; 35us; 246us; 35us; 247us; 35us; 248us; 35us; 249us; 35us; 250us; 35us; 251us; 35us; 252us; 35us; 253us; 35us; 254us; 35us; 255us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 26 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 82us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 35us; 129us; 35us; 130us; 35us; 131us; 35us; 132us; 35us; 133us; 35us; 134us; 35us; 135us; 35us; 136us; 35us; 137us; 35us; 138us; 35us; 139us; 35us; 140us; 35us; 141us; 35us; 142us; 35us; 143us; 35us; 144us; 35us; 145us; 35us; 146us; 35us; 147us; 35us; 148us; 35us; 149us; 35us; 150us; 35us; 151us; 35us; 152us; 35us; 153us; 35us; 154us; 35us; 155us; 35us; 156us; 35us; 157us; 35us; 158us; 35us; 159us; 35us; 160us; 35us; 161us; 35us; 162us; 35us; 163us; 35us; 164us; 35us; 165us; 35us; 166us; 35us; 167us; 35us; 168us; 35us; 169us; 35us; 170us; 35us; 171us; 35us; 172us; 35us; 173us; 35us; 174us; 35us; 175us; 35us; 176us; 35us; 177us; 35us; 178us; 35us; 179us; 35us; 180us; 35us; 181us; 35us; 182us; 35us; 183us; 35us; 184us; 35us; 185us; 35us; 186us; 35us; 187us; 35us; 188us; 35us; 189us; 35us; 190us; 35us; 191us; 35us; 192us; 35us; 193us; 35us; 194us; 35us; 195us; 35us; 196us; 35us; 197us; 35us; 198us; 35us; 199us; 35us; 200us; 35us; 201us; 35us; 202us; 35us; 203us; 35us; 204us; 35us; 205us; 35us; 206us; 35us; 207us; 35us; 208us; 35us; 209us; 35us; 210us; 35us; 211us; 35us; 212us; 35us; 213us; 35us; 214us; 35us; 215us; 35us; 216us; 35us; 217us; 35us; 218us; 35us; 219us; 35us; 220us; 35us; 221us; 35us; 222us; 35us; 223us; 35us; 224us; 35us; 225us; 35us; 226us; 35us; 227us; 35us; 228us; 35us; 229us; 35us; 230us; 35us; 231us; 35us; 232us; 35us; 233us; 35us; 234us; 35us; 235us; 35us; 236us; 35us; 237us; 35us; 238us; 35us; 239us; 35us; 240us; 35us; 241us; 35us; 242us; 35us; 243us; 35us; 244us; 35us; 245us; 35us; 246us; 35us; 247us; 35us; 248us; 35us; 249us; 35us; 250us; 35us; 251us; 35us; 252us; 35us; 253us; 35us; 254us; 35us; 255us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 27 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 68us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 35us; 129us; 35us; 130us; 35us; 131us; 35us; 132us; 35us; 133us; 35us; 134us; 35us; 135us; 35us; 136us; 35us; 137us; 35us; 138us; 35us; 139us; 35us; 140us; 35us; 141us; 35us; 142us; 35us; 143us; 35us; 144us; 35us; 145us; 35us; 146us; 35us; 147us; 35us; 148us; 35us; 149us; 35us; 150us; 35us; 151us; 35us; 152us; 35us; 153us; 35us; 154us; 35us; 155us; 35us; 156us; 35us; 157us; 35us; 158us; 35us; 159us; 35us; 160us; 35us; 161us; 35us; 162us; 35us; 163us; 35us; 164us; 35us; 165us; 35us; 166us; 35us; 167us; 35us; 168us; 35us; 169us; 35us; 170us; 35us; 171us; 35us; 172us; 35us; 173us; 35us; 174us; 35us; 175us; 35us; 176us; 35us; 177us; 35us; 178us; 35us; 179us; 35us; 180us; 35us; 181us; 35us; 182us; 35us; 183us; 35us; 184us; 35us; 185us; 35us; 186us; 35us; 187us; 35us; 188us; 35us; 189us; 35us; 190us; 35us; 191us; 35us; 192us; 35us; 193us; 35us; 194us; 35us; 195us; 35us; 196us; 35us; 197us; 35us; 198us; 35us; 199us; 35us; 200us; 35us; 201us; 35us; 202us; 35us; 203us; 35us; 204us; 35us; 205us; 35us; 206us; 35us; 207us; 35us; 208us; 35us; 209us; 35us; 210us; 35us; 211us; 35us; 212us; 35us; 213us; 35us; 214us; 35us; 215us; 35us; 216us; 35us; 217us; 35us; 218us; 35us; 219us; 35us; 220us; 35us; 221us; 35us; 222us; 35us; 223us; 35us; 224us; 35us; 225us; 35us; 226us; 35us; 227us; 35us; 228us; 35us; 229us; 35us; 230us; 35us; 231us; 35us; 232us; 35us; 233us; 35us; 234us; 35us; 235us; 35us; 236us; 35us; 237us; 35us; 238us; 35us; 239us; 35us; 240us; 35us; 241us; 35us; 242us; 35us; 243us; 35us; 244us; 35us; 245us; 35us; 246us; 35us; 247us; 35us; 248us; 35us; 249us; 35us; 250us; 35us; 251us; 35us; 252us; 35us; 253us; 35us; 254us; 35us; 255us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 28 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 64us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 35us; 129us; 35us; 130us; 35us; 131us; 35us; 132us; 35us; 133us; 35us; 134us; 35us; 135us; 35us; 136us; 35us; 137us; 35us; 138us; 35us; 139us; 35us; 140us; 35us; 141us; 35us; 142us; 35us; 143us; 35us; 144us; 35us; 145us; 35us; 146us; 35us; 147us; 35us; 148us; 35us; 149us; 35us; 150us; 35us; 151us; 35us; 152us; 35us; 153us; 35us; 154us; 35us; 155us; 35us; 156us; 35us; 157us; 35us; 158us; 35us; 159us; 35us; 160us; 35us; 161us; 35us; 162us; 35us; 163us; 35us; 164us; 35us; 165us; 35us; 166us; 35us; 167us; 35us; 168us; 35us; 169us; 35us; 170us; 35us; 171us; 35us; 172us; 35us; 173us; 35us; 174us; 35us; 175us; 35us; 176us; 35us; 177us; 35us; 178us; 35us; 179us; 35us; 180us; 35us; 181us; 35us; 182us; 35us; 183us; 35us; 184us; 35us; 185us; 35us; 186us; 35us; 187us; 35us; 188us; 35us; 189us; 35us; 190us; 35us; 191us; 35us; 192us; 35us; 193us; 35us; 194us; 35us; 195us; 35us; 196us; 35us; 197us; 35us; 198us; 35us; 199us; 35us; 200us; 35us; 201us; 35us; 202us; 35us; 203us; 35us; 204us; 35us; 205us; 35us; 206us; 35us; 207us; 35us; 208us; 35us; 209us; 35us; 210us; 35us; 211us; 35us; 212us; 35us; 213us; 35us; 214us; 35us; 215us; 35us; 216us; 35us; 217us; 35us; 218us; 35us; 219us; 35us; 220us; 35us; 221us; 35us; 222us; 35us; 223us; 35us; 224us; 35us; 225us; 35us; 226us; 35us; 227us; 35us; 228us; 35us; 229us; 35us; 230us; 35us; 231us; 35us; 232us; 35us; 233us; 35us; 234us; 35us; 235us; 35us; 236us; 35us; 237us; 35us; 238us; 35us; 239us; 35us; 240us; 35us; 241us; 35us; 242us; 35us; 243us; 35us; 244us; 35us; 245us; 35us; 246us; 35us; 247us; 35us; 248us; 35us; 249us; 35us; 250us; 35us; 251us; 35us; 252us; 35us; 253us; 35us; 254us; 35us; 255us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 29 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 61us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 35us; 129us; 35us; 130us; 35us; 131us; 35us; 132us; 35us; 133us; 35us; 134us; 35us; 135us; 35us; 136us; 35us; 137us; 35us; 138us; 35us; 139us; 35us; 140us; 35us; 141us; 35us; 142us; 35us; 143us; 35us; 144us; 35us; 145us; 35us; 146us; 35us; 147us; 35us; 148us; 35us; 149us; 35us; 150us; 35us; 151us; 35us; 152us; 35us; 153us; 35us; 154us; 35us; 155us; 35us; 156us; 35us; 157us; 35us; 158us; 35us; 159us; 35us; 160us; 35us; 161us; 35us; 162us; 35us; 163us; 35us; 164us; 35us; 165us; 35us; 166us; 35us; 167us; 35us; 168us; 35us; 169us; 35us; 170us; 35us; 171us; 35us; 172us; 35us; 173us; 35us; 174us; 35us; 175us; 35us; 176us; 35us; 177us; 35us; 178us; 35us; 179us; 35us; 180us; 35us; 181us; 35us; 182us; 35us; 183us; 35us; 184us; 35us; 185us; 35us; 186us; 35us; 187us; 35us; 188us; 35us; 189us; 35us; 190us; 35us; 191us; 35us; 192us; 35us; 193us; 35us; 194us; 35us; 195us; 35us; 196us; 35us; 197us; 35us; 198us; 35us; 199us; 35us; 200us; 35us; 201us; 35us; 202us; 35us; 203us; 35us; 204us; 35us; 205us; 35us; 206us; 35us; 207us; 35us; 208us; 35us; 209us; 35us; 210us; 35us; 211us; 35us; 212us; 35us; 213us; 35us; 214us; 35us; 215us; 35us; 216us; 35us; 217us; 35us; 218us; 35us; 219us; 35us; 220us; 35us; 221us; 35us; 222us; 35us; 223us; 35us; 224us; 35us; 225us; 35us; 226us; 35us; 227us; 35us; 228us; 35us; 229us; 35us; 230us; 35us; 231us; 35us; 232us; 35us; 233us; 35us; 234us; 35us; 235us; 35us; 236us; 35us; 237us; 35us; 238us; 35us; 239us; 35us; 240us; 35us; 241us; 35us; 242us; 35us; 243us; 35us; 244us; 35us; 245us; 35us; 246us; 35us; 247us; 35us; 248us; 35us; 249us; 35us; 250us; 35us; 251us; 35us; 252us; 35us; 253us; 35us; 254us; 35us; 255us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 30 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 45us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 35us; 129us; 35us; 130us; 35us; 131us; 35us; 132us; 35us; 133us; 35us; 134us; 35us; 135us; 35us; 136us; 35us; 137us; 35us; 138us; 35us; 139us; 35us; 140us; 35us; 141us; 35us; 142us; 35us; 143us; 35us; 144us; 35us; 145us; 35us; 146us; 35us; 147us; 35us; 148us; 35us; 149us; 35us; 150us; 35us; 151us; 35us; 152us; 35us; 153us; 35us; 154us; 35us; 155us; 35us; 156us; 35us; 157us; 35us; 158us; 35us; 159us; 35us; 160us; 35us; 161us; 35us; 162us; 35us; 163us; 35us; 164us; 35us; 165us; 35us; 166us; 35us; 167us; 35us; 168us; 35us; 169us; 35us; 170us; 35us; 171us; 35us; 172us; 35us; 173us; 35us; 174us; 35us; 175us; 35us; 176us; 35us; 177us; 35us; 178us; 35us; 179us; 35us; 180us; 35us; 181us; 35us; 182us; 35us; 183us; 35us; 184us; 35us; 185us; 35us; 186us; 35us; 187us; 35us; 188us; 35us; 189us; 35us; 190us; 35us; 191us; 35us; 192us; 35us; 193us; 35us; 194us; 35us; 195us; 35us; 196us; 35us; 197us; 35us; 198us; 35us; 199us; 35us; 200us; 35us; 201us; 35us; 202us; 35us; 203us; 35us; 204us; 35us; 205us; 35us; 206us; 35us; 207us; 35us; 208us; 35us; 209us; 35us; 210us; 35us; 211us; 35us; 212us; 35us; 213us; 35us; 214us; 35us; 215us; 35us; 216us; 35us; 217us; 35us; 218us; 35us; 219us; 35us; 220us; 35us; 221us; 35us; 222us; 35us; 223us; 35us; 224us; 35us; 225us; 35us; 226us; 35us; 227us; 35us; 228us; 35us; 229us; 35us; 230us; 35us; 231us; 35us; 232us; 35us; 233us; 35us; 234us; 35us; 235us; 35us; 236us; 35us; 237us; 35us; 238us; 35us; 239us; 35us; 240us; 35us; 241us; 35us; 242us; 35us; 243us; 35us; 244us; 35us; 245us; 35us; 246us; 35us; 247us; 35us; 248us; 35us; 249us; 35us; 250us; 35us; 251us; 35us; 252us; 35us; 253us; 35us; 254us; 35us; 255us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 31 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 35us; 129us; 35us; 130us; 35us; 131us; 35us; 132us; 35us; 133us; 35us; 134us; 35us; 135us; 35us; 136us; 35us; 137us; 35us; 138us; 35us; 139us; 35us; 140us; 35us; 141us; 35us; 142us; 35us; 143us; 35us; 144us; 35us; 145us; 35us; 146us; 35us; 147us; 35us; 148us; 35us; 149us; 35us; 150us; 35us; 151us; 35us; 152us; 35us; 153us; 35us; 154us; 35us; 155us; 35us; 156us; 35us; 157us; 35us; 158us; 35us; 159us; 35us; 160us; 35us; 161us; 35us; 162us; 35us; 163us; 35us; 164us; 35us; 165us; 35us; 166us; 35us; 167us; 35us; 168us; 35us; 169us; 35us; 170us; 35us; 171us; 35us; 172us; 35us; 173us; 35us; 174us; 35us; 175us; 35us; 176us; 35us; 177us; 35us; 178us; 35us; 179us; 35us; 180us; 35us; 181us; 35us; 182us; 35us; 183us; 35us; 184us; 35us; 185us; 35us; 186us; 35us; 187us; 35us; 188us; 35us; 189us; 35us; 190us; 35us; 191us; 35us; 192us; 35us; 193us; 35us; 194us; 35us; 195us; 35us; 196us; 35us; 197us; 35us; 198us; 35us; 199us; 35us; 200us; 35us; 201us; 35us; 202us; 35us; 203us; 35us; 204us; 35us; 205us; 35us; 206us; 35us; 207us; 35us; 208us; 35us; 209us; 35us; 210us; 35us; 211us; 35us; 212us; 35us; 213us; 35us; 214us; 35us; 215us; 35us; 216us; 35us; 217us; 35us; 218us; 35us; 219us; 35us; 220us; 35us; 221us; 35us; 222us; 35us; 223us; 35us; 224us; 35us; 225us; 35us; 226us; 35us; 227us; 35us; 228us; 35us; 229us; 35us; 230us; 35us; 231us; 35us; 232us; 35us; 233us; 35us; 234us; 35us; 235us; 35us; 236us; 35us; 237us; 35us; 238us; 35us; 239us; 35us; 240us; 35us; 241us; 35us; 242us; 35us; 243us; 35us; 244us; 35us; 245us; 35us; 246us; 35us; 247us; 35us; 248us; 35us; 249us; 35us; 250us; 35us; 251us; 35us; 252us; 35us; 253us; 35us; 254us; 35us; 255us; 35us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 32 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 33 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 34 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 35 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 36 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 37 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 38us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 65535us; 65535us; 65535us; 65535us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 38us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 38us; 129us; 38us; 130us; 38us; 131us; 38us; 132us; 38us; 133us; 38us; 134us; 38us; 135us; 38us; 136us; 38us; 137us; 38us; 138us; 38us; 139us; 38us; 140us; 38us; 141us; 38us; 142us; 38us; 143us; 38us; 144us; 38us; 145us; 38us; 146us; 38us; 147us; 38us; 148us; 38us; 149us; 38us; 150us; 38us; 151us; 38us; 152us; 38us; 153us; 38us; 154us; 38us; 155us; 38us; 156us; 38us; 157us; 38us; 158us; 38us; 159us; 38us; 160us; 38us; 161us; 38us; 162us; 38us; 163us; 38us; 164us; 38us; 165us; 38us; 166us; 38us; 167us; 38us; 168us; 38us; 169us; 38us; 170us; 38us; 171us; 38us; 172us; 38us; 173us; 38us; 174us; 38us; 175us; 38us; 176us; 38us; 177us; 38us; 178us; 38us; 179us; 38us; 180us; 38us; 181us; 38us; 182us; 38us; 183us; 38us; 184us; 38us; 185us; 38us; 186us; 38us; 187us; 38us; 188us; 38us; 189us; 38us; 190us; 38us; 191us; 38us; 192us; 38us; 193us; 38us; 194us; 38us; 195us; 38us; 196us; 38us; 197us; 38us; 198us; 38us; 199us; 38us; 200us; 38us; 201us; 38us; 202us; 38us; 203us; 38us; 204us; 38us; 205us; 38us; 206us; 38us; 207us; 38us; 208us; 38us; 209us; 38us; 210us; 38us; 211us; 38us; 212us; 38us; 213us; 38us; 214us; 38us; 215us; 38us; 216us; 38us; 217us; 38us; 218us; 38us; 219us; 38us; 220us; 38us; 221us; 38us; 222us; 38us; 223us; 38us; 224us; 38us; 225us; 38us; 226us; 38us; 227us; 38us; 228us; 38us; 229us; 38us; 230us; 38us; 231us; 38us; 232us; 38us; 233us; 38us; 234us; 38us; 235us; 38us; 236us; 38us; 237us; 38us; 238us; 38us; 239us; 38us; 240us; 38us; 241us; 38us; 242us; 38us; 243us; 38us; 244us; 38us; 245us; 38us; 246us; 38us; 247us; 38us; 248us; 38us; 249us; 38us; 250us; 38us; 251us; 38us; 252us; 38us; 253us; 38us; 254us; 38us; 255us; 38us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 38 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 39us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 39us; 65535us; 65535us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 65535us; 65535us; 65535us; 65535us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 39us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 39us; 129us; 39us; 130us; 39us; 131us; 39us; 132us; 39us; 133us; 39us; 134us; 39us; 135us; 39us; 136us; 39us; 137us; 39us; 138us; 39us; 139us; 39us; 140us; 39us; 141us; 39us; 142us; 39us; 143us; 39us; 144us; 39us; 145us; 39us; 146us; 39us; 147us; 39us; 148us; 39us; 149us; 39us; 150us; 39us; 151us; 39us; 152us; 39us; 153us; 39us; 154us; 39us; 155us; 39us; 156us; 39us; 157us; 39us; 158us; 39us; 159us; 39us; 160us; 39us; 161us; 39us; 162us; 39us; 163us; 39us; 164us; 39us; 165us; 39us; 166us; 39us; 167us; 39us; 168us; 39us; 169us; 39us; 170us; 39us; 171us; 39us; 172us; 39us; 173us; 39us; 174us; 39us; 175us; 39us; 176us; 39us; 177us; 39us; 178us; 39us; 179us; 39us; 180us; 39us; 181us; 39us; 182us; 39us; 183us; 39us; 184us; 39us; 185us; 39us; 186us; 39us; 187us; 39us; 188us; 39us; 189us; 39us; 190us; 39us; 191us; 39us; 192us; 39us; 193us; 39us; 194us; 39us; 195us; 39us; 196us; 39us; 197us; 39us; 198us; 39us; 199us; 39us; 200us; 39us; 201us; 39us; 202us; 39us; 203us; 39us; 204us; 39us; 205us; 39us; 206us; 39us; 207us; 39us; 208us; 39us; 209us; 39us; 210us; 39us; 211us; 39us; 212us; 39us; 213us; 39us; 214us; 39us; 215us; 39us; 216us; 39us; 217us; 39us; 218us; 39us; 219us; 39us; 220us; 39us; 221us; 39us; 222us; 39us; 223us; 39us; 224us; 39us; 225us; 39us; 226us; 39us; 227us; 39us; 228us; 39us; 229us; 39us; 230us; 39us; 231us; 39us; 232us; 39us; 233us; 39us; 234us; 39us; 235us; 39us; 236us; 39us; 237us; 39us; 238us; 39us; 239us; 39us; 240us; 39us; 241us; 39us; 242us; 39us; 243us; 39us; 244us; 39us; 245us; 39us; 246us; 39us; 247us; 39us; 248us; 39us; 249us; 39us; 250us; 39us; 251us; 39us; 252us; 39us; 253us; 39us; 254us; 39us; 255us; 39us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 39 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 41us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 41us; 40us; 65535us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 65535us; 65535us; 65535us; 65535us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 41us; 129us; 41us; 130us; 41us; 131us; 41us; 132us; 41us; 133us; 41us; 134us; 41us; 135us; 41us; 136us; 41us; 137us; 41us; 138us; 41us; 139us; 41us; 140us; 41us; 141us; 41us; 142us; 41us; 143us; 41us; 144us; 41us; 145us; 41us; 146us; 41us; 147us; 41us; 148us; 41us; 149us; 41us; 150us; 41us; 151us; 41us; 152us; 41us; 153us; 41us; 154us; 41us; 155us; 41us; 156us; 41us; 157us; 41us; 158us; 41us; 159us; 41us; 160us; 41us; 161us; 41us; 162us; 41us; 163us; 41us; 164us; 41us; 165us; 41us; 166us; 41us; 167us; 41us; 168us; 41us; 169us; 41us; 170us; 41us; 171us; 41us; 172us; 41us; 173us; 41us; 174us; 41us; 175us; 41us; 176us; 41us; 177us; 41us; 178us; 41us; 179us; 41us; 180us; 41us; 181us; 41us; 182us; 41us; 183us; 41us; 184us; 41us; 185us; 41us; 186us; 41us; 187us; 41us; 188us; 41us; 189us; 41us; 190us; 41us; 191us; 41us; 192us; 41us; 193us; 41us; 194us; 41us; 195us; 41us; 196us; 41us; 197us; 41us; 198us; 41us; 199us; 41us; 200us; 41us; 201us; 41us; 202us; 41us; 203us; 41us; 204us; 41us; 205us; 41us; 206us; 41us; 207us; 41us; 208us; 41us; 209us; 41us; 210us; 41us; 211us; 41us; 212us; 41us; 213us; 41us; 214us; 41us; 215us; 41us; 216us; 41us; 217us; 41us; 218us; 41us; 219us; 41us; 220us; 41us; 221us; 41us; 222us; 41us; 223us; 41us; 224us; 41us; 225us; 41us; 226us; 41us; 227us; 41us; 228us; 41us; 229us; 41us; 230us; 41us; 231us; 41us; 232us; 41us; 233us; 41us; 234us; 41us; 235us; 41us; 236us; 41us; 237us; 41us; 238us; 41us; 239us; 41us; 240us; 41us; 241us; 41us; 242us; 41us; 243us; 41us; 244us; 41us; 245us; 41us; 246us; 41us; 247us; 41us; 248us; 41us; 249us; 41us; 250us; 41us; 251us; 41us; 252us; 41us; 253us; 41us; 254us; 41us; 255us; 41us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 40 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 42us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 65535us; 65535us; 65535us; 65535us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 42us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 42us; 129us; 42us; 130us; 42us; 131us; 42us; 132us; 42us; 133us; 42us; 134us; 42us; 135us; 42us; 136us; 42us; 137us; 42us; 138us; 42us; 139us; 42us; 140us; 42us; 141us; 42us; 142us; 42us; 143us; 42us; 144us; 42us; 145us; 42us; 146us; 42us; 147us; 42us; 148us; 42us; 149us; 42us; 150us; 42us; 151us; 42us; 152us; 42us; 153us; 42us; 154us; 42us; 155us; 42us; 156us; 42us; 157us; 42us; 158us; 42us; 159us; 42us; 160us; 42us; 161us; 42us; 162us; 42us; 163us; 42us; 164us; 42us; 165us; 42us; 166us; 42us; 167us; 42us; 168us; 42us; 169us; 42us; 170us; 42us; 171us; 42us; 172us; 42us; 173us; 42us; 174us; 42us; 175us; 42us; 176us; 42us; 177us; 42us; 178us; 42us; 179us; 42us; 180us; 42us; 181us; 42us; 182us; 42us; 183us; 42us; 184us; 42us; 185us; 42us; 186us; 42us; 187us; 42us; 188us; 42us; 189us; 42us; 190us; 42us; 191us; 42us; 192us; 42us; 193us; 42us; 194us; 42us; 195us; 42us; 196us; 42us; 197us; 42us; 198us; 42us; 199us; 42us; 200us; 42us; 201us; 42us; 202us; 42us; 203us; 42us; 204us; 42us; 205us; 42us; 206us; 42us; 207us; 42us; 208us; 42us; 209us; 42us; 210us; 42us; 211us; 42us; 212us; 42us; 213us; 42us; 214us; 42us; 215us; 42us; 216us; 42us; 217us; 42us; 218us; 42us; 219us; 42us; 220us; 42us; 221us; 42us; 222us; 42us; 223us; 42us; 224us; 42us; 225us; 42us; 226us; 42us; 227us; 42us; 228us; 42us; 229us; 42us; 230us; 42us; 231us; 42us; 232us; 42us; 233us; 42us; 234us; 42us; 235us; 42us; 236us; 42us; 237us; 42us; 238us; 42us; 239us; 42us; 240us; 42us; 241us; 42us; 242us; 42us; 243us; 42us; 244us; 42us; 245us; 42us; 246us; 42us; 247us; 42us; 248us; 42us; 249us; 42us; 250us; 42us; 251us; 42us; 252us; 42us; 253us; 42us; 254us; 42us; 255us; 42us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 41 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 41us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 41us; 40us; 65535us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 65535us; 65535us; 65535us; 65535us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 41us; 129us; 41us; 130us; 41us; 131us; 41us; 132us; 41us; 133us; 41us; 134us; 41us; 135us; 41us; 136us; 41us; 137us; 41us; 138us; 41us; 139us; 41us; 140us; 41us; 141us; 41us; 142us; 41us; 143us; 41us; 144us; 41us; 145us; 41us; 146us; 41us; 147us; 41us; 148us; 41us; 149us; 41us; 150us; 41us; 151us; 41us; 152us; 41us; 153us; 41us; 154us; 41us; 155us; 41us; 156us; 41us; 157us; 41us; 158us; 41us; 159us; 41us; 160us; 41us; 161us; 41us; 162us; 41us; 163us; 41us; 164us; 41us; 165us; 41us; 166us; 41us; 167us; 41us; 168us; 41us; 169us; 41us; 170us; 41us; 171us; 41us; 172us; 41us; 173us; 41us; 174us; 41us; 175us; 41us; 176us; 41us; 177us; 41us; 178us; 41us; 179us; 41us; 180us; 41us; 181us; 41us; 182us; 41us; 183us; 41us; 184us; 41us; 185us; 41us; 186us; 41us; 187us; 41us; 188us; 41us; 189us; 41us; 190us; 41us; 191us; 41us; 192us; 41us; 193us; 41us; 194us; 41us; 195us; 41us; 196us; 41us; 197us; 41us; 198us; 41us; 199us; 41us; 200us; 41us; 201us; 41us; 202us; 41us; 203us; 41us; 204us; 41us; 205us; 41us; 206us; 41us; 207us; 41us; 208us; 41us; 209us; 41us; 210us; 41us; 211us; 41us; 212us; 41us; 213us; 41us; 214us; 41us; 215us; 41us; 216us; 41us; 217us; 41us; 218us; 41us; 219us; 41us; 220us; 41us; 221us; 41us; 222us; 41us; 223us; 41us; 224us; 41us; 225us; 41us; 226us; 41us; 227us; 41us; 228us; 41us; 229us; 41us; 230us; 41us; 231us; 41us; 232us; 41us; 233us; 41us; 234us; 41us; 235us; 41us; 236us; 41us; 237us; 41us; 238us; 41us; 239us; 41us; 240us; 41us; 241us; 41us; 242us; 41us; 243us; 41us; 244us; 41us; 245us; 41us; 246us; 41us; 247us; 41us; 248us; 41us; 249us; 41us; 250us; 41us; 251us; 41us; 252us; 41us; 253us; 41us; 254us; 41us; 255us; 41us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 42 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 43us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 43us; 65535us; 65535us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 65535us; 65535us; 65535us; 65535us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 43us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 43us; 129us; 43us; 130us; 43us; 131us; 43us; 132us; 43us; 133us; 43us; 134us; 43us; 135us; 43us; 136us; 43us; 137us; 43us; 138us; 43us; 139us; 43us; 140us; 43us; 141us; 43us; 142us; 43us; 143us; 43us; 144us; 43us; 145us; 43us; 146us; 43us; 147us; 43us; 148us; 43us; 149us; 43us; 150us; 43us; 151us; 43us; 152us; 43us; 153us; 43us; 154us; 43us; 155us; 43us; 156us; 43us; 157us; 43us; 158us; 43us; 159us; 43us; 160us; 43us; 161us; 43us; 162us; 43us; 163us; 43us; 164us; 43us; 165us; 43us; 166us; 43us; 167us; 43us; 168us; 43us; 169us; 43us; 170us; 43us; 171us; 43us; 172us; 43us; 173us; 43us; 174us; 43us; 175us; 43us; 176us; 43us; 177us; 43us; 178us; 43us; 179us; 43us; 180us; 43us; 181us; 43us; 182us; 43us; 183us; 43us; 184us; 43us; 185us; 43us; 186us; 43us; 187us; 43us; 188us; 43us; 189us; 43us; 190us; 43us; 191us; 43us; 192us; 43us; 193us; 43us; 194us; 43us; 195us; 43us; 196us; 43us; 197us; 43us; 198us; 43us; 199us; 43us; 200us; 43us; 201us; 43us; 202us; 43us; 203us; 43us; 204us; 43us; 205us; 43us; 206us; 43us; 207us; 43us; 208us; 43us; 209us; 43us; 210us; 43us; 211us; 43us; 212us; 43us; 213us; 43us; 214us; 43us; 215us; 43us; 216us; 43us; 217us; 43us; 218us; 43us; 219us; 43us; 220us; 43us; 221us; 43us; 222us; 43us; 223us; 43us; 224us; 43us; 225us; 43us; 226us; 43us; 227us; 43us; 228us; 43us; 229us; 43us; 230us; 43us; 231us; 43us; 232us; 43us; 233us; 43us; 234us; 43us; 235us; 43us; 236us; 43us; 237us; 43us; 238us; 43us; 239us; 43us; 240us; 43us; 241us; 43us; 242us; 43us; 243us; 43us; 244us; 43us; 245us; 43us; 246us; 43us; 247us; 43us; 248us; 43us; 249us; 43us; 250us; 43us; 251us; 43us; 252us; 43us; 253us; 43us; 254us; 43us; 255us; 43us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 43 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 40us; 65535us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 65535us; 65535us; 65535us; 65535us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 44us; 129us; 44us; 130us; 44us; 131us; 44us; 132us; 44us; 133us; 44us; 134us; 44us; 135us; 44us; 136us; 44us; 137us; 44us; 138us; 44us; 139us; 44us; 140us; 44us; 141us; 44us; 142us; 44us; 143us; 44us; 144us; 44us; 145us; 44us; 146us; 44us; 147us; 44us; 148us; 44us; 149us; 44us; 150us; 44us; 151us; 44us; 152us; 44us; 153us; 44us; 154us; 44us; 155us; 44us; 156us; 44us; 157us; 44us; 158us; 44us; 159us; 44us; 160us; 44us; 161us; 44us; 162us; 44us; 163us; 44us; 164us; 44us; 165us; 44us; 166us; 44us; 167us; 44us; 168us; 44us; 169us; 44us; 170us; 44us; 171us; 44us; 172us; 44us; 173us; 44us; 174us; 44us; 175us; 44us; 176us; 44us; 177us; 44us; 178us; 44us; 179us; 44us; 180us; 44us; 181us; 44us; 182us; 44us; 183us; 44us; 184us; 44us; 185us; 44us; 186us; 44us; 187us; 44us; 188us; 44us; 189us; 44us; 190us; 44us; 191us; 44us; 192us; 44us; 193us; 44us; 194us; 44us; 195us; 44us; 196us; 44us; 197us; 44us; 198us; 44us; 199us; 44us; 200us; 44us; 201us; 44us; 202us; 44us; 203us; 44us; 204us; 44us; 205us; 44us; 206us; 44us; 207us; 44us; 208us; 44us; 209us; 44us; 210us; 44us; 211us; 44us; 212us; 44us; 213us; 44us; 214us; 44us; 215us; 44us; 216us; 44us; 217us; 44us; 218us; 44us; 219us; 44us; 220us; 44us; 221us; 44us; 222us; 44us; 223us; 44us; 224us; 44us; 225us; 44us; 226us; 44us; 227us; 44us; 228us; 44us; 229us; 44us; 230us; 44us; 231us; 44us; 232us; 44us; 233us; 44us; 234us; 44us; 235us; 44us; 236us; 44us; 237us; 44us; 238us; 44us; 239us; 44us; 240us; 44us; 241us; 44us; 242us; 44us; 243us; 44us; 244us; 44us; 245us; 44us; 246us; 44us; 247us; 44us; 248us; 44us; 249us; 44us; 250us; 44us; 251us; 44us; 252us; 44us; 253us; 44us; 254us; 44us; 255us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 44 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 40us; 65535us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 65535us; 65535us; 65535us; 65535us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 44us; 129us; 44us; 130us; 44us; 131us; 44us; 132us; 44us; 133us; 44us; 134us; 44us; 135us; 44us; 136us; 44us; 137us; 44us; 138us; 44us; 139us; 44us; 140us; 44us; 141us; 44us; 142us; 44us; 143us; 44us; 144us; 44us; 145us; 44us; 146us; 44us; 147us; 44us; 148us; 44us; 149us; 44us; 150us; 44us; 151us; 44us; 152us; 44us; 153us; 44us; 154us; 44us; 155us; 44us; 156us; 44us; 157us; 44us; 158us; 44us; 159us; 44us; 160us; 44us; 161us; 44us; 162us; 44us; 163us; 44us; 164us; 44us; 165us; 44us; 166us; 44us; 167us; 44us; 168us; 44us; 169us; 44us; 170us; 44us; 171us; 44us; 172us; 44us; 173us; 44us; 174us; 44us; 175us; 44us; 176us; 44us; 177us; 44us; 178us; 44us; 179us; 44us; 180us; 44us; 181us; 44us; 182us; 44us; 183us; 44us; 184us; 44us; 185us; 44us; 186us; 44us; 187us; 44us; 188us; 44us; 189us; 44us; 190us; 44us; 191us; 44us; 192us; 44us; 193us; 44us; 194us; 44us; 195us; 44us; 196us; 44us; 197us; 44us; 198us; 44us; 199us; 44us; 200us; 44us; 201us; 44us; 202us; 44us; 203us; 44us; 204us; 44us; 205us; 44us; 206us; 44us; 207us; 44us; 208us; 44us; 209us; 44us; 210us; 44us; 211us; 44us; 212us; 44us; 213us; 44us; 214us; 44us; 215us; 44us; 216us; 44us; 217us; 44us; 218us; 44us; 219us; 44us; 220us; 44us; 221us; 44us; 222us; 44us; 223us; 44us; 224us; 44us; 225us; 44us; 226us; 44us; 227us; 44us; 228us; 44us; 229us; 44us; 230us; 44us; 231us; 44us; 232us; 44us; 233us; 44us; 234us; 44us; 235us; 44us; 236us; 44us; 237us; 44us; 238us; 44us; 239us; 44us; 240us; 44us; 241us; 44us; 242us; 44us; 243us; 44us; 244us; 44us; 245us; 44us; 246us; 44us; 247us; 44us; 248us; 44us; 249us; 44us; 250us; 44us; 251us; 44us; 252us; 44us; 253us; 44us; 254us; 44us; 255us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 45 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 46us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 46 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 47us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 47 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 48us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 48 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 49us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 49 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 50 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 51us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 51 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 38us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 52us; 65535us; 52us; 52us; 52us; 52us; 52us; 52us; 52us; 52us; 52us; 52us; 65535us; 65535us; 65535us; 65535us; 65535us; 38us; 38us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 65535us; 65535us; 65535us; 65535us; 38us; 38us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 38us; 129us; 38us; 130us; 38us; 131us; 38us; 132us; 38us; 133us; 38us; 134us; 38us; 135us; 38us; 136us; 38us; 137us; 38us; 138us; 38us; 139us; 38us; 140us; 38us; 141us; 38us; 142us; 38us; 143us; 38us; 144us; 38us; 145us; 38us; 146us; 38us; 147us; 38us; 148us; 38us; 149us; 38us; 150us; 38us; 151us; 38us; 152us; 38us; 153us; 38us; 154us; 38us; 155us; 38us; 156us; 38us; 157us; 38us; 158us; 38us; 159us; 38us; 160us; 38us; 161us; 38us; 162us; 38us; 163us; 38us; 164us; 38us; 165us; 38us; 166us; 38us; 167us; 38us; 168us; 38us; 169us; 38us; 170us; 38us; 171us; 38us; 172us; 38us; 173us; 38us; 174us; 38us; 175us; 38us; 176us; 38us; 177us; 38us; 178us; 38us; 179us; 38us; 180us; 38us; 181us; 38us; 182us; 38us; 183us; 38us; 184us; 38us; 185us; 38us; 186us; 38us; 187us; 38us; 188us; 38us; 189us; 38us; 190us; 38us; 191us; 38us; 192us; 38us; 193us; 38us; 194us; 38us; 195us; 38us; 196us; 38us; 197us; 38us; 198us; 38us; 199us; 38us; 200us; 38us; 201us; 38us; 202us; 38us; 203us; 38us; 204us; 38us; 205us; 38us; 206us; 38us; 207us; 38us; 208us; 38us; 209us; 38us; 210us; 38us; 211us; 38us; 212us; 38us; 213us; 38us; 214us; 38us; 215us; 38us; 216us; 38us; 217us; 38us; 218us; 38us; 219us; 38us; 220us; 38us; 221us; 38us; 222us; 38us; 223us; 38us; 224us; 38us; 225us; 38us; 226us; 38us; 227us; 38us; 228us; 38us; 229us; 38us; 230us; 38us; 231us; 38us; 232us; 38us; 233us; 38us; 234us; 38us; 235us; 38us; 236us; 38us; 237us; 38us; 238us; 38us; 239us; 38us; 240us; 38us; 241us; 38us; 242us; 38us; 243us; 38us; 244us; 38us; 245us; 38us; 246us; 38us; 247us; 38us; 248us; 38us; 249us; 38us; 250us; 38us; 251us; 38us; 252us; 38us; 253us; 38us; 254us; 38us; 255us; 38us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 52 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 54us; 65535us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 53 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 39us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 39us; 54us; 65535us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 39us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 65535us; 65535us; 65535us; 65535us; 39us; 39us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 39us; 129us; 39us; 130us; 39us; 131us; 39us; 132us; 39us; 133us; 39us; 134us; 39us; 135us; 39us; 136us; 39us; 137us; 39us; 138us; 39us; 139us; 39us; 140us; 39us; 141us; 39us; 142us; 39us; 143us; 39us; 144us; 39us; 145us; 39us; 146us; 39us; 147us; 39us; 148us; 39us; 149us; 39us; 150us; 39us; 151us; 39us; 152us; 39us; 153us; 39us; 154us; 39us; 155us; 39us; 156us; 39us; 157us; 39us; 158us; 39us; 159us; 39us; 160us; 39us; 161us; 39us; 162us; 39us; 163us; 39us; 164us; 39us; 165us; 39us; 166us; 39us; 167us; 39us; 168us; 39us; 169us; 39us; 170us; 39us; 171us; 39us; 172us; 39us; 173us; 39us; 174us; 39us; 175us; 39us; 176us; 39us; 177us; 39us; 178us; 39us; 179us; 39us; 180us; 39us; 181us; 39us; 182us; 39us; 183us; 39us; 184us; 39us; 185us; 39us; 186us; 39us; 187us; 39us; 188us; 39us; 189us; 39us; 190us; 39us; 191us; 39us; 192us; 39us; 193us; 39us; 194us; 39us; 195us; 39us; 196us; 39us; 197us; 39us; 198us; 39us; 199us; 39us; 200us; 39us; 201us; 39us; 202us; 39us; 203us; 39us; 204us; 39us; 205us; 39us; 206us; 39us; 207us; 39us; 208us; 39us; 209us; 39us; 210us; 39us; 211us; 39us; 212us; 39us; 213us; 39us; 214us; 39us; 215us; 39us; 216us; 39us; 217us; 39us; 218us; 39us; 219us; 39us; 220us; 39us; 221us; 39us; 222us; 39us; 223us; 39us; 224us; 39us; 225us; 39us; 226us; 39us; 227us; 39us; 228us; 39us; 229us; 39us; 230us; 39us; 231us; 39us; 232us; 39us; 233us; 39us; 234us; 39us; 235us; 39us; 236us; 39us; 237us; 39us; 238us; 39us; 239us; 39us; 240us; 39us; 241us; 39us; 242us; 39us; 243us; 39us; 244us; 39us; 245us; 39us; 246us; 39us; 247us; 39us; 248us; 39us; 249us; 39us; 250us; 39us; 251us; 39us; 252us; 39us; 253us; 39us; 254us; 39us; 255us; 39us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 54 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 54us; 65535us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 55 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 41us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 41us; 56us; 65535us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 41us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 65535us; 65535us; 65535us; 65535us; 41us; 41us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 41us; 129us; 41us; 130us; 41us; 131us; 41us; 132us; 41us; 133us; 41us; 134us; 41us; 135us; 41us; 136us; 41us; 137us; 41us; 138us; 41us; 139us; 41us; 140us; 41us; 141us; 41us; 142us; 41us; 143us; 41us; 144us; 41us; 145us; 41us; 146us; 41us; 147us; 41us; 148us; 41us; 149us; 41us; 150us; 41us; 151us; 41us; 152us; 41us; 153us; 41us; 154us; 41us; 155us; 41us; 156us; 41us; 157us; 41us; 158us; 41us; 159us; 41us; 160us; 41us; 161us; 41us; 162us; 41us; 163us; 41us; 164us; 41us; 165us; 41us; 166us; 41us; 167us; 41us; 168us; 41us; 169us; 41us; 170us; 41us; 171us; 41us; 172us; 41us; 173us; 41us; 174us; 41us; 175us; 41us; 176us; 41us; 177us; 41us; 178us; 41us; 179us; 41us; 180us; 41us; 181us; 41us; 182us; 41us; 183us; 41us; 184us; 41us; 185us; 41us; 186us; 41us; 187us; 41us; 188us; 41us; 189us; 41us; 190us; 41us; 191us; 41us; 192us; 41us; 193us; 41us; 194us; 41us; 195us; 41us; 196us; 41us; 197us; 41us; 198us; 41us; 199us; 41us; 200us; 41us; 201us; 41us; 202us; 41us; 203us; 41us; 204us; 41us; 205us; 41us; 206us; 41us; 207us; 41us; 208us; 41us; 209us; 41us; 210us; 41us; 211us; 41us; 212us; 41us; 213us; 41us; 214us; 41us; 215us; 41us; 216us; 41us; 217us; 41us; 218us; 41us; 219us; 41us; 220us; 41us; 221us; 41us; 222us; 41us; 223us; 41us; 224us; 41us; 225us; 41us; 226us; 41us; 227us; 41us; 228us; 41us; 229us; 41us; 230us; 41us; 231us; 41us; 232us; 41us; 233us; 41us; 234us; 41us; 235us; 41us; 236us; 41us; 237us; 41us; 238us; 41us; 239us; 41us; 240us; 41us; 241us; 41us; 242us; 41us; 243us; 41us; 244us; 41us; 245us; 41us; 246us; 41us; 247us; 41us; 248us; 41us; 249us; 41us; 250us; 41us; 251us; 41us; 252us; 41us; 253us; 41us; 254us; 41us; 255us; 41us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 56 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 42us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 54us; 65535us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 54us; 65535us; 65535us; 65535us; 65535us; 65535us; 42us; 42us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 65535us; 65535us; 65535us; 65535us; 42us; 42us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 42us; 129us; 42us; 130us; 42us; 131us; 42us; 132us; 42us; 133us; 42us; 134us; 42us; 135us; 42us; 136us; 42us; 137us; 42us; 138us; 42us; 139us; 42us; 140us; 42us; 141us; 42us; 142us; 42us; 143us; 42us; 144us; 42us; 145us; 42us; 146us; 42us; 147us; 42us; 148us; 42us; 149us; 42us; 150us; 42us; 151us; 42us; 152us; 42us; 153us; 42us; 154us; 42us; 155us; 42us; 156us; 42us; 157us; 42us; 158us; 42us; 159us; 42us; 160us; 42us; 161us; 42us; 162us; 42us; 163us; 42us; 164us; 42us; 165us; 42us; 166us; 42us; 167us; 42us; 168us; 42us; 169us; 42us; 170us; 42us; 171us; 42us; 172us; 42us; 173us; 42us; 174us; 42us; 175us; 42us; 176us; 42us; 177us; 42us; 178us; 42us; 179us; 42us; 180us; 42us; 181us; 42us; 182us; 42us; 183us; 42us; 184us; 42us; 185us; 42us; 186us; 42us; 187us; 42us; 188us; 42us; 189us; 42us; 190us; 42us; 191us; 42us; 192us; 42us; 193us; 42us; 194us; 42us; 195us; 42us; 196us; 42us; 197us; 42us; 198us; 42us; 199us; 42us; 200us; 42us; 201us; 42us; 202us; 42us; 203us; 42us; 204us; 42us; 205us; 42us; 206us; 42us; 207us; 42us; 208us; 42us; 209us; 42us; 210us; 42us; 211us; 42us; 212us; 42us; 213us; 42us; 214us; 42us; 215us; 42us; 216us; 42us; 217us; 42us; 218us; 42us; 219us; 42us; 220us; 42us; 221us; 42us; 222us; 42us; 223us; 42us; 224us; 42us; 225us; 42us; 226us; 42us; 227us; 42us; 228us; 42us; 229us; 42us; 230us; 42us; 231us; 42us; 232us; 42us; 233us; 42us; 234us; 42us; 235us; 42us; 236us; 42us; 237us; 42us; 238us; 42us; 239us; 42us; 240us; 42us; 241us; 42us; 242us; 42us; 243us; 42us; 244us; 42us; 245us; 42us; 246us; 42us; 247us; 42us; 248us; 42us; 249us; 42us; 250us; 42us; 251us; 42us; 252us; 42us; 253us; 42us; 254us; 42us; 255us; 42us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 57 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 41us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 41us; 56us; 65535us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 41us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 65535us; 65535us; 65535us; 65535us; 41us; 41us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 57us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 41us; 129us; 41us; 130us; 41us; 131us; 41us; 132us; 41us; 133us; 41us; 134us; 41us; 135us; 41us; 136us; 41us; 137us; 41us; 138us; 41us; 139us; 41us; 140us; 41us; 141us; 41us; 142us; 41us; 143us; 41us; 144us; 41us; 145us; 41us; 146us; 41us; 147us; 41us; 148us; 41us; 149us; 41us; 150us; 41us; 151us; 41us; 152us; 41us; 153us; 41us; 154us; 41us; 155us; 41us; 156us; 41us; 157us; 41us; 158us; 41us; 159us; 41us; 160us; 41us; 161us; 41us; 162us; 41us; 163us; 41us; 164us; 41us; 165us; 41us; 166us; 41us; 167us; 41us; 168us; 41us; 169us; 41us; 170us; 41us; 171us; 41us; 172us; 41us; 173us; 41us; 174us; 41us; 175us; 41us; 176us; 41us; 177us; 41us; 178us; 41us; 179us; 41us; 180us; 41us; 181us; 41us; 182us; 41us; 183us; 41us; 184us; 41us; 185us; 41us; 186us; 41us; 187us; 41us; 188us; 41us; 189us; 41us; 190us; 41us; 191us; 41us; 192us; 41us; 193us; 41us; 194us; 41us; 195us; 41us; 196us; 41us; 197us; 41us; 198us; 41us; 199us; 41us; 200us; 41us; 201us; 41us; 202us; 41us; 203us; 41us; 204us; 41us; 205us; 41us; 206us; 41us; 207us; 41us; 208us; 41us; 209us; 41us; 210us; 41us; 211us; 41us; 212us; 41us; 213us; 41us; 214us; 41us; 215us; 41us; 216us; 41us; 217us; 41us; 218us; 41us; 219us; 41us; 220us; 41us; 221us; 41us; 222us; 41us; 223us; 41us; 224us; 41us; 225us; 41us; 226us; 41us; 227us; 41us; 228us; 41us; 229us; 41us; 230us; 41us; 231us; 41us; 232us; 41us; 233us; 41us; 234us; 41us; 235us; 41us; 236us; 41us; 237us; 41us; 238us; 41us; 239us; 41us; 240us; 41us; 241us; 41us; 242us; 41us; 243us; 41us; 244us; 41us; 245us; 41us; 246us; 41us; 247us; 41us; 248us; 41us; 249us; 41us; 250us; 41us; 251us; 41us; 252us; 41us; 253us; 41us; 254us; 41us; 255us; 41us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 58 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 43us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 43us; 54us; 65535us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 43us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 65535us; 65535us; 65535us; 65535us; 43us; 43us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 59us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 43us; 129us; 43us; 130us; 43us; 131us; 43us; 132us; 43us; 133us; 43us; 134us; 43us; 135us; 43us; 136us; 43us; 137us; 43us; 138us; 43us; 139us; 43us; 140us; 43us; 141us; 43us; 142us; 43us; 143us; 43us; 144us; 43us; 145us; 43us; 146us; 43us; 147us; 43us; 148us; 43us; 149us; 43us; 150us; 43us; 151us; 43us; 152us; 43us; 153us; 43us; 154us; 43us; 155us; 43us; 156us; 43us; 157us; 43us; 158us; 43us; 159us; 43us; 160us; 43us; 161us; 43us; 162us; 43us; 163us; 43us; 164us; 43us; 165us; 43us; 166us; 43us; 167us; 43us; 168us; 43us; 169us; 43us; 170us; 43us; 171us; 43us; 172us; 43us; 173us; 43us; 174us; 43us; 175us; 43us; 176us; 43us; 177us; 43us; 178us; 43us; 179us; 43us; 180us; 43us; 181us; 43us; 182us; 43us; 183us; 43us; 184us; 43us; 185us; 43us; 186us; 43us; 187us; 43us; 188us; 43us; 189us; 43us; 190us; 43us; 191us; 43us; 192us; 43us; 193us; 43us; 194us; 43us; 195us; 43us; 196us; 43us; 197us; 43us; 198us; 43us; 199us; 43us; 200us; 43us; 201us; 43us; 202us; 43us; 203us; 43us; 204us; 43us; 205us; 43us; 206us; 43us; 207us; 43us; 208us; 43us; 209us; 43us; 210us; 43us; 211us; 43us; 212us; 43us; 213us; 43us; 214us; 43us; 215us; 43us; 216us; 43us; 217us; 43us; 218us; 43us; 219us; 43us; 220us; 43us; 221us; 43us; 222us; 43us; 223us; 43us; 224us; 43us; 225us; 43us; 226us; 43us; 227us; 43us; 228us; 43us; 229us; 43us; 230us; 43us; 231us; 43us; 232us; 43us; 233us; 43us; 234us; 43us; 235us; 43us; 236us; 43us; 237us; 43us; 238us; 43us; 239us; 43us; 240us; 43us; 241us; 43us; 242us; 43us; 243us; 43us; 244us; 43us; 245us; 43us; 246us; 43us; 247us; 43us; 248us; 43us; 249us; 43us; 250us; 43us; 251us; 43us; 252us; 43us; 253us; 43us; 254us; 43us; 255us; 43us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 59 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 56us; 65535us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 65535us; 65535us; 65535us; 65535us; 44us; 44us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 44us; 129us; 44us; 130us; 44us; 131us; 44us; 132us; 44us; 133us; 44us; 134us; 44us; 135us; 44us; 136us; 44us; 137us; 44us; 138us; 44us; 139us; 44us; 140us; 44us; 141us; 44us; 142us; 44us; 143us; 44us; 144us; 44us; 145us; 44us; 146us; 44us; 147us; 44us; 148us; 44us; 149us; 44us; 150us; 44us; 151us; 44us; 152us; 44us; 153us; 44us; 154us; 44us; 155us; 44us; 156us; 44us; 157us; 44us; 158us; 44us; 159us; 44us; 160us; 44us; 161us; 44us; 162us; 44us; 163us; 44us; 164us; 44us; 165us; 44us; 166us; 44us; 167us; 44us; 168us; 44us; 169us; 44us; 170us; 44us; 171us; 44us; 172us; 44us; 173us; 44us; 174us; 44us; 175us; 44us; 176us; 44us; 177us; 44us; 178us; 44us; 179us; 44us; 180us; 44us; 181us; 44us; 182us; 44us; 183us; 44us; 184us; 44us; 185us; 44us; 186us; 44us; 187us; 44us; 188us; 44us; 189us; 44us; 190us; 44us; 191us; 44us; 192us; 44us; 193us; 44us; 194us; 44us; 195us; 44us; 196us; 44us; 197us; 44us; 198us; 44us; 199us; 44us; 200us; 44us; 201us; 44us; 202us; 44us; 203us; 44us; 204us; 44us; 205us; 44us; 206us; 44us; 207us; 44us; 208us; 44us; 209us; 44us; 210us; 44us; 211us; 44us; 212us; 44us; 213us; 44us; 214us; 44us; 215us; 44us; 216us; 44us; 217us; 44us; 218us; 44us; 219us; 44us; 220us; 44us; 221us; 44us; 222us; 44us; 223us; 44us; 224us; 44us; 225us; 44us; 226us; 44us; 227us; 44us; 228us; 44us; 229us; 44us; 230us; 44us; 231us; 44us; 232us; 44us; 233us; 44us; 234us; 44us; 235us; 44us; 236us; 44us; 237us; 44us; 238us; 44us; 239us; 44us; 240us; 44us; 241us; 44us; 242us; 44us; 243us; 44us; 244us; 44us; 245us; 44us; 246us; 44us; 247us; 44us; 248us; 44us; 249us; 44us; 250us; 44us; 251us; 44us; 252us; 44us; 253us; 44us; 254us; 44us; 255us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 60 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 56us; 65535us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 65535us; 65535us; 65535us; 65535us; 44us; 44us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 60us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 44us; 129us; 44us; 130us; 44us; 131us; 44us; 132us; 44us; 133us; 44us; 134us; 44us; 135us; 44us; 136us; 44us; 137us; 44us; 138us; 44us; 139us; 44us; 140us; 44us; 141us; 44us; 142us; 44us; 143us; 44us; 144us; 44us; 145us; 44us; 146us; 44us; 147us; 44us; 148us; 44us; 149us; 44us; 150us; 44us; 151us; 44us; 152us; 44us; 153us; 44us; 154us; 44us; 155us; 44us; 156us; 44us; 157us; 44us; 158us; 44us; 159us; 44us; 160us; 44us; 161us; 44us; 162us; 44us; 163us; 44us; 164us; 44us; 165us; 44us; 166us; 44us; 167us; 44us; 168us; 44us; 169us; 44us; 170us; 44us; 171us; 44us; 172us; 44us; 173us; 44us; 174us; 44us; 175us; 44us; 176us; 44us; 177us; 44us; 178us; 44us; 179us; 44us; 180us; 44us; 181us; 44us; 182us; 44us; 183us; 44us; 184us; 44us; 185us; 44us; 186us; 44us; 187us; 44us; 188us; 44us; 189us; 44us; 190us; 44us; 191us; 44us; 192us; 44us; 193us; 44us; 194us; 44us; 195us; 44us; 196us; 44us; 197us; 44us; 198us; 44us; 199us; 44us; 200us; 44us; 201us; 44us; 202us; 44us; 203us; 44us; 204us; 44us; 205us; 44us; 206us; 44us; 207us; 44us; 208us; 44us; 209us; 44us; 210us; 44us; 211us; 44us; 212us; 44us; 213us; 44us; 214us; 44us; 215us; 44us; 216us; 44us; 217us; 44us; 218us; 44us; 219us; 44us; 220us; 44us; 221us; 44us; 222us; 44us; 223us; 44us; 224us; 44us; 225us; 44us; 226us; 44us; 227us; 44us; 228us; 44us; 229us; 44us; 230us; 44us; 231us; 44us; 232us; 44us; 233us; 44us; 234us; 44us; 235us; 44us; 236us; 44us; 237us; 44us; 238us; 44us; 239us; 44us; 240us; 44us; 241us; 44us; 242us; 44us; 243us; 44us; 244us; 44us; 245us; 44us; 246us; 44us; 247us; 44us; 248us; 44us; 249us; 44us; 250us; 44us; 251us; 44us; 252us; 44us; 253us; 44us; 254us; 44us; 255us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 61 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 62us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 62 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 63us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 63 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 64 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 65 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 66us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 66 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 67us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 67 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 68 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 69us; 36us; 36us; 36us; 72us; 36us; 36us; 36us; 71us; 36us; 36us; 70us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 69 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 80us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 70 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 78us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 77us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 71 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 76us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 72 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 73us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 73 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 74us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 74 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 75us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 75 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 51us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 76 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 77 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 79us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 78 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 79 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 80 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 81us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 81 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 82 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 83 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 84 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 85 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 86 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 87us; 36us; 36us; 36us; 89us; 36us; 36us; 36us; 88us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 87 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 93us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 88 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 92us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 89 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 90us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 90 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 91us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 91 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 92 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 93 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 94 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 97us; 65535us; 95us; 95us; 95us; 95us; 95us; 95us; 95us; 95us; 95us; 95us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 95 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 97us; 65535us; 95us; 95us; 95us; 95us; 95us; 95us; 95us; 95us; 95us; 95us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 96 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 100us; 65535us; 100us; 65535us; 65535us; 99us; 99us; 99us; 99us; 99us; 99us; 99us; 99us; 99us; 99us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 97 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 98us; 98us; 98us; 98us; 98us; 98us; 98us; 98us; 98us; 98us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 98 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 98us; 98us; 98us; 98us; 98us; 98us; 98us; 98us; 98us; 98us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 99 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 100 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 99us; 99us; 99us; 99us; 99us; 99us; 99us; 99us; 99us; 99us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 101 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 102 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 103 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 104 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 105 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 109us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 106 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 107 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 108 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 109 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 110 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 111 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 112 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 113 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 50us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 114 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 115us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 115 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 116us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 116 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 117us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 117 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 118us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 118 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 119us; 119us; 119us; 119us; 119us; 119us; 119us; 119us; 119us; 119us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 119us; 119us; 119us; 119us; 119us; 119us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 119us; 119us; 119us; 119us; 119us; 119us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 119 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 120us; 120us; 120us; 120us; 120us; 120us; 120us; 120us; 120us; 120us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 120us; 120us; 120us; 120us; 120us; 120us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 120us; 120us; 120us; 120us; 120us; 120us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 120 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 37us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 36us; 129us; 36us; 130us; 36us; 131us; 36us; 132us; 36us; 133us; 36us; 134us; 36us; 135us; 36us; 136us; 36us; 137us; 36us; 138us; 36us; 139us; 36us; 140us; 36us; 141us; 36us; 142us; 36us; 143us; 36us; 144us; 36us; 145us; 36us; 146us; 36us; 147us; 36us; 148us; 36us; 149us; 36us; 150us; 36us; 151us; 36us; 152us; 36us; 153us; 36us; 154us; 36us; 155us; 36us; 156us; 36us; 157us; 36us; 158us; 36us; 159us; 36us; 160us; 36us; 161us; 36us; 162us; 36us; 163us; 36us; 164us; 36us; 165us; 36us; 166us; 36us; 167us; 36us; 168us; 36us; 169us; 36us; 170us; 36us; 171us; 36us; 172us; 36us; 173us; 36us; 174us; 36us; 175us; 36us; 176us; 36us; 177us; 36us; 178us; 36us; 179us; 36us; 180us; 36us; 181us; 36us; 182us; 36us; 183us; 36us; 184us; 36us; 185us; 36us; 186us; 36us; 187us; 36us; 188us; 36us; 189us; 36us; 190us; 36us; 191us; 36us; 192us; 36us; 193us; 36us; 194us; 36us; 195us; 36us; 196us; 36us; 197us; 36us; 198us; 36us; 199us; 36us; 200us; 36us; 201us; 36us; 202us; 36us; 203us; 36us; 204us; 36us; 205us; 36us; 206us; 36us; 207us; 36us; 208us; 36us; 209us; 36us; 210us; 36us; 211us; 36us; 212us; 36us; 213us; 36us; 214us; 36us; 215us; 36us; 216us; 36us; 217us; 36us; 218us; 36us; 219us; 36us; 220us; 36us; 221us; 36us; 222us; 36us; 223us; 36us; 224us; 36us; 225us; 36us; 226us; 36us; 227us; 36us; 228us; 36us; 229us; 36us; 230us; 36us; 231us; 36us; 232us; 36us; 233us; 36us; 234us; 36us; 235us; 36us; 236us; 36us; 237us; 36us; 238us; 36us; 239us; 36us; 240us; 36us; 241us; 36us; 242us; 36us; 243us; 36us; 244us; 36us; 245us; 36us; 246us; 36us; 247us; 36us; 248us; 36us; 249us; 36us; 250us; 36us; 251us; 36us; 252us; 36us; 253us; 36us; 254us; 36us; 255us; 36us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 121 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 97us; 65535us; 127us; 127us; 127us; 127us; 127us; 127us; 127us; 127us; 127us; 127us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 122 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 125us; 65535us; 98us; 98us; 98us; 98us; 98us; 98us; 98us; 98us; 98us; 98us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 123 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 124 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 100us; 65535us; 100us; 65535us; 65535us; 99us; 99us; 99us; 99us; 99us; 99us; 99us; 99us; 99us; 99us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 125 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 126us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 126 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 127 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 122us; 65535us; 128us; 128us; 128us; 128us; 128us; 128us; 128us; 128us; 128us; 128us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 128 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 122us; 65535us; 128us; 128us; 128us; 128us; 128us; 128us; 128us; 128us; 128us; 128us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 129 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 130us; 130us; 130us; 130us; 130us; 130us; 130us; 130us; 130us; 130us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 130us; 130us; 130us; 130us; 130us; 130us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 130us; 130us; 130us; 130us; 130us; 130us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 130 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 131us; 131us; 131us; 131us; 131us; 131us; 131us; 131us; 131us; 131us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 131us; 131us; 131us; 131us; 131us; 131us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 131us; 131us; 131us; 131us; 131us; 131us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 131 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 131us; 131us; 131us; 131us; 131us; 131us; 131us; 131us; 131us; 131us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 131us; 131us; 131us; 131us; 131us; 131us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 131us; 131us; 131us; 131us; 131us; 131us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 132 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 97us; 65535us; 133us; 133us; 133us; 133us; 133us; 133us; 133us; 133us; 133us; 133us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 133 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 97us; 65535us; 133us; 133us; 133us; 133us; 133us; 133us; 133us; 133us; 133us; 133us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 96us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 134 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 135 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 136us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 136 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 65535us; 129us; 65535us; 130us; 65535us; 131us; 65535us; 132us; 65535us; 133us; 65535us; 134us; 65535us; 135us; 65535us; 136us; 65535us; 137us; 65535us; 138us; 65535us; 139us; 65535us; 140us; 65535us; 141us; 65535us; 142us; 65535us; 143us; 65535us; 144us; 65535us; 145us; 65535us; 146us; 65535us; 147us; 65535us; 148us; 65535us; 149us; 65535us; 150us; 65535us; 151us; 65535us; 152us; 65535us; 153us; 65535us; 154us; 65535us; 155us; 65535us; 156us; 65535us; 157us; 65535us; 158us; 65535us; 159us; 65535us; 160us; 65535us; 161us; 65535us; 162us; 65535us; 163us; 65535us; 164us; 65535us; 165us; 65535us; 166us; 65535us; 167us; 65535us; 168us; 65535us; 169us; 65535us; 170us; 65535us; 171us; 65535us; 172us; 65535us; 173us; 65535us; 174us; 65535us; 175us; 65535us; 176us; 65535us; 177us; 65535us; 178us; 65535us; 179us; 65535us; 180us; 65535us; 181us; 65535us; 182us; 65535us; 183us; 65535us; 184us; 65535us; 185us; 65535us; 186us; 65535us; 187us; 65535us; 188us; 65535us; 189us; 65535us; 190us; 65535us; 191us; 65535us; 192us; 65535us; 193us; 65535us; 194us; 65535us; 195us; 65535us; 196us; 65535us; 197us; 65535us; 198us; 65535us; 199us; 65535us; 200us; 65535us; 201us; 65535us; 202us; 65535us; 203us; 65535us; 204us; 65535us; 205us; 65535us; 206us; 65535us; 207us; 65535us; 208us; 65535us; 209us; 65535us; 210us; 65535us; 211us; 65535us; 212us; 65535us; 213us; 65535us; 214us; 65535us; 215us; 65535us; 216us; 65535us; 217us; 65535us; 218us; 65535us; 219us; 65535us; 220us; 65535us; 221us; 65535us; 222us; 65535us; 223us; 65535us; 224us; 65535us; 225us; 65535us; 226us; 65535us; 227us; 65535us; 228us; 65535us; 229us; 65535us; 230us; 65535us; 231us; 65535us; 232us; 65535us; 233us; 65535us; 234us; 65535us; 235us; 65535us; 236us; 65535us; 237us; 65535us; 238us; 65535us; 239us; 65535us; 240us; 65535us; 241us; 65535us; 242us; 65535us; 243us; 65535us; 244us; 65535us; 245us; 65535us; 246us; 65535us; 247us; 65535us; 248us; 65535us; 249us; 65535us; 250us; 65535us; 251us; 65535us; 252us; 65535us; 253us; 65535us; 254us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ |]
+let actions : uint16[] = [|65535us; 0us; 1us; 2us; 3us; 4us; 5us; 6us; 7us; 8us; 9us; 10us; 11us; 26us; 14us; 15us; 15us; 23us; 23us; 23us; 23us; 23us; 23us; 26us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 25us; 26us; 27us; 23us; 23us; 65535us; 65535us; 24us; 65535us; 24us; 65535us; 24us; 24us; 23us; 23us; 23us; 23us; 23us; 23us; 65535us; 22us; 22us; 22us; 22us; 22us; 22us; 22us; 22us; 22us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 23us; 20us; 20us; 65535us; 21us; 21us; 21us; 65535us; 21us; 17us; 23us; 17us; 23us; 23us; 23us; 23us; 23us; 17us; 23us; 23us; 17us; 17us; 23us; 23us; 23us; 23us; 23us; 19us; 17us; 21us; 17us; 17us; 65535us; 16us; 15us; 15us; 65535us; 18us; 18us; 21us; 21us; 13us; 65535us; 12us; |]
+let _fslex_tables = Internal.Utilities.Text.Lexing.UnicodeTables.Create(trans,actions)
+let rec _fslex_dummy () = _fslex_dummy()
+// Rule token
+and token lexbuf =
+ match _fslex_tables.Interpret(0,lexbuf) with
+ | 0 -> (
+# 97 "../../absil/illex.fsl"
+ COMMA
+# 378 "illex.fs"
+ )
+ | 1 -> (
+# 98 "../../absil/illex.fsl"
+ DOT
+# 383 "illex.fs"
+ )
+ | 2 -> (
+# 99 "../../absil/illex.fsl"
+ STAR
+# 388 "illex.fs"
+ )
+ | 3 -> (
+# 100 "../../absil/illex.fsl"
+ BANG
+# 393 "illex.fs"
+ )
+ | 4 -> (
+# 101 "../../absil/illex.fsl"
+ AMP
+# 398 "illex.fs"
+ )
+ | 5 -> (
+# 102 "../../absil/illex.fsl"
+ LPAREN
+# 403 "illex.fs"
+ )
+ | 6 -> (
+# 103 "../../absil/illex.fsl"
+ RPAREN
+# 408 "illex.fs"
+ )
+ | 7 -> (
+# 104 "../../absil/illex.fsl"
+ LBRACK
+# 413 "illex.fs"
+ )
+ | 8 -> (
+# 105 "../../absil/illex.fsl"
+ RBRACK
+# 418 "illex.fs"
+ )
+ | 9 -> (
+# 106 "../../absil/illex.fsl"
+ SLASH
+# 423 "illex.fs"
+ )
+ | 10 -> (
+# 107 "../../absil/illex.fsl"
+ LESS
+# 428 "illex.fs"
+ )
+ | 11 -> (
+# 108 "../../absil/illex.fsl"
+ GREATER
+# 433 "illex.fs"
+ )
+ | 12 -> (
+# 109 "../../absil/illex.fsl"
+ ELIPSES
+# 438 "illex.fs"
+ )
+ | 13 -> (
+# 110 "../../absil/illex.fsl"
+ DCOLON
+# 443 "illex.fs"
+ )
+ | 14 -> (
+# 111 "../../absil/illex.fsl"
+ PLUS
+# 448 "illex.fs"
+ )
+ | 15 -> (
+# 113 "../../absil/illex.fsl"
+ VAL_INT64(int64(lexeme lexbuf))
+# 453 "illex.fs"
+ )
+ | 16 -> (
+# 122 "../../absil/illex.fsl"
+ let b = lexeme lexbuf in
+ VAL_INT32_ELIPSES(int32(String.sub b 0 (String.length b - 3)))
+# 459 "illex.fs"
+ )
+ | 17 -> (
+# 125 "../../absil/illex.fsl"
+ let c1 = String.get (lexeme lexbuf) 0 in
+ let c2 = String.get (lexeme lexbuf) 1 in
+ if c1 >= '0' && c1 <= '9' && c2 >= '0' && c2 <= '9' then
+ VAL_INT64(int64 (10*eval c1 + eval c2) )
+ else VAL_ID(lexeme lexbuf)
+# 468 "illex.fs"
+ )
+ | 18 -> (
+# 131 "../../absil/illex.fsl"
+ VAL_INT64(int64(lexeme lexbuf))
+# 473 "illex.fs"
+ )
+ | 19 -> (
+# 133 "../../absil/illex.fsl"
+ let c1 = (lexeme lexbuf).[6] in
+ let c2 = (lexeme lexbuf).[7] in
+ if c1 >= '0' && c1 <= '9' && c2 >= '0' && c2 <= '9' then
+ VAL_INT64(int64 (10*eval c1 + eval c2))
+ else VAL_ID(lexeme lexbuf)
+# 482 "illex.fs"
+ )
+ | 20 -> (
+# 140 "../../absil/illex.fsl"
+ VAL_INT64(int64(lexeme lexbuf))
+# 487 "illex.fs"
+ )
+ | 21 -> (
+# 142 "../../absil/illex.fsl"
+ VAL_FLOAT64( (float (lexeme lexbuf)) )
+# 492 "illex.fs"
+ )
+ | 22 -> (
+# 145 "../../absil/illex.fsl"
+ let s = (lexeme lexbuf) in kwdOrInstr s
+# 497 "illex.fs"
+ )
+ | 23 -> (
+# 147 "../../absil/illex.fsl"
+ kwdOrInstrOrId (lexeme lexbuf)
+# 502 "illex.fs"
+ )
+ | 24 -> (
+# 150 "../../absil/illex.fsl"
+ VAL_DOTTEDNAME(lexeme lexbuf)
+# 507 "illex.fs"
+ )
+ | 25 -> (
+# 153 "../../absil/illex.fsl"
+ token lexbuf
+# 512 "illex.fs"
+ )
+ | 26 -> (
+# 155 "../../absil/illex.fsl"
+ unexpectedChar lexbuf
+# 517 "illex.fs"
+ )
+ | 27 -> (
+# 157 "../../absil/illex.fsl"
+ EOF
+# 522 "illex.fs"
+ )
+ | _ -> failwith "token"
+
+# 3000000 "illex.fs"
diff --git a/src/fsharp/FSharp.Compiler.Private/ilpars.fs b/src/fsharp/FSharp.Compiler.Private/ilpars.fs
new file mode 100644
index 0000000000..de358ccb16
--- /dev/null
+++ b/src/fsharp/FSharp.Compiler.Private/ilpars.fs
@@ -0,0 +1,1569 @@
+// Implementation file for parser generated by fsyacc
+module internal FSharp.Compiler.AbstractIL.Internal.AsciiParser
+#nowarn "64";; // turn off warnings that type variables used in production annotations are instantiated to concrete type
+open FSharp.Compiler.AbstractIL
+open Internal.Utilities.Text.Lexing
+open Internal.Utilities.Text.Parsing.ParseHelpers
+# 3 "../../absil/ilpars.fsy"
+
+
+#nowarn "1182" // the generated code often has unused variable "parseState"
+
+open Internal.Utilities
+open Internal.Utilities.Text
+
+open FSharp.Compiler.AbstractIL
+open FSharp.Compiler.AbstractIL.Internal
+open FSharp.Compiler.AbstractIL.Internal.AsciiConstants
+open FSharp.Compiler.AbstractIL.Diagnostics
+open FSharp.Compiler.AbstractIL.Extensions.ILX.Types
+open FSharp.Compiler.AbstractIL.IL
+open FSharp.Compiler.AbstractIL.Internal.Library
+
+
+let pfailwith s =
+ stderr.WriteLine ("*** error: "+s);
+ raise Parsing.RecoverableParseError
+
+type ResolvedAtMethodSpecScope<'T> =
+ ResolvedAtMethodSpecScope of (ILGenericParameterDefs -> 'T)
+
+let noMethodSpecScope x = ResolvedAtMethodSpecScope (fun _cgparams -> x)
+let resolveMethodSpecScope (ResolvedAtMethodSpecScope f) x = f x
+let resolveMethodSpecScopeThen (ResolvedAtMethodSpecScope f) g =
+ ResolvedAtMethodSpecScope (fun x -> resolveMethodSpecScope (g(f x)) x)
+
+let resolveCurrentMethodSpecScope obj =
+ resolveMethodSpecScope obj mkILEmptyGenericParams
+
+
+let findSystemRuntimeAssemblyRef() =
+ match (!parseILGlobals).primaryAssemblyScopeRef with
+ | ILScopeRef.Assembly aref -> aref
+ | _ -> pfailwith "systemRuntimeScopeRef not set to valid assembly reference in parseILGlobals"
+
+let findAssemblyRef nm =
+ if nm = "mscorlib" then findSystemRuntimeAssemblyRef()
+ else
+ pfailwith ("Undefined assembly ref '" + nm + "'")
+
+
+# 51 "ilpars.fs"
+// This type is the type of tokens accepted by the parser
+type token =
+ | VOID
+ | VARARG
+ | VALUETYPE
+ | VALUE
+ | UNSIGNED
+ | UNMANAGED
+ | UINT8
+ | UINT64
+ | UINT32
+ | UINT16
+ | UINT
+ | STRING
+ | STAR
+ | SLASH
+ | RPAREN
+ | RBRACK
+ | PLUS
+ | OBJECT
+ | NATIVE
+ | METHOD
+ | LPAREN
+ | LESS
+ | LBRACK
+ | INT8
+ | INT64
+ | INT32
+ | INT16
+ | INT
+ | INSTANCE
+ | GREATER
+ | FLOAT64
+ | FLOAT32
+ | FIELD
+ | EXPLICIT
+ | EOF
+ | ELIPSES
+ | DOT
+ | DEFAULT
+ | DCOLON
+ | COMMA
+ | CLASS
+ | CHAR
+ | BYTEARRAY
+ | BOOL
+ | BANG
+ | AMP
+ | VAL_SQSTRING of (string)
+ | VAL_QSTRING of (string)
+ | VAL_DOTTEDNAME of (string)
+ | VAL_ID of (string)
+ | VAL_HEXBYTE of (int)
+ | INSTR_VALUETYPE of (ValueTypeInstr)
+ | INSTR_INT_TYPE of (IntTypeInstr)
+ | INSTR_TYPE of (TypeInstr)
+ | INSTR_TOK of (TokenInstr)
+ | INSTR_STRING of (StringInstr)
+ | INSTR_NONE of (NoArgInstr)
+ | INSTR_R of (DoubleInstr)
+ | INSTR_I8 of (Int64Instr)
+ | INSTR_I32_I32 of (Int32Int32Instr)
+ | INSTR_I of (Int32Instr)
+ | VAL_FLOAT64 of (double)
+ | VAL_INT32_ELIPSES of (int32)
+ | VAL_INT64 of (int64)
+// This type is used to give symbolic names to token indexes, useful for error messages
+type tokenId =
+ | TOKEN_VOID
+ | TOKEN_VARARG
+ | TOKEN_VALUETYPE
+ | TOKEN_VALUE
+ | TOKEN_UNSIGNED
+ | TOKEN_UNMANAGED
+ | TOKEN_UINT8
+ | TOKEN_UINT64
+ | TOKEN_UINT32
+ | TOKEN_UINT16
+ | TOKEN_UINT
+ | TOKEN_STRING
+ | TOKEN_STAR
+ | TOKEN_SLASH
+ | TOKEN_RPAREN
+ | TOKEN_RBRACK
+ | TOKEN_PLUS
+ | TOKEN_OBJECT
+ | TOKEN_NATIVE
+ | TOKEN_METHOD
+ | TOKEN_LPAREN
+ | TOKEN_LESS
+ | TOKEN_LBRACK
+ | TOKEN_INT8
+ | TOKEN_INT64
+ | TOKEN_INT32
+ | TOKEN_INT16
+ | TOKEN_INT
+ | TOKEN_INSTANCE
+ | TOKEN_GREATER
+ | TOKEN_FLOAT64
+ | TOKEN_FLOAT32
+ | TOKEN_FIELD
+ | TOKEN_EXPLICIT
+ | TOKEN_EOF
+ | TOKEN_ELIPSES
+ | TOKEN_DOT
+ | TOKEN_DEFAULT
+ | TOKEN_DCOLON
+ | TOKEN_COMMA
+ | TOKEN_CLASS
+ | TOKEN_CHAR
+ | TOKEN_BYTEARRAY
+ | TOKEN_BOOL
+ | TOKEN_BANG
+ | TOKEN_AMP
+ | TOKEN_VAL_SQSTRING
+ | TOKEN_VAL_QSTRING
+ | TOKEN_VAL_DOTTEDNAME
+ | TOKEN_VAL_ID
+ | TOKEN_VAL_HEXBYTE
+ | TOKEN_INSTR_VALUETYPE
+ | TOKEN_INSTR_INT_TYPE
+ | TOKEN_INSTR_TYPE
+ | TOKEN_INSTR_TOK
+ | TOKEN_INSTR_STRING
+ | TOKEN_INSTR_NONE
+ | TOKEN_INSTR_R
+ | TOKEN_INSTR_I8
+ | TOKEN_INSTR_I32_I32
+ | TOKEN_INSTR_I
+ | TOKEN_VAL_FLOAT64
+ | TOKEN_VAL_INT32_ELIPSES
+ | TOKEN_VAL_INT64
+ | TOKEN_end_of_input
+ | TOKEN_error
+// This type is used to give symbolic names to token indexes, useful for error messages
+type nonTerminalId =
+ | NONTERM__startilInstrs
+ | NONTERM__startilType
+ | NONTERM_ilType
+ | NONTERM_ilInstrs
+ | NONTERM_compQstring
+ | NONTERM_methodName
+ | NONTERM_instrs2
+ | NONTERM_instr
+ | NONTERM_name1
+ | NONTERM_className
+ | NONTERM_slashedName
+ | NONTERM_typeNameInst
+ | NONTERM_typeName
+ | NONTERM_typSpec
+ | NONTERM_callConv
+ | NONTERM_callKind
+ | NONTERM_typ
+ | NONTERM_bounds1
+ | NONTERM_bound
+ | NONTERM_id
+ | NONTERM_int32
+ | NONTERM_int64
+ | NONTERM_float64
+ | NONTERM_opt_actual_tyargs
+ | NONTERM_actual_tyargs
+ | NONTERM_actualTypSpecs
+
+// This function maps tokens to integer indexes
+let tagOfToken (t:token) =
+ match t with
+ | VOID -> 0
+ | VARARG -> 1
+ | VALUETYPE -> 2
+ | VALUE -> 3
+ | UNSIGNED -> 4
+ | UNMANAGED -> 5
+ | UINT8 -> 6
+ | UINT64 -> 7
+ | UINT32 -> 8
+ | UINT16 -> 9
+ | UINT -> 10
+ | STRING -> 11
+ | STAR -> 12
+ | SLASH -> 13
+ | RPAREN -> 14
+ | RBRACK -> 15
+ | PLUS -> 16
+ | OBJECT -> 17
+ | NATIVE -> 18
+ | METHOD -> 19
+ | LPAREN -> 20
+ | LESS -> 21
+ | LBRACK -> 22
+ | INT8 -> 23
+ | INT64 -> 24
+ | INT32 -> 25
+ | INT16 -> 26
+ | INT -> 27
+ | INSTANCE -> 28
+ | GREATER -> 29
+ | FLOAT64 -> 30
+ | FLOAT32 -> 31
+ | FIELD -> 32
+ | EXPLICIT -> 33
+ | EOF -> 34
+ | ELIPSES -> 35
+ | DOT -> 36
+ | DEFAULT -> 37
+ | DCOLON -> 38
+ | COMMA -> 39
+ | CLASS -> 40
+ | CHAR -> 41
+ | BYTEARRAY -> 42
+ | BOOL -> 43
+ | BANG -> 44
+ | AMP -> 45
+ | VAL_SQSTRING _ -> 46
+ | VAL_QSTRING _ -> 47
+ | VAL_DOTTEDNAME _ -> 48
+ | VAL_ID _ -> 49
+ | VAL_HEXBYTE _ -> 50
+ | INSTR_VALUETYPE _ -> 51
+ | INSTR_INT_TYPE _ -> 52
+ | INSTR_TYPE _ -> 53
+ | INSTR_TOK _ -> 54
+ | INSTR_STRING _ -> 55
+ | INSTR_NONE _ -> 56
+ | INSTR_R _ -> 57
+ | INSTR_I8 _ -> 58
+ | INSTR_I32_I32 _ -> 59
+ | INSTR_I _ -> 60
+ | VAL_FLOAT64 _ -> 61
+ | VAL_INT32_ELIPSES _ -> 62
+ | VAL_INT64 _ -> 63
+
+// This function maps integer indexes to symbolic token ids
+let tokenTagToTokenId (tokenIdx:int) =
+ match tokenIdx with
+ | 0 -> TOKEN_VOID
+ | 1 -> TOKEN_VARARG
+ | 2 -> TOKEN_VALUETYPE
+ | 3 -> TOKEN_VALUE
+ | 4 -> TOKEN_UNSIGNED
+ | 5 -> TOKEN_UNMANAGED
+ | 6 -> TOKEN_UINT8
+ | 7 -> TOKEN_UINT64
+ | 8 -> TOKEN_UINT32
+ | 9 -> TOKEN_UINT16
+ | 10 -> TOKEN_UINT
+ | 11 -> TOKEN_STRING
+ | 12 -> TOKEN_STAR
+ | 13 -> TOKEN_SLASH
+ | 14 -> TOKEN_RPAREN
+ | 15 -> TOKEN_RBRACK
+ | 16 -> TOKEN_PLUS
+ | 17 -> TOKEN_OBJECT
+ | 18 -> TOKEN_NATIVE
+ | 19 -> TOKEN_METHOD
+ | 20 -> TOKEN_LPAREN
+ | 21 -> TOKEN_LESS
+ | 22 -> TOKEN_LBRACK
+ | 23 -> TOKEN_INT8
+ | 24 -> TOKEN_INT64
+ | 25 -> TOKEN_INT32
+ | 26 -> TOKEN_INT16
+ | 27 -> TOKEN_INT
+ | 28 -> TOKEN_INSTANCE
+ | 29 -> TOKEN_GREATER
+ | 30 -> TOKEN_FLOAT64
+ | 31 -> TOKEN_FLOAT32
+ | 32 -> TOKEN_FIELD
+ | 33 -> TOKEN_EXPLICIT
+ | 34 -> TOKEN_EOF
+ | 35 -> TOKEN_ELIPSES
+ | 36 -> TOKEN_DOT
+ | 37 -> TOKEN_DEFAULT
+ | 38 -> TOKEN_DCOLON
+ | 39 -> TOKEN_COMMA
+ | 40 -> TOKEN_CLASS
+ | 41 -> TOKEN_CHAR
+ | 42 -> TOKEN_BYTEARRAY
+ | 43 -> TOKEN_BOOL
+ | 44 -> TOKEN_BANG
+ | 45 -> TOKEN_AMP
+ | 46 -> TOKEN_VAL_SQSTRING
+ | 47 -> TOKEN_VAL_QSTRING
+ | 48 -> TOKEN_VAL_DOTTEDNAME
+ | 49 -> TOKEN_VAL_ID
+ | 50 -> TOKEN_VAL_HEXBYTE
+ | 51 -> TOKEN_INSTR_VALUETYPE
+ | 52 -> TOKEN_INSTR_INT_TYPE
+ | 53 -> TOKEN_INSTR_TYPE
+ | 54 -> TOKEN_INSTR_TOK
+ | 55 -> TOKEN_INSTR_STRING
+ | 56 -> TOKEN_INSTR_NONE
+ | 57 -> TOKEN_INSTR_R
+ | 58 -> TOKEN_INSTR_I8
+ | 59 -> TOKEN_INSTR_I32_I32
+ | 60 -> TOKEN_INSTR_I
+ | 61 -> TOKEN_VAL_FLOAT64
+ | 62 -> TOKEN_VAL_INT32_ELIPSES
+ | 63 -> TOKEN_VAL_INT64
+ | 66 -> TOKEN_end_of_input
+ | 64 -> TOKEN_error
+ | _ -> failwith "tokenTagToTokenId: bad token"
+
+/// This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production
+let prodIdxToNonTerminal (prodIdx:int) =
+ match prodIdx with
+ | 0 -> NONTERM__startilInstrs
+ | 1 -> NONTERM__startilType
+ | 2 -> NONTERM_ilType
+ | 3 -> NONTERM_ilInstrs
+ | 4 -> NONTERM_compQstring
+ | 5 -> NONTERM_compQstring
+ | 6 -> NONTERM_methodName
+ | 7 -> NONTERM_instrs2
+ | 8 -> NONTERM_instrs2
+ | 9 -> NONTERM_instr
+ | 10 -> NONTERM_instr
+ | 11 -> NONTERM_instr
+ | 12 -> NONTERM_instr
+ | 13 -> NONTERM_instr
+ | 14 -> NONTERM_instr
+ | 15 -> NONTERM_instr
+ | 16 -> NONTERM_instr
+ | 17 -> NONTERM_instr
+ | 18 -> NONTERM_instr
+ | 19 -> NONTERM_name1
+ | 20 -> NONTERM_name1
+ | 21 -> NONTERM_name1
+ | 22 -> NONTERM_className
+ | 23 -> NONTERM_className
+ | 24 -> NONTERM_slashedName
+ | 25 -> NONTERM_slashedName
+ | 26 -> NONTERM_typeNameInst
+ | 27 -> NONTERM_typeName
+ | 28 -> NONTERM_typSpec
+ | 29 -> NONTERM_typSpec
+ | 30 -> NONTERM_typSpec
+ | 31 -> NONTERM_callConv
+ | 32 -> NONTERM_callConv
+ | 33 -> NONTERM_callConv
+ | 34 -> NONTERM_callKind
+ | 35 -> NONTERM_callKind
+ | 36 -> NONTERM_callKind
+ | 37 -> NONTERM_typ
+ | 38 -> NONTERM_typ
+ | 39 -> NONTERM_typ
+ | 40 -> NONTERM_typ
+ | 41 -> NONTERM_typ
+ | 42 -> NONTERM_typ
+ | 43 -> NONTERM_typ
+ | 44 -> NONTERM_typ
+ | 45 -> NONTERM_typ
+ | 46 -> NONTERM_typ
+ | 47 -> NONTERM_typ
+ | 48 -> NONTERM_typ
+ | 49 -> NONTERM_typ
+ | 50 -> NONTERM_typ
+ | 51 -> NONTERM_typ
+ | 52 -> NONTERM_typ
+ | 53 -> NONTERM_typ
+ | 54 -> NONTERM_typ
+ | 55 -> NONTERM_typ
+ | 56 -> NONTERM_typ
+ | 57 -> NONTERM_typ
+ | 58 -> NONTERM_typ
+ | 59 -> NONTERM_typ
+ | 60 -> NONTERM_typ
+ | 61 -> NONTERM_typ
+ | 62 -> NONTERM_typ
+ | 63 -> NONTERM_typ
+ | 64 -> NONTERM_typ
+ | 65 -> NONTERM_typ
+ | 66 -> NONTERM_typ
+ | 67 -> NONTERM_bounds1
+ | 68 -> NONTERM_bounds1
+ | 69 -> NONTERM_bound
+ | 70 -> NONTERM_bound
+ | 71 -> NONTERM_bound
+ | 72 -> NONTERM_bound
+ | 73 -> NONTERM_bound
+ | 74 -> NONTERM_bound
+ | 75 -> NONTERM_id
+ | 76 -> NONTERM_id
+ | 77 -> NONTERM_int32
+ | 78 -> NONTERM_int64
+ | 79 -> NONTERM_float64
+ | 80 -> NONTERM_float64
+ | 81 -> NONTERM_opt_actual_tyargs
+ | 82 -> NONTERM_opt_actual_tyargs
+ | 83 -> NONTERM_actual_tyargs
+ | 84 -> NONTERM_actualTypSpecs
+ | 85 -> NONTERM_actualTypSpecs
+ | _ -> failwith "prodIdxToNonTerminal: bad production index"
+
+let _fsyacc_endOfInputTag = 66
+let _fsyacc_tagOfErrorTerminal = 64
+
+// This function gets the name of a token as a string
+let token_to_string (t:token) =
+ match t with
+ | VOID -> "VOID"
+ | VARARG -> "VARARG"
+ | VALUETYPE -> "VALUETYPE"
+ | VALUE -> "VALUE"
+ | UNSIGNED -> "UNSIGNED"
+ | UNMANAGED -> "UNMANAGED"
+ | UINT8 -> "UINT8"
+ | UINT64 -> "UINT64"
+ | UINT32 -> "UINT32"
+ | UINT16 -> "UINT16"
+ | UINT -> "UINT"
+ | STRING -> "STRING"
+ | STAR -> "STAR"
+ | SLASH -> "SLASH"
+ | RPAREN -> "RPAREN"
+ | RBRACK -> "RBRACK"
+ | PLUS -> "PLUS"
+ | OBJECT -> "OBJECT"
+ | NATIVE -> "NATIVE"
+ | METHOD -> "METHOD"
+ | LPAREN -> "LPAREN"
+ | LESS -> "LESS"
+ | LBRACK -> "LBRACK"
+ | INT8 -> "INT8"
+ | INT64 -> "INT64"
+ | INT32 -> "INT32"
+ | INT16 -> "INT16"
+ | INT -> "INT"
+ | INSTANCE -> "INSTANCE"
+ | GREATER -> "GREATER"
+ | FLOAT64 -> "FLOAT64"
+ | FLOAT32 -> "FLOAT32"
+ | FIELD -> "FIELD"
+ | EXPLICIT -> "EXPLICIT"
+ | EOF -> "EOF"
+ | ELIPSES -> "ELIPSES"
+ | DOT -> "DOT"
+ | DEFAULT -> "DEFAULT"
+ | DCOLON -> "DCOLON"
+ | COMMA -> "COMMA"
+ | CLASS -> "CLASS"
+ | CHAR -> "CHAR"
+ | BYTEARRAY -> "BYTEARRAY"
+ | BOOL -> "BOOL"
+ | BANG -> "BANG"
+ | AMP -> "AMP"
+ | VAL_SQSTRING _ -> "VAL_SQSTRING"
+ | VAL_QSTRING _ -> "VAL_QSTRING"
+ | VAL_DOTTEDNAME _ -> "VAL_DOTTEDNAME"
+ | VAL_ID _ -> "VAL_ID"
+ | VAL_HEXBYTE _ -> "VAL_HEXBYTE"
+ | INSTR_VALUETYPE _ -> "INSTR_VALUETYPE"
+ | INSTR_INT_TYPE _ -> "INSTR_INT_TYPE"
+ | INSTR_TYPE _ -> "INSTR_TYPE"
+ | INSTR_TOK _ -> "INSTR_TOK"
+ | INSTR_STRING _ -> "INSTR_STRING"
+ | INSTR_NONE _ -> "INSTR_NONE"
+ | INSTR_R _ -> "INSTR_R"
+ | INSTR_I8 _ -> "INSTR_I8"
+ | INSTR_I32_I32 _ -> "INSTR_I32_I32"
+ | INSTR_I _ -> "INSTR_I"
+ | VAL_FLOAT64 _ -> "VAL_FLOAT64"
+ | VAL_INT32_ELIPSES _ -> "VAL_INT32_ELIPSES"
+ | VAL_INT64 _ -> "VAL_INT64"
+
+// This function gets the data carried by a token as an object
+let _fsyacc_dataOfToken (t:token) =
+ match t with
+ | VOID -> (null : System.Object)
+ | VARARG -> (null : System.Object)
+ | VALUETYPE -> (null : System.Object)
+ | VALUE -> (null : System.Object)
+ | UNSIGNED -> (null : System.Object)
+ | UNMANAGED -> (null : System.Object)
+ | UINT8 -> (null : System.Object)
+ | UINT64 -> (null : System.Object)
+ | UINT32 -> (null : System.Object)
+ | UINT16 -> (null : System.Object)
+ | UINT -> (null : System.Object)
+ | STRING -> (null : System.Object)
+ | STAR -> (null : System.Object)
+ | SLASH -> (null : System.Object)
+ | RPAREN -> (null : System.Object)
+ | RBRACK -> (null : System.Object)
+ | PLUS -> (null : System.Object)
+ | OBJECT -> (null : System.Object)
+ | NATIVE -> (null : System.Object)
+ | METHOD -> (null : System.Object)
+ | LPAREN -> (null : System.Object)
+ | LESS -> (null : System.Object)
+ | LBRACK -> (null : System.Object)
+ | INT8 -> (null : System.Object)
+ | INT64 -> (null : System.Object)
+ | INT32 -> (null : System.Object)
+ | INT16 -> (null : System.Object)
+ | INT -> (null : System.Object)
+ | INSTANCE -> (null : System.Object)
+ | GREATER -> (null : System.Object)
+ | FLOAT64 -> (null : System.Object)
+ | FLOAT32 -> (null : System.Object)
+ | FIELD -> (null : System.Object)
+ | EXPLICIT -> (null : System.Object)
+ | EOF -> (null : System.Object)
+ | ELIPSES -> (null : System.Object)
+ | DOT -> (null : System.Object)
+ | DEFAULT -> (null : System.Object)
+ | DCOLON -> (null : System.Object)
+ | COMMA -> (null : System.Object)
+ | CLASS -> (null : System.Object)
+ | CHAR -> (null : System.Object)
+ | BYTEARRAY -> (null : System.Object)
+ | BOOL -> (null : System.Object)
+ | BANG -> (null : System.Object)
+ | AMP -> (null : System.Object)
+ | VAL_SQSTRING _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | VAL_QSTRING _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | VAL_DOTTEDNAME _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | VAL_ID _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | VAL_HEXBYTE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INSTR_VALUETYPE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INSTR_INT_TYPE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INSTR_TYPE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INSTR_TOK _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INSTR_STRING _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INSTR_NONE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INSTR_R _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INSTR_I8 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INSTR_I32_I32 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INSTR_I _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | VAL_FLOAT64 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | VAL_INT32_ELIPSES _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | VAL_INT64 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+let _fsyacc_gotos = [| 0us; 65535us; 0us; 65535us; 1us; 65535us; 2us; 3us; 1us; 65535us; 0us; 1us; 0us; 65535us; 0us; 65535us; 2us; 65535us; 0us; 6us; 8us; 9us; 2us; 65535us; 0us; 8us; 8us; 8us; 12us; 65535us; 21us; 33us; 24us; 33us; 26us; 33us; 28us; 33us; 36us; 32us; 37us; 33us; 40us; 33us; 52us; 33us; 55us; 33us; 57us; 33us; 108us; 33us; 112us; 33us; 9us; 65535us; 21us; 44us; 24us; 44us; 26us; 44us; 28us; 44us; 52us; 42us; 55us; 42us; 57us; 42us; 108us; 44us; 112us; 44us; 11us; 65535us; 21us; 39us; 24us; 39us; 26us; 39us; 28us; 39us; 37us; 38us; 40us; 41us; 52us; 39us; 55us; 39us; 57us; 39us; 108us; 39us; 112us; 39us; 3us; 65535us; 52us; 53us; 55us; 56us; 57us; 58us; 6us; 65535us; 21us; 45us; 24us; 45us; 26us; 45us; 28us; 45us; 108us; 45us; 112us; 45us; 6us; 65535us; 21us; 22us; 24us; 25us; 26us; 27us; 28us; 29us; 108us; 111us; 112us; 113us; 0us; 65535us; 0us; 65535us; 8us; 65535us; 2us; 4us; 21us; 46us; 24us; 46us; 26us; 46us; 28us; 46us; 47us; 48us; 108us; 46us; 112us; 46us; 1us; 65535us; 59us; 61us; 2us; 65535us; 59us; 90us; 91us; 92us; 13us; 65535us; 21us; 30us; 24us; 30us; 26us; 30us; 28us; 30us; 34us; 35us; 36us; 30us; 37us; 30us; 40us; 30us; 52us; 30us; 55us; 30us; 57us; 30us; 108us; 30us; 112us; 30us; 9us; 65535us; 11us; 12us; 13us; 14us; 14us; 15us; 23us; 24us; 59us; 93us; 88us; 89us; 91us; 93us; 94us; 95us; 96us; 97us; 3us; 65535us; 16us; 17us; 18us; 20us; 104us; 105us; 1us; 65535us; 18us; 19us; 1us; 65535us; 42us; 43us; 1us; 65535us; 42us; 107us; 1us; 65535us; 108us; 109us; |]
+let _fsyacc_sparseGotoTableRowOffsets = [|0us; 1us; 2us; 4us; 6us; 7us; 8us; 11us; 14us; 27us; 37us; 49us; 53us; 60us; 67us; 68us; 69us; 78us; 80us; 83us; 97us; 107us; 111us; 113us; 115us; 117us; |]
+let _fsyacc_stateToProdIdxsTableElements = [| 1us; 0us; 1us; 0us; 1us; 1us; 1us; 1us; 5us; 2us; 42us; 43us; 44us; 45us; 1us; 2us; 1us; 3us; 1us; 3us; 1us; 7us; 1us; 7us; 1us; 9us; 1us; 10us; 1us; 10us; 1us; 11us; 1us; 11us; 1us; 11us; 1us; 12us; 1us; 12us; 2us; 13us; 14us; 1us; 13us; 1us; 14us; 1us; 15us; 1us; 15us; 1us; 16us; 1us; 16us; 1us; 16us; 1us; 17us; 1us; 17us; 1us; 18us; 1us; 18us; 1us; 19us; 1us; 20us; 2us; 21us; 22us; 3us; 21us; 24us; 25us; 1us; 21us; 1us; 21us; 1us; 22us; 1us; 22us; 1us; 22us; 1us; 23us; 1us; 25us; 1us; 25us; 1us; 26us; 1us; 26us; 1us; 27us; 1us; 28us; 5us; 29us; 42us; 43us; 44us; 45us; 1us; 30us; 5us; 30us; 42us; 43us; 44us; 45us; 1us; 30us; 1us; 37us; 1us; 38us; 1us; 39us; 1us; 39us; 1us; 40us; 1us; 40us; 1us; 40us; 1us; 41us; 1us; 41us; 2us; 42us; 43us; 1us; 42us; 2us; 43us; 68us; 1us; 43us; 1us; 44us; 1us; 45us; 1us; 46us; 1us; 47us; 1us; 48us; 1us; 49us; 1us; 50us; 1us; 51us; 1us; 52us; 1us; 53us; 1us; 54us; 4us; 55us; 56us; 57us; 58us; 1us; 55us; 1us; 56us; 1us; 57us; 1us; 58us; 1us; 59us; 1us; 60us; 1us; 61us; 1us; 62us; 3us; 63us; 64us; 65us; 1us; 63us; 1us; 64us; 1us; 64us; 1us; 65us; 1us; 66us; 1us; 66us; 1us; 67us; 1us; 68us; 1us; 68us; 3us; 70us; 71us; 72us; 2us; 71us; 72us; 1us; 71us; 2us; 73us; 74us; 1us; 73us; 1us; 75us; 1us; 76us; 1us; 77us; 1us; 78us; 1us; 79us; 1us; 80us; 1us; 80us; 1us; 80us; 1us; 80us; 1us; 82us; 1us; 83us; 2us; 83us; 85us; 1us; 83us; 1us; 84us; 1us; 85us; 1us; 85us; |]
+let _fsyacc_stateToProdIdxsTableRowOffsets = [|0us; 2us; 4us; 6us; 8us; 14us; 16us; 18us; 20us; 22us; 24us; 26us; 28us; 30us; 32us; 34us; 36us; 38us; 40us; 43us; 45us; 47us; 49us; 51us; 53us; 55us; 57us; 59us; 61us; 63us; 65us; 67us; 69us; 72us; 76us; 78us; 80us; 82us; 84us; 86us; 88us; 90us; 92us; 94us; 96us; 98us; 100us; 106us; 108us; 114us; 116us; 118us; 120us; 122us; 124us; 126us; 128us; 130us; 132us; 134us; 137us; 139us; 142us; 144us; 146us; 148us; 150us; 152us; 154us; 156us; 158us; 160us; 162us; 164us; 166us; 171us; 173us; 175us; 177us; 179us; 181us; 183us; 185us; 187us; 191us; 193us; 195us; 197us; 199us; 201us; 203us; 205us; 207us; 209us; 213us; 216us; 218us; 221us; 223us; 225us; 227us; 229us; 231us; 233us; 235us; 237us; 239us; 241us; 243us; 245us; 248us; 250us; 252us; 254us; |]
+let _fsyacc_action_rows = 114
+let _fsyacc_actionTableElements = [|9us; 16392us; 51us; 26us; 52us; 23us; 53us; 21us; 54us; 28us; 56us; 10us; 57us; 18us; 58us; 16us; 59us; 13us; 60us; 11us; 0us; 49152us; 21us; 32768us; 0us; 66us; 2us; 57us; 3us; 54us; 4us; 74us; 6us; 79us; 7us; 82us; 8us; 81us; 9us; 80us; 11us; 50us; 17us; 51us; 18us; 83us; 23us; 68us; 24us; 71us; 25us; 70us; 26us; 69us; 30us; 73us; 31us; 72us; 40us; 52us; 41us; 65us; 43us; 67us; 44us; 88us; 0us; 49152us; 4us; 32768us; 12us; 64us; 22us; 59us; 34us; 5us; 45us; 63us; 0us; 16386us; 1us; 32768us; 34us; 7us; 0us; 16387us; 9us; 16392us; 51us; 26us; 52us; 23us; 53us; 21us; 54us; 28us; 56us; 10us; 57us; 18us; 58us; 16us; 59us; 13us; 60us; 11us; 0us; 16391us; 0us; 16393us; 1us; 32768us; 63us; 100us; 0us; 16394us; 1us; 32768us; 63us; 100us; 1us; 32768us; 63us; 100us; 0us; 16395us; 1us; 32768us; 63us; 101us; 0us; 16396us; 3us; 32768us; 30us; 103us; 61us; 102us; 63us; 101us; 0us; 16397us; 0us; 16398us; 26us; 32768us; 0us; 66us; 2us; 57us; 3us; 54us; 4us; 74us; 6us; 79us; 7us; 82us; 8us; 81us; 9us; 80us; 11us; 50us; 17us; 51us; 18us; 83us; 20us; 47us; 22us; 36us; 23us; 68us; 24us; 71us; 25us; 70us; 26us; 69us; 30us; 73us; 31us; 72us; 40us; 52us; 41us; 65us; 43us; 67us; 44us; 88us; 46us; 99us; 48us; 31us; 49us; 98us; 0us; 16399us; 1us; 32768us; 63us; 100us; 26us; 32768us; 0us; 66us; 2us; 57us; 3us; 54us; 4us; 74us; 6us; 79us; 7us; 82us; 8us; 81us; 9us; 80us; 11us; 50us; 17us; 51us; 18us; 83us; 20us; 47us; 22us; 36us; 23us; 68us; 24us; 71us; 25us; 70us; 26us; 69us; 30us; 73us; 31us; 72us; 40us; 52us; 41us; 65us; 43us; 67us; 44us; 88us; 46us; 99us; 48us; 31us; 49us; 98us; 0us; 16400us; 26us; 32768us; 0us; 66us; 2us; 57us; 3us; 54us; 4us; 74us; 6us; 79us; 7us; 82us; 8us; 81us; 9us; 80us; 11us; 50us; 17us; 51us; 18us; 83us; 20us; 47us; 22us; 36us; 23us; 68us; 24us; 71us; 25us; 70us; 26us; 69us; 30us; 73us; 31us; 72us; 40us; 52us; 41us; 65us; 43us; 67us; 44us; 88us; 46us; 99us; 48us; 31us; 49us; 98us; 0us; 16401us; 26us; 32768us; 0us; 66us; 2us; 57us; 3us; 54us; 4us; 74us; 6us; 79us; 7us; 82us; 8us; 81us; 9us; 80us; 11us; 50us; 17us; 51us; 18us; 83us; 20us; 47us; 22us; 36us; 23us; 68us; 24us; 71us; 25us; 70us; 26us; 69us; 30us; 73us; 31us; 72us; 40us; 52us; 41us; 65us; 43us; 67us; 44us; 88us; 46us; 99us; 48us; 31us; 49us; 98us; 0us; 16402us; 0us; 16403us; 0us; 16404us; 2us; 32768us; 15us; 37us; 36us; 34us; 2us; 16408us; 13us; 40us; 36us; 34us; 2us; 32768us; 46us; 99us; 49us; 98us; 0us; 16405us; 3us; 32768us; 46us; 99us; 48us; 31us; 49us; 98us; 3us; 32768us; 46us; 99us; 48us; 31us; 49us; 98us; 0us; 16406us; 0us; 16407us; 3us; 32768us; 46us; 99us; 48us; 31us; 49us; 98us; 0us; 16409us; 1us; 16465us; 21us; 108us; 0us; 16410us; 0us; 16411us; 0us; 16412us; 3us; 16413us; 12us; 64us; 22us; 59us; 45us; 63us; 21us; 32768us; 0us; 66us; 2us; 57us; 3us; 54us; 4us; 74us; 6us; 79us; 7us; 82us; 8us; 81us; 9us; 80us; 11us; 50us; 17us; 51us; 18us; 83us; 23us; 68us; 24us; 71us; 25us; 70us; 26us; 69us; 30us; 73us; 31us; 72us; 40us; 52us; 41us; 65us; 43us; 67us; 44us; 88us; 4us; 32768us; 12us; 64us; 14us; 49us; 22us; 59us; 45us; 63us; 0us; 16414us; 0us; 16421us; 0us; 16422us; 4us; 32768us; 22us; 36us; 46us; 99us; 48us; 31us; 49us; 98us; 0us; 16423us; 1us; 32768us; 40us; 55us; 4us; 32768us; 22us; 36us; 46us; 99us; 48us; 31us; 49us; 98us; 0us; 16424us; 4us; 32768us; 22us; 36us; 46us; 99us; 48us; 31us; 49us; 98us; 0us; 16425us; 3us; 16453us; 15us; 60us; 62us; 96us; 63us; 100us; 0us; 16426us; 2us; 32768us; 15us; 62us; 39us; 91us; 0us; 16427us; 0us; 16428us; 0us; 16429us; 0us; 16430us; 0us; 16431us; 0us; 16432us; 0us; 16433us; 0us; 16434us; 0us; 16435us; 0us; 16436us; 0us; 16437us; 0us; 16438us; 4us; 32768us; 23us; 75us; 24us; 78us; 25us; 77us; 26us; 76us; 0us; 16439us; 0us; 16440us; 0us; 16441us; 0us; 16442us; 0us; 16443us; 0us; 16444us; 0us; 16445us; 0us; 16446us; 3us; 32768us; 4us; 85us; 10us; 87us; 27us; 84us; 0us; 16447us; 1us; 32768us; 27us; 86us; 0us; 16448us; 0us; 16449us; 1us; 32768us; 63us; 100us; 0us; 16450us; 0us; 16451us; 2us; 16453us; 62us; 96us; 63us; 100us; 0us; 16452us; 1us; 16454us; 35us; 94us; 1us; 16456us; 63us; 100us; 0us; 16455us; 1us; 16458us; 63us; 100us; 0us; 16457us; 0us; 16459us; 0us; 16460us; 0us; 16461us; 0us; 16462us; 0us; 16463us; 1us; 32768us; 20us; 104us; 1us; 32768us; 63us; 101us; 1us; 32768us; 14us; 106us; 0us; 16464us; 0us; 16466us; 26us; 32768us; 0us; 66us; 2us; 57us; 3us; 54us; 4us; 74us; 6us; 79us; 7us; 82us; 8us; 81us; 9us; 80us; 11us; 50us; 17us; 51us; 18us; 83us; 20us; 47us; 22us; 36us; 23us; 68us; 24us; 71us; 25us; 70us; 26us; 69us; 30us; 73us; 31us; 72us; 40us; 52us; 41us; 65us; 43us; 67us; 44us; 88us; 46us; 99us; 48us; 31us; 49us; 98us; 2us; 32768us; 29us; 110us; 39us; 112us; 0us; 16467us; 0us; 16468us; 26us; 32768us; 0us; 66us; 2us; 57us; 3us; 54us; 4us; 74us; 6us; 79us; 7us; 82us; 8us; 81us; 9us; 80us; 11us; 50us; 17us; 51us; 18us; 83us; 20us; 47us; 22us; 36us; 23us; 68us; 24us; 71us; 25us; 70us; 26us; 69us; 30us; 73us; 31us; 72us; 40us; 52us; 41us; 65us; 43us; 67us; 44us; 88us; 46us; 99us; 48us; 31us; 49us; 98us; 0us; 16469us; |]
+let _fsyacc_actionTableRowOffsets = [|0us; 10us; 11us; 33us; 34us; 39us; 40us; 42us; 43us; 53us; 54us; 55us; 57us; 58us; 60us; 62us; 63us; 65us; 66us; 70us; 71us; 72us; 99us; 100us; 102us; 129us; 130us; 157us; 158us; 185us; 186us; 187us; 188us; 191us; 194us; 197us; 198us; 202us; 206us; 207us; 208us; 212us; 213us; 215us; 216us; 217us; 218us; 222us; 244us; 249us; 250us; 251us; 252us; 257us; 258us; 260us; 265us; 266us; 271us; 272us; 276us; 277us; 280us; 281us; 282us; 283us; 284us; 285us; 286us; 287us; 288us; 289us; 290us; 291us; 292us; 297us; 298us; 299us; 300us; 301us; 302us; 303us; 304us; 305us; 309us; 310us; 312us; 313us; 314us; 316us; 317us; 318us; 321us; 322us; 324us; 326us; 327us; 329us; 330us; 331us; 332us; 333us; 334us; 335us; 337us; 339us; 341us; 342us; 343us; 370us; 373us; 374us; 375us; 402us; |]
+let _fsyacc_reductionSymbolCounts = [|1us; 1us; 2us; 2us; 1us; 3us; 1us; 2us; 0us; 1us; 2us; 3us; 2us; 2us; 2us; 2us; 3us; 2us; 2us; 1us; 1us; 3us; 4us; 1us; 1us; 3us; 2us; 1us; 1us; 1us; 3us; 2us; 2us; 1us; 0us; 1us; 1us; 1us; 1us; 2us; 3us; 2us; 3us; 4us; 2us; 2us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 2us; 2us; 2us; 2us; 1us; 1us; 1us; 1us; 2us; 3us; 2us; 2us; 1us; 3us; 0us; 1us; 3us; 2us; 2us; 1us; 1us; 1us; 1us; 1us; 1us; 4us; 0us; 1us; 3us; 1us; 3us; |]
+let _fsyacc_productionToNonTerminalTable = [|0us; 1us; 2us; 3us; 4us; 4us; 5us; 6us; 6us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 8us; 8us; 8us; 9us; 9us; 10us; 10us; 11us; 12us; 13us; 13us; 13us; 14us; 14us; 14us; 15us; 15us; 15us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 17us; 17us; 18us; 18us; 18us; 18us; 18us; 18us; 19us; 19us; 20us; 21us; 22us; 22us; 23us; 23us; 24us; 25us; 25us; |]
+let _fsyacc_immediateActions = [|65535us; 49152us; 65535us; 49152us; 65535us; 16386us; 65535us; 16387us; 65535us; 16391us; 16393us; 65535us; 16394us; 65535us; 65535us; 16395us; 65535us; 16396us; 65535us; 16397us; 16398us; 65535us; 16399us; 65535us; 65535us; 16400us; 65535us; 16401us; 65535us; 16402us; 16403us; 16404us; 65535us; 65535us; 65535us; 16405us; 65535us; 65535us; 16406us; 16407us; 65535us; 16409us; 65535us; 16410us; 16411us; 16412us; 65535us; 65535us; 65535us; 16414us; 16421us; 16422us; 65535us; 16423us; 65535us; 65535us; 16424us; 65535us; 16425us; 65535us; 16426us; 65535us; 16427us; 16428us; 16429us; 16430us; 16431us; 16432us; 16433us; 16434us; 16435us; 16436us; 16437us; 16438us; 65535us; 16439us; 16440us; 16441us; 16442us; 16443us; 16444us; 16445us; 16446us; 65535us; 16447us; 65535us; 16448us; 16449us; 65535us; 16450us; 16451us; 65535us; 16452us; 65535us; 65535us; 16455us; 65535us; 16457us; 16459us; 16460us; 16461us; 16462us; 16463us; 65535us; 65535us; 65535us; 16464us; 16466us; 65535us; 65535us; 16467us; 16468us; 65535us; 16469us; |]
+let _fsyacc_reductions () = [|
+# 594 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILInstr array)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+ raise (Internal.Utilities.Text.Parsing.Accept(Microsoft.FSharp.Core.Operators.box _1))
+ )
+ : '_startilInstrs));
+# 603 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+ raise (Internal.Utilities.Text.Parsing.Accept(Microsoft.FSharp.Core.Operators.box _1))
+ )
+ : '_startilType));
+# 612 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILType ResolvedAtMethodSpecScope)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 127 "../../absil/ilpars.fsy"
+ resolveMethodSpecScope _1 []
+ )
+# 127 "../../absil/ilpars.fsy"
+ : ILType));
+# 623 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'instrs2)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 131 "../../absil/ilpars.fsy"
+ Array.ofList _1
+ )
+# 131 "../../absil/ilpars.fsy"
+ : ILInstr array));
+# 634 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 135 "../../absil/ilpars.fsy"
+ _1
+ )
+# 135 "../../absil/ilpars.fsy"
+ : 'compQstring));
+# 645 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'compQstring)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 136 "../../absil/ilpars.fsy"
+ _1 + _3
+ )
+# 136 "../../absil/ilpars.fsy"
+ : 'compQstring));
+# 657 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 138 "../../absil/ilpars.fsy"
+ _1
+ )
+# 138 "../../absil/ilpars.fsy"
+ : 'methodName));
+# 668 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'instr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'instrs2)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 142 "../../absil/ilpars.fsy"
+ _1 :: _2
+ )
+# 142 "../../absil/ilpars.fsy"
+ : 'instrs2));
+# 680 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 143 "../../absil/ilpars.fsy"
+ []
+ )
+# 143 "../../absil/ilpars.fsy"
+ : 'instrs2));
+# 690 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : NoArgInstr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 147 "../../absil/ilpars.fsy"
+ (_1 ())
+ )
+# 147 "../../absil/ilpars.fsy"
+ : 'instr));
+# 701 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Int32Instr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 149 "../../absil/ilpars.fsy"
+ (_1 _2)
+ )
+# 149 "../../absil/ilpars.fsy"
+ : 'instr));
+# 713 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Int32Int32Instr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 151 "../../absil/ilpars.fsy"
+ (_1 (_2,_3))
+ )
+# 151 "../../absil/ilpars.fsy"
+ : 'instr));
+# 726 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Int64Instr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int64)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 153 "../../absil/ilpars.fsy"
+ (_1 _2)
+ )
+# 153 "../../absil/ilpars.fsy"
+ : 'instr));
+# 738 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : DoubleInstr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'float64)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 155 "../../absil/ilpars.fsy"
+ (_1 (ILConst.R8 _2))
+ )
+# 155 "../../absil/ilpars.fsy"
+ : 'instr));
+# 750 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : DoubleInstr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int64)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 157 "../../absil/ilpars.fsy"
+ (_1 (ILConst.R8 (float _2)))
+ )
+# 157 "../../absil/ilpars.fsy"
+ : 'instr));
+# 762 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : TypeInstr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typSpec)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 159 "../../absil/ilpars.fsy"
+ _1 (resolveCurrentMethodSpecScope _2)
+ )
+# 159 "../../absil/ilpars.fsy"
+ : 'instr));
+# 774 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : IntTypeInstr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typSpec)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 161 "../../absil/ilpars.fsy"
+ _1 ( _2,resolveCurrentMethodSpecScope _3)
+ )
+# 161 "../../absil/ilpars.fsy"
+ : 'instr));
+# 787 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ValueTypeInstr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typSpec)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 163 "../../absil/ilpars.fsy"
+ _1 (resolveCurrentMethodSpecScope _2)
+ )
+# 163 "../../absil/ilpars.fsy"
+ : 'instr));
+# 799 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : TokenInstr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typSpec)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 165 "../../absil/ilpars.fsy"
+ (_1 (ILToken.ILType (resolveCurrentMethodSpecScope _2)))
+ )
+# 165 "../../absil/ilpars.fsy"
+ : 'instr));
+# 811 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'id)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 172 "../../absil/ilpars.fsy"
+ _1
+ )
+# 172 "../../absil/ilpars.fsy"
+ : string));
+# 822 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 174 "../../absil/ilpars.fsy"
+ _1
+ )
+# 174 "../../absil/ilpars.fsy"
+ : string));
+# 833 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'id)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 176 "../../absil/ilpars.fsy"
+ _1 + "." + _3
+ )
+# 176 "../../absil/ilpars.fsy"
+ : string));
+# 845 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'slashedName)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 180 "../../absil/ilpars.fsy"
+ let (enc,nm) = _4
+ let aref = findAssemblyRef _2
+ ILScopeRef.Assembly aref, enc, nm
+ )
+# 180 "../../absil/ilpars.fsy"
+ : 'className));
+# 859 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'slashedName)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 184 "../../absil/ilpars.fsy"
+ let enc, nm = _1 in (ILScopeRef.Local, enc, nm)
+ )
+# 184 "../../absil/ilpars.fsy"
+ : 'className));
+# 870 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 188 "../../absil/ilpars.fsy"
+ ([],_1)
+ )
+# 188 "../../absil/ilpars.fsy"
+ : 'slashedName));
+# 881 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'slashedName)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 190 "../../absil/ilpars.fsy"
+ let (enc,nm) = _3 in (_1 :: enc, nm)
+ )
+# 190 "../../absil/ilpars.fsy"
+ : 'slashedName));
+# 893 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'className)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_actual_tyargs)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 194 "../../absil/ilpars.fsy"
+ let (a,b,c) = _1
+ resolveMethodSpecScopeThen _2 (fun inst ->
+ noMethodSpecScope ( (mkILTySpec ( (mkILNestedTyRef (a,b,c)), inst))))
+ )
+# 194 "../../absil/ilpars.fsy"
+ : 'typeNameInst));
+# 907 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'className)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 201 "../../absil/ilpars.fsy"
+ let (a,b,c) = _1
+ noMethodSpecScope ( (mkILTySpec ( (mkILNestedTyRef (a,b,c)), [])))
+ )
+# 201 "../../absil/ilpars.fsy"
+ : 'typeName));
+# 919 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeName)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 207 "../../absil/ilpars.fsy"
+ resolveMethodSpecScopeThen _1 (fun tref ->
+ noMethodSpecScope (mkILBoxedType tref))
+ )
+# 207 "../../absil/ilpars.fsy"
+ : 'typSpec));
+# 931 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILType ResolvedAtMethodSpecScope)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 210 "../../absil/ilpars.fsy"
+ _1
+ )
+# 210 "../../absil/ilpars.fsy"
+ : 'typSpec));
+# 942 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : ILType ResolvedAtMethodSpecScope)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 212 "../../absil/ilpars.fsy"
+ _2
+ )
+# 212 "../../absil/ilpars.fsy"
+ : 'typSpec));
+# 953 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'callKind)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 217 "../../absil/ilpars.fsy"
+ Callconv (ILThisConvention.Instance,_2)
+ )
+# 217 "../../absil/ilpars.fsy"
+ : 'callConv));
+# 964 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'callKind)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 219 "../../absil/ilpars.fsy"
+ Callconv (ILThisConvention.InstanceExplicit,_2)
+ )
+# 219 "../../absil/ilpars.fsy"
+ : 'callConv));
+# 975 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'callKind)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 221 "../../absil/ilpars.fsy"
+ Callconv (ILThisConvention.Static,_1)
+ )
+# 221 "../../absil/ilpars.fsy"
+ : 'callConv));
+# 986 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 225 "../../absil/ilpars.fsy"
+ ILArgConvention.Default
+ )
+# 225 "../../absil/ilpars.fsy"
+ : 'callKind));
+# 996 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 227 "../../absil/ilpars.fsy"
+ ILArgConvention.Default
+ )
+# 227 "../../absil/ilpars.fsy"
+ : 'callKind));
+# 1006 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 229 "../../absil/ilpars.fsy"
+ ILArgConvention.VarArg
+ )
+# 229 "../../absil/ilpars.fsy"
+ : 'callKind));
+# 1016 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 238 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_String
+ )
+# 238 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1026 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 240 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_Object
+ )
+# 240 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1036 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeNameInst)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 242 "../../absil/ilpars.fsy"
+ resolveMethodSpecScopeThen _2 (fun tspec ->
+ noMethodSpecScope (mkILBoxedType tspec))
+ )
+# 242 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1048 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeNameInst)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 245 "../../absil/ilpars.fsy"
+ resolveMethodSpecScopeThen _3 (fun tspec ->
+ noMethodSpecScope (ILType.Value tspec))
+ )
+# 245 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1060 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeNameInst)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 248 "../../absil/ilpars.fsy"
+ resolveMethodSpecScopeThen _2 (fun tspec ->
+ noMethodSpecScope (ILType.Value tspec))
+ )
+# 248 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1072 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILType ResolvedAtMethodSpecScope)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 251 "../../absil/ilpars.fsy"
+ resolveMethodSpecScopeThen _1 (fun ty -> noMethodSpecScope (mkILArr1DTy ty))
+ )
+# 251 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1083 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILType ResolvedAtMethodSpecScope)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'bounds1)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 253 "../../absil/ilpars.fsy"
+ resolveMethodSpecScopeThen _1 (fun ty -> noMethodSpecScope (mkILArrTy (ty,ILArrayShape _3)))
+ )
+# 253 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1095 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILType ResolvedAtMethodSpecScope)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 255 "../../absil/ilpars.fsy"
+ resolveMethodSpecScopeThen _1 (fun ty -> noMethodSpecScope (ILType.Byref ty))
+ )
+# 255 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1106 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : ILType ResolvedAtMethodSpecScope)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 257 "../../absil/ilpars.fsy"
+ resolveMethodSpecScopeThen _1 (fun ty -> noMethodSpecScope (ILType.Ptr ty))
+ )
+# 257 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1117 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 259 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_Char
+ )
+# 259 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1127 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 261 "../../absil/ilpars.fsy"
+ noMethodSpecScope ILType.Void
+ )
+# 261 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1137 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 263 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_Bool
+ )
+# 263 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1147 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 265 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_SByte
+ )
+# 265 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1157 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 267 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_Int16
+ )
+# 267 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1167 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 269 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_Int32
+ )
+# 269 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1177 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 271 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_Int64
+ )
+# 271 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1187 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 273 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_Single
+ )
+# 273 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1197 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 275 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_Double
+ )
+# 275 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1207 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 277 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_Byte
+ )
+# 277 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1217 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 279 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_UInt16
+ )
+# 279 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1227 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 281 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_UInt32
+ )
+# 281 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1237 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 283 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_UInt64
+ )
+# 283 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1247 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 285 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_Byte
+ )
+# 285 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1257 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 287 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_UInt16
+ )
+# 287 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1267 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 289 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_UInt32
+ )
+# 289 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1277 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 291 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_UInt64
+ )
+# 291 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1287 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 293 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_IntPtr
+ )
+# 293 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1297 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 295 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_UIntPtr
+ )
+# 295 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1307 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 297 "../../absil/ilpars.fsy"
+ noMethodSpecScope (!parseILGlobals).typ_UIntPtr
+ )
+# 297 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1317 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 300 "../../absil/ilpars.fsy"
+ noMethodSpecScope (ILType.TypeVar (uint16 ( _2)))
+ )
+# 300 "../../absil/ilpars.fsy"
+ : ILType ResolvedAtMethodSpecScope));
+# 1328 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'bound)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 305 "../../absil/ilpars.fsy"
+ [_1]
+ )
+# 305 "../../absil/ilpars.fsy"
+ : 'bounds1));
+# 1339 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'bounds1)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'bound)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 307 "../../absil/ilpars.fsy"
+ _1 @ [_3]
+ )
+# 307 "../../absil/ilpars.fsy"
+ : 'bounds1));
+# 1351 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 311 "../../absil/ilpars.fsy"
+ (None, None)
+ )
+# 311 "../../absil/ilpars.fsy"
+ : 'bound));
+# 1361 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 313 "../../absil/ilpars.fsy"
+ (None, Some _1)
+ )
+# 313 "../../absil/ilpars.fsy"
+ : 'bound));
+# 1372 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 315 "../../absil/ilpars.fsy"
+ (Some _1, Some (_3 - _1 + 1))
+ )
+# 315 "../../absil/ilpars.fsy"
+ : 'bound));
+# 1384 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 317 "../../absil/ilpars.fsy"
+ (Some _1, None)
+ )
+# 317 "../../absil/ilpars.fsy"
+ : 'bound));
+# 1395 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int32)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'int32)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 324 "../../absil/ilpars.fsy"
+ (Some _1, Some (_2 - _1 + 1))
+ )
+# 324 "../../absil/ilpars.fsy"
+ : 'bound));
+# 1407 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int32)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 326 "../../absil/ilpars.fsy"
+ (Some _1, None)
+ )
+# 326 "../../absil/ilpars.fsy"
+ : 'bound));
+# 1418 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 330 "../../absil/ilpars.fsy"
+ _1
+ )
+# 330 "../../absil/ilpars.fsy"
+ : 'id));
+# 1429 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 332 "../../absil/ilpars.fsy"
+ _1
+ )
+# 332 "../../absil/ilpars.fsy"
+ : 'id));
+# 1440 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int64)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 336 "../../absil/ilpars.fsy"
+ int32 _1
+ )
+# 336 "../../absil/ilpars.fsy"
+ : 'int32));
+# 1451 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int64)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 340 "../../absil/ilpars.fsy"
+ _1
+ )
+# 340 "../../absil/ilpars.fsy"
+ : 'int64));
+# 1462 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : double)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 344 "../../absil/ilpars.fsy"
+ _1
+ )
+# 344 "../../absil/ilpars.fsy"
+ : 'float64));
+# 1473 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'int64)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 346 "../../absil/ilpars.fsy"
+ System.BitConverter.Int64BitsToDouble _3
+ )
+# 346 "../../absil/ilpars.fsy"
+ : 'float64));
+# 1484 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 350 "../../absil/ilpars.fsy"
+ noMethodSpecScope []
+ )
+# 350 "../../absil/ilpars.fsy"
+ : 'opt_actual_tyargs));
+# 1494 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'actual_tyargs)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 352 "../../absil/ilpars.fsy"
+ resolveMethodSpecScopeThen _1 (fun res ->
+ noMethodSpecScope res)
+ )
+# 352 "../../absil/ilpars.fsy"
+ : 'opt_actual_tyargs));
+# 1506 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'actualTypSpecs)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 357 "../../absil/ilpars.fsy"
+ _2
+ )
+# 357 "../../absil/ilpars.fsy"
+ : 'actual_tyargs));
+# 1517 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typSpec)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 361 "../../absil/ilpars.fsy"
+ resolveMethodSpecScopeThen _1 (fun res ->
+ noMethodSpecScope [ res])
+ )
+# 361 "../../absil/ilpars.fsy"
+ : 'actualTypSpecs));
+# 1529 "ilpars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'actualTypSpecs)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typSpec)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 364 "../../absil/ilpars.fsy"
+ resolveMethodSpecScopeThen _1 (fun x ->
+ resolveMethodSpecScopeThen _3 (fun y ->
+ noMethodSpecScope (x @ [ y])))
+ )
+# 364 "../../absil/ilpars.fsy"
+ : 'actualTypSpecs));
+|]
+# 1544 "ilpars.fs"
+let tables () : Internal.Utilities.Text.Parsing.Tables<_> =
+ { reductions= _fsyacc_reductions ();
+ endOfInputTag = _fsyacc_endOfInputTag;
+ tagOfToken = tagOfToken;
+ dataOfToken = _fsyacc_dataOfToken;
+ actionTableElements = _fsyacc_actionTableElements;
+ actionTableRowOffsets = _fsyacc_actionTableRowOffsets;
+ stateToProdIdxsTableElements = _fsyacc_stateToProdIdxsTableElements;
+ stateToProdIdxsTableRowOffsets = _fsyacc_stateToProdIdxsTableRowOffsets;
+ reductionSymbolCounts = _fsyacc_reductionSymbolCounts;
+ immediateActions = _fsyacc_immediateActions;
+ gotos = _fsyacc_gotos;
+ sparseGotoTableRowOffsets = _fsyacc_sparseGotoTableRowOffsets;
+ tagOfErrorTerminal = _fsyacc_tagOfErrorTerminal;
+ parseError = (fun (ctxt:Internal.Utilities.Text.Parsing.ParseErrorContext<_>) ->
+ match parse_error_rich with
+ | Some f -> f ctxt
+ | None -> parse_error ctxt.Message);
+ numTerminals = 67;
+ productionToNonTerminalTable = _fsyacc_productionToNonTerminalTable }
+let engine lexer lexbuf startState = (tables ()).Interpret(lexer, lexbuf, startState)
+let ilInstrs lexer lexbuf : ILInstr array =
+ Microsoft.FSharp.Core.Operators.unbox ((tables ()).Interpret(lexer, lexbuf, 0))
+let ilType lexer lexbuf : ILType =
+ Microsoft.FSharp.Core.Operators.unbox ((tables ()).Interpret(lexer, lexbuf, 2))
diff --git a/src/fsharp/FSharp.Compiler.Private/ilpars.fsi b/src/fsharp/FSharp.Compiler.Private/ilpars.fsi
new file mode 100644
index 0000000000..db5a8b6ce6
--- /dev/null
+++ b/src/fsharp/FSharp.Compiler.Private/ilpars.fsi
@@ -0,0 +1,175 @@
+// Signature file for parser generated by fsyacc
+module internal FSharp.Compiler.AbstractIL.Internal.AsciiParser
+open FSharp.Compiler.AbstractIL
+type token =
+ | VOID
+ | VARARG
+ | VALUETYPE
+ | VALUE
+ | UNSIGNED
+ | UNMANAGED
+ | UINT8
+ | UINT64
+ | UINT32
+ | UINT16
+ | UINT
+ | STRING
+ | STAR
+ | SLASH
+ | RPAREN
+ | RBRACK
+ | PLUS
+ | OBJECT
+ | NATIVE
+ | METHOD
+ | LPAREN
+ | LESS
+ | LBRACK
+ | INT8
+ | INT64
+ | INT32
+ | INT16
+ | INT
+ | INSTANCE
+ | GREATER
+ | FLOAT64
+ | FLOAT32
+ | FIELD
+ | EXPLICIT
+ | EOF
+ | ELIPSES
+ | DOT
+ | DEFAULT
+ | DCOLON
+ | COMMA
+ | CLASS
+ | CHAR
+ | BYTEARRAY
+ | BOOL
+ | BANG
+ | AMP
+ | VAL_SQSTRING of (string)
+ | VAL_QSTRING of (string)
+ | VAL_DOTTEDNAME of (string)
+ | VAL_ID of (string)
+ | VAL_HEXBYTE of (int)
+ | INSTR_VALUETYPE of (ValueTypeInstr)
+ | INSTR_INT_TYPE of (IntTypeInstr)
+ | INSTR_TYPE of (TypeInstr)
+ | INSTR_TOK of (TokenInstr)
+ | INSTR_STRING of (StringInstr)
+ | INSTR_NONE of (NoArgInstr)
+ | INSTR_R of (DoubleInstr)
+ | INSTR_I8 of (Int64Instr)
+ | INSTR_I32_I32 of (Int32Int32Instr)
+ | INSTR_I of (Int32Instr)
+ | VAL_FLOAT64 of (double)
+ | VAL_INT32_ELIPSES of (int32)
+ | VAL_INT64 of (int64)
+type tokenId =
+ | TOKEN_VOID
+ | TOKEN_VARARG
+ | TOKEN_VALUETYPE
+ | TOKEN_VALUE
+ | TOKEN_UNSIGNED
+ | TOKEN_UNMANAGED
+ | TOKEN_UINT8
+ | TOKEN_UINT64
+ | TOKEN_UINT32
+ | TOKEN_UINT16
+ | TOKEN_UINT
+ | TOKEN_STRING
+ | TOKEN_STAR
+ | TOKEN_SLASH
+ | TOKEN_RPAREN
+ | TOKEN_RBRACK
+ | TOKEN_PLUS
+ | TOKEN_OBJECT
+ | TOKEN_NATIVE
+ | TOKEN_METHOD
+ | TOKEN_LPAREN
+ | TOKEN_LESS
+ | TOKEN_LBRACK
+ | TOKEN_INT8
+ | TOKEN_INT64
+ | TOKEN_INT32
+ | TOKEN_INT16
+ | TOKEN_INT
+ | TOKEN_INSTANCE
+ | TOKEN_GREATER
+ | TOKEN_FLOAT64
+ | TOKEN_FLOAT32
+ | TOKEN_FIELD
+ | TOKEN_EXPLICIT
+ | TOKEN_EOF
+ | TOKEN_ELIPSES
+ | TOKEN_DOT
+ | TOKEN_DEFAULT
+ | TOKEN_DCOLON
+ | TOKEN_COMMA
+ | TOKEN_CLASS
+ | TOKEN_CHAR
+ | TOKEN_BYTEARRAY
+ | TOKEN_BOOL
+ | TOKEN_BANG
+ | TOKEN_AMP
+ | TOKEN_VAL_SQSTRING
+ | TOKEN_VAL_QSTRING
+ | TOKEN_VAL_DOTTEDNAME
+ | TOKEN_VAL_ID
+ | TOKEN_VAL_HEXBYTE
+ | TOKEN_INSTR_VALUETYPE
+ | TOKEN_INSTR_INT_TYPE
+ | TOKEN_INSTR_TYPE
+ | TOKEN_INSTR_TOK
+ | TOKEN_INSTR_STRING
+ | TOKEN_INSTR_NONE
+ | TOKEN_INSTR_R
+ | TOKEN_INSTR_I8
+ | TOKEN_INSTR_I32_I32
+ | TOKEN_INSTR_I
+ | TOKEN_VAL_FLOAT64
+ | TOKEN_VAL_INT32_ELIPSES
+ | TOKEN_VAL_INT64
+ | TOKEN_end_of_input
+ | TOKEN_error
+type nonTerminalId =
+ | NONTERM__startilInstrs
+ | NONTERM__startilType
+ | NONTERM_ilType
+ | NONTERM_ilInstrs
+ | NONTERM_compQstring
+ | NONTERM_methodName
+ | NONTERM_instrs2
+ | NONTERM_instr
+ | NONTERM_name1
+ | NONTERM_className
+ | NONTERM_slashedName
+ | NONTERM_typeNameInst
+ | NONTERM_typeName
+ | NONTERM_typSpec
+ | NONTERM_callConv
+ | NONTERM_callKind
+ | NONTERM_typ
+ | NONTERM_bounds1
+ | NONTERM_bound
+ | NONTERM_id
+ | NONTERM_int32
+ | NONTERM_int64
+ | NONTERM_float64
+ | NONTERM_opt_actual_tyargs
+ | NONTERM_actual_tyargs
+ | NONTERM_actualTypSpecs
+/// This function maps tokens to integer indexes
+val tagOfToken: token -> int
+
+/// This function maps integer indexes to symbolic token ids
+val tokenTagToTokenId: int -> tokenId
+
+/// This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production
+val prodIdxToNonTerminal: int -> nonTerminalId
+
+/// This function gets the name of a token as a string
+val token_to_string: token -> string
+val ilInstrs : (Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> token) -> Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> (ILInstr array)
+val ilType : (Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> token) -> Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> (ILType)
diff --git a/src/fsharp/FSharp.Compiler.Private/lex.fs b/src/fsharp/FSharp.Compiler.Private/lex.fs
new file mode 100644
index 0000000000..4cd5958fc7
--- /dev/null
+++ b/src/fsharp/FSharp.Compiler.Private/lex.fs
@@ -0,0 +1,3072 @@
+# 3 "../lex.fsl"
+
+
+module internal FSharp.Compiler.Lexer
+
+//------------------------------------------------------------------------
+// The Lexer. Some of the complication arises from the fact it is
+// reused by the Visual Studio mode to do partial lexing reporting
+// whitespace etc.
+//-----------------------------------------------------------------------
+
+open System
+open System.Globalization
+open System.Text
+open Internal.Utilities
+
+open FSharp.Compiler.AbstractIL
+open FSharp.Compiler.AbstractIL.Internal
+open FSharp.Compiler.AbstractIL.Internal.Library
+open FSharp.Compiler
+
+open FSharp.Compiler.Range
+open FSharp.Compiler.Ast
+open FSharp.Compiler.ErrorLogger
+open FSharp.Compiler.Features
+open FSharp.Compiler.Parser
+open FSharp.Compiler.Lexhelp
+open FSharp.Compiler.Lib
+open Internal.Utilities.Text.Lexing
+
+let lexeme (lexbuf : UnicodeLexing.Lexbuf) = UnicodeLexing.Lexbuf.LexemeString lexbuf
+
+let trimBoth (s:string) n m = s.Substring(n, s.Length - (n+m))
+let lexemeTrimBoth lexbuf n m = trimBoth (lexeme lexbuf) n m
+let lexemeTrimRight lexbuf n = lexemeTrimBoth lexbuf 0 n
+let lexemeTrimLeft lexbuf n = lexemeTrimBoth lexbuf n 0
+
+let fail args (lexbuf:UnicodeLexing.Lexbuf) msg dflt =
+ let m = lexbuf.LexemeRange
+ args.errorLogger.ErrorR(Error(msg,m))
+ dflt
+
+//--------------------------
+// Integer parsing
+
+// Parsing integers is common in bootstrap runs (parsing
+// the parser tables, no doubt). So this is an optimized
+// version of the F# core library parsing code with the call to "Trim"
+// removed, which appears in profiling runs as a small but significant cost.
+
+let getSign32 (s:string) (p:byref) l =
+ if (l >= p + 1 && s.[p] = '-')
+ then p <- p + 1; -1
+ else 1
+
+let isOXB c =
+ let c = Char.ToLowerInvariant c
+ c = 'x' || c = 'o' || c = 'b'
+
+let is0OXB (s:string) p l =
+ l >= p + 2 && s.[p] = '0' && isOXB s.[p+1]
+let get0OXB (s:string) (p:byref) l =
+ if is0OXB s p l
+ then let r = Char.ToLowerInvariant s.[p+1] in p <- p + 2; r
+ else 'd'
+
+let formatError() = raise (new System.FormatException(SR.GetString("bad format string")))
+
+let parseBinaryUInt64 (s:string) =
+ Convert.ToUInt64(s, 2)
+
+let parseOctalUInt64 (s:string) =
+ Convert.ToUInt64(s, 8)
+
+let removeUnderscores (s:string) =
+ match s with
+ | null -> null
+ | s -> s.Replace("_", "")
+
+let parseInt32 (s:string) =
+ let s = removeUnderscores s
+ let l = s.Length
+ let mutable p = 0
+ let sign = getSign32 s &p l
+ let specifier = get0OXB s &p l
+ match Char.ToLower(specifier,CultureInfo.InvariantCulture) with
+ | 'x' -> sign * (int32 (Convert.ToUInt32(UInt64.Parse(s.Substring(p), NumberStyles.AllowHexSpecifier,CultureInfo.InvariantCulture))))
+ | 'b' -> sign * (int32 (Convert.ToUInt32(parseBinaryUInt64 (s.Substring(p)))))
+ | 'o' -> sign * (int32 (Convert.ToUInt32(parseOctalUInt64 (s.Substring(p)))))
+ | _ -> Int32.Parse(s, NumberStyles.AllowLeadingSign, CultureInfo.InvariantCulture)
+
+let lexemeTrimRightToInt32 args lexbuf n =
+ try parseInt32 (lexemeTrimRight lexbuf n)
+ with _ -> fail args lexbuf (FSComp.SR.lexOutsideIntegerRange()) 0
+
+//--------------------------
+// Checks
+
+let checkExprOp (lexbuf:UnicodeLexing.Lexbuf) =
+ if String.contains (lexeme lexbuf) ':' then
+ deprecatedWithError (FSComp.SR.lexCharNotAllowedInOperatorNames(":")) lexbuf.LexemeRange
+ if String.contains (lexeme lexbuf) '$' then
+ deprecatedWithError (FSComp.SR.lexCharNotAllowedInOperatorNames("$")) lexbuf.LexemeRange
+
+let unexpectedChar lexbuf =
+ LEX_FAILURE (FSComp.SR.lexUnexpectedChar(lexeme lexbuf))
+
+let startString args (lexbuf: UnicodeLexing.Lexbuf) =
+ let buf = ByteBuffer.Create 100
+ let m = lexbuf.LexemeRange
+ let startp = lexbuf.StartPos
+ let fin = (fun _m2 b s ->
+ // Adjust the start-of-token mark back to the true start of the token
+ lexbuf.StartPos <- startp
+ if b then
+ if Lexhelp.stringBufferIsBytes buf then
+ BYTEARRAY (Lexhelp.stringBufferAsBytes buf)
+ else (
+ fail args lexbuf (FSComp.SR.lexByteArrayCannotEncode()) ()
+ BYTEARRAY (Lexhelp.stringBufferAsBytes buf)
+ )
+ else
+ STRING (Lexhelp.stringBufferAsString s))
+ buf,fin,m
+
+// Utility functions for processing XML documentation
+
+let trySaveXmlDoc lexbuf (buff:option) =
+ match buff with
+ | None -> ()
+ | Some sb -> LexbufLocalXmlDocStore.SaveXmlDocLine (lexbuf, sb.ToString(), posOfLexPosition lexbuf.StartPos)
+
+let tryAppendXmlDoc (buff:option) (s:string) =
+ match buff with
+ | None -> ()
+ | Some sb -> ignore(sb.Append s)
+
+// Utilities for parsing #if/#else/#endif
+
+let shouldStartLine args lexbuf (m:range) err tok =
+ if (m.StartColumn <> 0) then fail args lexbuf err tok
+ else tok
+
+let shouldStartFile args lexbuf (m:range) err tok =
+ if (m.StartColumn <> 0 || m.StartLine <> 1) then fail args lexbuf err tok
+ else tok
+
+let evalIfDefExpression startPos isFeatureSupported args (lookup:string->bool) (lexed:string) =
+ let lexbuf = LexBuffer.FromChars (isFeatureSupported, lexed.ToCharArray ())
+ lexbuf.StartPos <- startPos
+ lexbuf.EndPos <- startPos
+ let tokenStream = FSharp.Compiler.PPLexer.tokenstream args
+ let expr = FSharp.Compiler.PPParser.start tokenStream lexbuf
+ LexerIfdefEval lookup expr
+
+
+# 157 "lex.fs"
+let trans : uint16[] array =
+ [|
+ (* State 0 *)
+ [| 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 2us; 5us; 5us; 3us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 1us; 5us; 5us; 5us; 5us; 5us; 4us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 6us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 7us; |];
+ (* State 1 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 2 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 3 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 30us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 4 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 10us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 5 *)
+ [| 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 65535us; 8us; 8us; 65535us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 65535us; 8us; 8us; 8us; 8us; 8us; 65535us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 65535us; |];
+ (* State 6 *)
+ [| 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 65535us; 8us; 8us; 65535us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 65535us; 8us; 8us; 8us; 8us; 8us; 65535us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 9us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 65535us; |];
+ (* State 7 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 8 *)
+ [| 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 65535us; 8us; 8us; 65535us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 65535us; 8us; 8us; 8us; 8us; 8us; 65535us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 65535us; |];
+ (* State 9 *)
+ [| 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 65535us; 8us; 8us; 65535us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 65535us; 8us; 8us; 8us; 8us; 8us; 65535us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 8us; 65535us; |];
+ (* State 10 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 11us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 11 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 12us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 12 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 13us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 13 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 14us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 14 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 15us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 15 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 16 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 17us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 18us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 17 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 25us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 18 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 19us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 19 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 20us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 20 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 21us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 21 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 22us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 22 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 23us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 23 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 24us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 24 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 25 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 26us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 26 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 27us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 27 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 28us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 28 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 29us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 29 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 30 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 31 *)
+ [| 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 36us; 37us; 41us; 41us; 38us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 36us; 41us; 32us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 35us; 34us; 34us; 34us; 34us; 34us; 34us; 34us; 34us; 34us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 41us; 41us; 41us; 41us; 33us; 41us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 33us; 41us; 41us; 41us; 41us; 41us; 33us; 33us; 33us; 33us; 33us; 41us; 41us; 41us; 34us; 33us; 41us; 41us; 41us; 41us; 41us; 41us; 40us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 41us; 39us; |];
+ (* State 32 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 59us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 33 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 58us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 65535us; 65535us; 65535us; 65535us; 58us; 65535us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 65535us; 65535us; 65535us; 65535us; 65535us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 65535us; 58us; 58us; 65535us; 65535us; 65535us; 65535us; 65535us; 58us; 65535us; 65535us; 58us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 34 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 45us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 35 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 48us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 47us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 46us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 45us; 65535us; 65535us; 48us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 47us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 46us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 36 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 43us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 43us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 37 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 38 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 42us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 39 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 40 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 41us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 41 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 42 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 43 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 43us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 43us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 44 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 45us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 45 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 45us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 44us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 46 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 55us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 55us; 55us; 55us; 55us; 55us; 55us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 55us; 55us; 55us; 55us; 55us; 55us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 47 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 52us; 52us; 52us; 52us; 52us; 52us; 52us; 52us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 48 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 49us; 49us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 49 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 50us; 50us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 51us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 50 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 50us; 50us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 51us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 51 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 50us; 50us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 51us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 52 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 54us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 53 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 54us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 54 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 53us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 54us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 55 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 56us; 56us; 56us; 56us; 56us; 56us; 56us; 56us; 56us; 56us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 56us; 56us; 56us; 56us; 56us; 56us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 57us; 65535us; 56us; 56us; 56us; 56us; 56us; 56us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 56 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 56us; 56us; 56us; 56us; 56us; 56us; 56us; 56us; 56us; 56us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 56us; 56us; 56us; 56us; 56us; 56us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 57us; 65535us; 56us; 56us; 56us; 56us; 56us; 56us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 57 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 56us; 56us; 56us; 56us; 56us; 56us; 56us; 56us; 56us; 56us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 56us; 56us; 56us; 56us; 56us; 56us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 57us; 65535us; 56us; 56us; 56us; 56us; 56us; 56us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 58 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 58us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 65535us; 65535us; 65535us; 65535us; 58us; 65535us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 65535us; 65535us; 65535us; 65535us; 65535us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 65535us; 58us; 58us; 65535us; 65535us; 65535us; 65535us; 65535us; 58us; 65535us; 65535us; 58us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 59 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 60us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 60 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 61 *)
+ [| 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 66us; 67us; 71us; 71us; 68us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 66us; 71us; 62us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 65us; 64us; 64us; 64us; 64us; 64us; 64us; 64us; 64us; 64us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 71us; 71us; 71us; 71us; 63us; 71us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 63us; 71us; 71us; 71us; 71us; 71us; 63us; 63us; 63us; 63us; 63us; 71us; 71us; 71us; 64us; 63us; 71us; 71us; 71us; 71us; 71us; 71us; 70us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 71us; 69us; |];
+ (* State 62 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 89us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 63 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 88us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 65535us; 65535us; 65535us; 65535us; 88us; 65535us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 65535us; 65535us; 65535us; 65535us; 65535us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 65535us; 88us; 88us; 65535us; 65535us; 65535us; 65535us; 65535us; 88us; 65535us; 65535us; 88us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 64 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 75us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 74us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 65 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 78us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 77us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 76us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 75us; 65535us; 65535us; 78us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 77us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 76us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 74us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 66 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 73us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 73us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 67 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 68 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 72us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 69 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 70 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 71us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 71 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 72 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 73 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 73us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 73us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 74 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 75us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 74us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 75 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 74us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 75us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 74us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 76 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 85us; 85us; 85us; 85us; 85us; 85us; 85us; 85us; 85us; 85us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 85us; 85us; 85us; 85us; 85us; 85us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 85us; 85us; 85us; 85us; 85us; 85us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 77 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 82us; 82us; 82us; 82us; 82us; 82us; 82us; 82us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 78 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 79us; 79us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 79 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 80us; 80us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 81us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 80 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 80us; 80us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 81us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 81 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 80us; 80us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 81us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 82 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 83us; 83us; 83us; 83us; 83us; 83us; 83us; 83us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 84us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 83 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 83us; 83us; 83us; 83us; 83us; 83us; 83us; 83us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 84us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 84 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 83us; 83us; 83us; 83us; 83us; 83us; 83us; 83us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 84us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 85 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 86us; 86us; 86us; 86us; 86us; 86us; 86us; 86us; 86us; 86us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 86us; 86us; 86us; 86us; 86us; 86us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 87us; 65535us; 86us; 86us; 86us; 86us; 86us; 86us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 86 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 86us; 86us; 86us; 86us; 86us; 86us; 86us; 86us; 86us; 86us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 86us; 86us; 86us; 86us; 86us; 86us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 87us; 65535us; 86us; 86us; 86us; 86us; 86us; 86us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 87 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 86us; 86us; 86us; 86us; 86us; 86us; 86us; 86us; 86us; 86us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 86us; 86us; 86us; 86us; 86us; 86us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 87us; 65535us; 86us; 86us; 86us; 86us; 86us; 86us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 88 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 88us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 65535us; 65535us; 65535us; 65535us; 88us; 65535us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 65535us; 65535us; 65535us; 65535us; 65535us; 88us; 88us; 88us; 88us; 88us; 88us; 88us; 65535us; 88us; 88us; 65535us; 65535us; 65535us; 65535us; 65535us; 88us; 65535us; 65535us; 88us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 89 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 90 *)
+ [| 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 95us; 97us; 101us; 101us; 98us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 95us; 101us; 96us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 94us; 93us; 93us; 93us; 93us; 93us; 93us; 93us; 93us; 93us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 101us; 91us; 101us; 101us; 92us; 101us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 92us; 101us; 101us; 101us; 101us; 101us; 92us; 92us; 92us; 92us; 92us; 101us; 101us; 101us; 93us; 92us; 101us; 101us; 101us; 101us; 101us; 101us; 100us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 101us; 99us; |];
+ (* State 91 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 119us; 65535us; 65535us; 120us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 121us; 65535us; 65535us; 65535us; 65535us; 121us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 122us; 122us; 122us; 122us; 122us; 122us; 122us; 122us; 122us; 122us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 125us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 121us; 65535us; 65535us; 65535us; 65535us; 121us; 121us; 65535us; 65535us; 65535us; 121us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 121us; 65535us; 65535us; 65535us; 121us; 65535us; 121us; 124us; 121us; 65535us; 123us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 122us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 92 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 118us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 65535us; 65535us; 65535us; 65535us; 118us; 65535us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 65535us; 65535us; 65535us; 65535us; 65535us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 65535us; 118us; 118us; 65535us; 65535us; 65535us; 65535us; 65535us; 118us; 65535us; 65535us; 118us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 93 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 105us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 104us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 94 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 108us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 107us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 106us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 105us; 65535us; 65535us; 108us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 107us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 106us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 104us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 95 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 103us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 103us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 96 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 97 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 98 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 102us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 99 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 100 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 101us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 101 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 102 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 103 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 103us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 103us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 104 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 105us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 104us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 105 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 104us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 105us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 104us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 106 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 115us; 115us; 115us; 115us; 115us; 115us; 115us; 115us; 115us; 115us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 115us; 115us; 115us; 115us; 115us; 115us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 115us; 115us; 115us; 115us; 115us; 115us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 107 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 112us; 112us; 112us; 112us; 112us; 112us; 112us; 112us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 108 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 109us; 109us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 109 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 110us; 110us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 111us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 110 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 110us; 110us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 111us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 111 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 110us; 110us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 111us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 112 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 113us; 113us; 113us; 113us; 113us; 113us; 113us; 113us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 114us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 113 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 113us; 113us; 113us; 113us; 113us; 113us; 113us; 113us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 114us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 114 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 113us; 113us; 113us; 113us; 113us; 113us; 113us; 113us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 114us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 115 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 116us; 116us; 116us; 116us; 116us; 116us; 116us; 116us; 116us; 116us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 116us; 116us; 116us; 116us; 116us; 116us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 117us; 65535us; 116us; 116us; 116us; 116us; 116us; 116us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 116 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 116us; 116us; 116us; 116us; 116us; 116us; 116us; 116us; 116us; 116us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 116us; 116us; 116us; 116us; 116us; 116us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 117us; 65535us; 116us; 116us; 116us; 116us; 116us; 116us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 117 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 116us; 116us; 116us; 116us; 116us; 116us; 116us; 116us; 116us; 116us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 116us; 116us; 116us; 116us; 116us; 116us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 117us; 65535us; 116us; 116us; 116us; 116us; 116us; 116us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 118 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 118us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 65535us; 65535us; 65535us; 65535us; 118us; 65535us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 65535us; 65535us; 65535us; 65535us; 65535us; 118us; 118us; 118us; 118us; 118us; 118us; 118us; 65535us; 118us; 118us; 65535us; 65535us; 65535us; 65535us; 65535us; 118us; 65535us; 65535us; 118us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 119 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 138us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 138us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 120 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 119us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 121 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 122 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 137us; 137us; 137us; 137us; 137us; 137us; 137us; 137us; 137us; 137us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 137us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 123 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 136us; 136us; 136us; 136us; 136us; 136us; 136us; 136us; 136us; 136us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 136us; 136us; 136us; 136us; 136us; 136us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 136us; 136us; 136us; 136us; 136us; 136us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 124 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 133us; 133us; 133us; 133us; 133us; 133us; 133us; 133us; 133us; 133us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 133us; 133us; 133us; 133us; 133us; 133us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 133us; 133us; 133us; 133us; 133us; 133us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 125 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 126us; 126us; 126us; 126us; 126us; 126us; 126us; 126us; 126us; 126us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 126us; 126us; 126us; 126us; 126us; 126us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 126us; 126us; 126us; 126us; 126us; 126us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 126 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 127us; 127us; 127us; 127us; 127us; 127us; 127us; 127us; 127us; 127us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 127us; 127us; 127us; 127us; 127us; 127us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 127us; 127us; 127us; 127us; 127us; 127us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 127 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 128us; 128us; 128us; 128us; 128us; 128us; 128us; 128us; 128us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 128us; 128us; 128us; 128us; 128us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 128us; 128us; 128us; 128us; 128us; 128us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 128 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 129us; 129us; 129us; 129us; 129us; 129us; 129us; 129us; 129us; 129us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 129us; 129us; 129us; 129us; 129us; 129us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 129us; 129us; 129us; 129us; 129us; 129us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 129 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 130us; 130us; 130us; 130us; 130us; 130us; 130us; 130us; 130us; 130us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 130us; 130us; 130us; 130us; 130us; 130us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 130us; 130us; 130us; 130us; 130us; 130us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 130 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 131us; 131us; 131us; 131us; 131us; 131us; 131us; 131us; 131us; 131us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 131us; 131us; 131us; 131us; 131us; 131us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 131us; 131us; 131us; 131us; 131us; 131us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 131 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 132us; 132us; 132us; 132us; 132us; 132us; 132us; 132us; 132us; 132us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 132us; 132us; 132us; 132us; 132us; 132us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 132us; 132us; 132us; 132us; 132us; 132us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 132 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 121us; 121us; 121us; 121us; 121us; 121us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 121us; 121us; 121us; 121us; 121us; 121us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 133 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 134us; 134us; 134us; 134us; 134us; 134us; 134us; 134us; 134us; 134us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 134us; 134us; 134us; 134us; 134us; 134us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 134us; 134us; 134us; 134us; 134us; 134us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 134 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 135us; 135us; 135us; 135us; 135us; 135us; 135us; 135us; 135us; 135us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 135us; 135us; 135us; 135us; 135us; 135us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 135us; 135us; 135us; 135us; 135us; 135us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 135 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 121us; 121us; 121us; 121us; 121us; 121us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 121us; 121us; 121us; 121us; 121us; 121us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 136 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 121us; 121us; 121us; 121us; 121us; 121us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 121us; 121us; 121us; 121us; 121us; 121us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 137 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 121us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 121us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 138 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 138us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 138us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 139 *)
+ [| 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 147us; 144us; 148us; 148us; 145us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 147us; 148us; 141us; 148us; 148us; 148us; 148us; 140us; 143us; 151us; 146us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 142us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 149us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 148us; 150us; |];
+ (* State 140 *)
+ [| 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 65535us; 65535us; 65535us; 162us; 162us; 65535us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 163us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 162us; 65535us; |];
+ (* State 141 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 160us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 142 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 159us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 143 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 157us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 144 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 145 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 156us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 146 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 155us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 147 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 154us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 154us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 148 *)
+ [| 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; 65535us; 152us; 152us; 65535us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; 152us; 65535us; 152us; 152us; 152us; 152us; 65535us; 65535us; 65535us; 65535us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; |];
+ (* State 149 *)
+ [| 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; 65535us; 152us; 152us; 65535us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; 152us; 65535us; 152us; 152us; 152us; 152us; 65535us; 65535us; 65535us; 65535us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 153us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; |];
+ (* State 150 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 151 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 152 *)
+ [| 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; 65535us; 152us; 152us; 65535us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; 152us; 65535us; 152us; 152us; 152us; 152us; 65535us; 65535us; 65535us; 65535us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; |];
+ (* State 153 *)
+ [| 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; 65535us; 152us; 152us; 65535us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; 152us; 65535us; 152us; 152us; 152us; 152us; 65535us; 65535us; 65535us; 65535us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 152us; 65535us; |];
+ (* State 154 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 154us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 154us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 155 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 156 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 157 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 158us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 158 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 159 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 160 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 161us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 161 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 162 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 164us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 163 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 162us; 65535us; 65535us; 65535us; 65535us; 162us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 162us; 65535us; 65535us; 65535us; 65535us; 162us; 162us; 65535us; 65535us; 65535us; 162us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 162us; 65535us; 65535us; 65535us; 162us; 65535us; 162us; 65535us; 162us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 164 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 165 *)
+ [| 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 170us; 166us; 169us; 169us; 167us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 172us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 171us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 169us; 168us; |];
+ (* State 166 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 167 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 177us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 168 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 169 *)
+ [| 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 65535us; 174us; 174us; 65535us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 65535us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 65535us; |];
+ (* State 170 *)
+ [| 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 176us; 65535us; 174us; 174us; 65535us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 173us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 65535us; |];
+ (* State 171 *)
+ [| 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 65535us; 174us; 174us; 65535us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 65535us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 175us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 65535us; |];
+ (* State 172 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 173us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 173us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 173 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 173us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 173us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 174 *)
+ [| 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 65535us; 174us; 174us; 65535us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 65535us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 65535us; |];
+ (* State 175 *)
+ [| 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 65535us; 174us; 174us; 65535us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 65535us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 65535us; |];
+ (* State 176 *)
+ [| 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 176us; 65535us; 174us; 174us; 65535us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 173us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 174us; 65535us; |];
+ (* State 177 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 178 *)
+ [| 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 185us; 180us; 188us; 188us; 181us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 185us; 188us; 179us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 184us; 183us; 183us; 183us; 183us; 183us; 183us; 183us; 183us; 183us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 188us; 188us; 188us; 188us; 182us; 188us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 188us; 188us; 188us; 188us; 188us; 182us; 182us; 182us; 182us; 182us; 188us; 188us; 188us; 183us; 182us; 188us; 188us; 188us; 188us; 188us; 188us; 187us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 188us; 186us; |];
+ (* State 179 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 206us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 180 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 181 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 205us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 182 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 204us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 65535us; 65535us; 65535us; 65535us; 204us; 65535us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 65535us; 65535us; 65535us; 65535us; 65535us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 65535us; 204us; 204us; 65535us; 65535us; 65535us; 65535us; 65535us; 204us; 65535us; 65535us; 204us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 183 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 191us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 190us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 184 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 194us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 193us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 192us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 191us; 65535us; 65535us; 194us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 193us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 192us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 190us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 185 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 189us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 189us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 186 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 187 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 188us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 188 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 189 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 189us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 189us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 190 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 191us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 190us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 191 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 190us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 191us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 190us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 192 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 201us; 201us; 201us; 201us; 201us; 201us; 201us; 201us; 201us; 201us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 201us; 201us; 201us; 201us; 201us; 201us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 201us; 201us; 201us; 201us; 201us; 201us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 193 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 198us; 198us; 198us; 198us; 198us; 198us; 198us; 198us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 194 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 195us; 195us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 195 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 196us; 196us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 197us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 196 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 196us; 196us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 197us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 197 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 196us; 196us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 197us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 198 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 199us; 199us; 199us; 199us; 199us; 199us; 199us; 199us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 200us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 199 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 199us; 199us; 199us; 199us; 199us; 199us; 199us; 199us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 200us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 200 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 199us; 199us; 199us; 199us; 199us; 199us; 199us; 199us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 200us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 201 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 202us; 202us; 202us; 202us; 202us; 202us; 202us; 202us; 202us; 202us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 202us; 202us; 202us; 202us; 202us; 202us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 203us; 65535us; 202us; 202us; 202us; 202us; 202us; 202us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 202 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 202us; 202us; 202us; 202us; 202us; 202us; 202us; 202us; 202us; 202us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 202us; 202us; 202us; 202us; 202us; 202us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 203us; 65535us; 202us; 202us; 202us; 202us; 202us; 202us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 203 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 202us; 202us; 202us; 202us; 202us; 202us; 202us; 202us; 202us; 202us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 202us; 202us; 202us; 202us; 202us; 202us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 203us; 65535us; 202us; 202us; 202us; 202us; 202us; 202us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 204 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 204us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 65535us; 65535us; 65535us; 65535us; 204us; 65535us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 65535us; 65535us; 65535us; 65535us; 65535us; 204us; 204us; 204us; 204us; 204us; 204us; 204us; 65535us; 204us; 204us; 65535us; 65535us; 65535us; 65535us; 65535us; 204us; 65535us; 65535us; 204us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 205 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 206 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 207us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 207 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 208 *)
+ [| 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 215us; 210us; 218us; 218us; 211us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 215us; 218us; 209us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 214us; 213us; 213us; 213us; 213us; 213us; 213us; 213us; 213us; 213us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 218us; 218us; 218us; 218us; 212us; 218us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 212us; 218us; 218us; 218us; 218us; 218us; 212us; 212us; 212us; 212us; 212us; 218us; 218us; 218us; 213us; 212us; 218us; 218us; 218us; 218us; 218us; 218us; 217us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 218us; 216us; |];
+ (* State 209 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 236us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 237us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 210 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 211 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 235us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 212 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 234us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 65535us; 65535us; 65535us; 65535us; 234us; 65535us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 65535us; 65535us; 65535us; 65535us; 65535us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 65535us; 234us; 234us; 65535us; 65535us; 65535us; 65535us; 65535us; 234us; 65535us; 65535us; 234us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 213 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 221us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 220us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 214 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 224us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 223us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 222us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 221us; 65535us; 65535us; 224us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 223us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 222us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 220us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 215 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 219us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 219us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 216 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 217 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 218us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 218 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 219 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 219us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 219us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 220 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 221us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 220us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 221 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 220us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 221us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 220us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 222 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 231us; 231us; 231us; 231us; 231us; 231us; 231us; 231us; 231us; 231us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 231us; 231us; 231us; 231us; 231us; 231us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 231us; 231us; 231us; 231us; 231us; 231us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 223 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 228us; 228us; 228us; 228us; 228us; 228us; 228us; 228us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 224 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 225us; 225us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 225 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 226us; 226us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 227us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 226 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 226us; 226us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 227us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 227 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 226us; 226us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 227us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 228 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 229us; 229us; 229us; 229us; 229us; 229us; 229us; 229us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 230us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 229 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 229us; 229us; 229us; 229us; 229us; 229us; 229us; 229us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 230us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 230 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 229us; 229us; 229us; 229us; 229us; 229us; 229us; 229us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 230us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 231 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 232us; 232us; 232us; 232us; 232us; 232us; 232us; 232us; 232us; 232us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 232us; 232us; 232us; 232us; 232us; 232us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 233us; 65535us; 232us; 232us; 232us; 232us; 232us; 232us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 232 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 232us; 232us; 232us; 232us; 232us; 232us; 232us; 232us; 232us; 232us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 232us; 232us; 232us; 232us; 232us; 232us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 233us; 65535us; 232us; 232us; 232us; 232us; 232us; 232us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 233 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 232us; 232us; 232us; 232us; 232us; 232us; 232us; 232us; 232us; 232us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 232us; 232us; 232us; 232us; 232us; 232us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 233us; 65535us; 232us; 232us; 232us; 232us; 232us; 232us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 234 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 234us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 65535us; 65535us; 65535us; 65535us; 234us; 65535us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 65535us; 65535us; 65535us; 65535us; 65535us; 234us; 234us; 234us; 234us; 234us; 234us; 234us; 65535us; 234us; 234us; 65535us; 65535us; 65535us; 65535us; 65535us; 234us; 65535us; 65535us; 234us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 235 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 236 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 237 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 238 *)
+ [| 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 246us; 241us; 249us; 249us; 242us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 246us; 249us; 240us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 245us; 244us; 244us; 244us; 244us; 244us; 244us; 244us; 244us; 244us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 249us; 239us; 249us; 249us; 243us; 249us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 243us; 249us; 249us; 249us; 249us; 249us; 243us; 243us; 243us; 243us; 243us; 249us; 249us; 249us; 244us; 243us; 249us; 249us; 249us; 249us; 249us; 249us; 248us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 249us; 247us; |];
+ (* State 239 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 268us; 65535us; 65535us; 269us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 270us; 65535us; 65535us; 65535us; 65535us; 270us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 271us; 271us; 271us; 271us; 271us; 271us; 271us; 271us; 271us; 271us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 274us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 270us; 65535us; 65535us; 65535us; 65535us; 270us; 270us; 65535us; 65535us; 65535us; 270us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 270us; 65535us; 65535us; 65535us; 270us; 65535us; 270us; 273us; 270us; 65535us; 272us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 271us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 240 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 267us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 241 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 242 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 266us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 243 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 265us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 65535us; 65535us; 65535us; 65535us; 265us; 65535us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 65535us; 65535us; 65535us; 65535us; 65535us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 65535us; 265us; 265us; 65535us; 65535us; 65535us; 65535us; 65535us; 265us; 65535us; 65535us; 265us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 244 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 252us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 251us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 245 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 254us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 253us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 252us; 65535us; 65535us; 255us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 254us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 253us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 251us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 246 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 250us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 250us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 247 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 248 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 249us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 249 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 250 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 250us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 250us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 251 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 252us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 251us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 252 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 251us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 252us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 251us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 253 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 262us; 262us; 262us; 262us; 262us; 262us; 262us; 262us; 262us; 262us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 262us; 262us; 262us; 262us; 262us; 262us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 262us; 262us; 262us; 262us; 262us; 262us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 254 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 259us; 259us; 259us; 259us; 259us; 259us; 259us; 259us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 255 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 256us; 256us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 256 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 257us; 257us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 258us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 257 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 257us; 257us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 258us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 258 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 257us; 257us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 258us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 259 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 260us; 260us; 260us; 260us; 260us; 260us; 260us; 260us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 261us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 260 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 260us; 260us; 260us; 260us; 260us; 260us; 260us; 260us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 261us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 261 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 260us; 260us; 260us; 260us; 260us; 260us; 260us; 260us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 261us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 262 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 263us; 263us; 263us; 263us; 263us; 263us; 263us; 263us; 263us; 263us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 263us; 263us; 263us; 263us; 263us; 263us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 264us; 65535us; 263us; 263us; 263us; 263us; 263us; 263us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 263 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 263us; 263us; 263us; 263us; 263us; 263us; 263us; 263us; 263us; 263us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 263us; 263us; 263us; 263us; 263us; 263us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 264us; 65535us; 263us; 263us; 263us; 263us; 263us; 263us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 264 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 263us; 263us; 263us; 263us; 263us; 263us; 263us; 263us; 263us; 263us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 263us; 263us; 263us; 263us; 263us; 263us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 264us; 65535us; 263us; 263us; 263us; 263us; 263us; 263us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 265 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 265us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 65535us; 65535us; 65535us; 65535us; 265us; 65535us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 65535us; 65535us; 65535us; 65535us; 65535us; 265us; 265us; 265us; 265us; 265us; 265us; 265us; 65535us; 265us; 265us; 65535us; 65535us; 65535us; 65535us; 65535us; 265us; 65535us; 65535us; 265us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 266 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 267 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 268 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 291us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 291us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 269 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 268us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 270 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 271 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 289us; 289us; 289us; 289us; 289us; 289us; 289us; 289us; 289us; 289us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 289us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 272 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 287us; 287us; 287us; 287us; 287us; 287us; 287us; 287us; 287us; 287us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 287us; 287us; 287us; 287us; 287us; 287us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 287us; 287us; 287us; 287us; 287us; 287us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 273 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 283us; 283us; 283us; 283us; 283us; 283us; 283us; 283us; 283us; 283us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 283us; 283us; 283us; 283us; 283us; 283us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 283us; 283us; 283us; 283us; 283us; 283us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 274 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 275us; 275us; 275us; 275us; 275us; 275us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 275us; 275us; 275us; 275us; 275us; 275us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 275 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 276us; 276us; 276us; 276us; 276us; 276us; 276us; 276us; 276us; 276us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 276us; 276us; 276us; 276us; 276us; 276us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 276us; 276us; 276us; 276us; 276us; 276us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 276 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 277us; 277us; 277us; 277us; 277us; 277us; 277us; 277us; 277us; 277us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 277us; 277us; 277us; 277us; 277us; 277us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 277us; 277us; 277us; 277us; 277us; 277us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 277 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 278us; 278us; 278us; 278us; 278us; 278us; 278us; 278us; 278us; 278us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 278us; 278us; 278us; 278us; 278us; 278us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 278us; 278us; 278us; 278us; 278us; 278us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 278 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 279us; 279us; 279us; 279us; 279us; 279us; 279us; 279us; 279us; 279us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 279us; 279us; 279us; 279us; 279us; 279us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 279us; 279us; 279us; 279us; 279us; 279us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 279 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 280us; 280us; 280us; 280us; 280us; 280us; 280us; 280us; 280us; 280us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 280us; 280us; 280us; 280us; 280us; 280us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 280us; 280us; 280us; 280us; 280us; 280us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 280 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 281us; 281us; 281us; 281us; 281us; 281us; 281us; 281us; 281us; 281us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 281us; 281us; 281us; 281us; 281us; 281us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 281us; 281us; 281us; 281us; 281us; 281us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 281 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 282us; 282us; 282us; 282us; 282us; 282us; 282us; 282us; 282us; 282us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 282us; 282us; 282us; 282us; 282us; 282us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 282us; 282us; 282us; 282us; 282us; 282us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 282 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 283 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 284us; 284us; 284us; 284us; 284us; 284us; 284us; 284us; 284us; 284us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 284us; 284us; 284us; 284us; 284us; 284us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 284us; 284us; 284us; 284us; 284us; 284us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 284 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 285us; 285us; 285us; 285us; 285us; 285us; 285us; 285us; 285us; 285us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 285us; 285us; 285us; 285us; 285us; 285us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 285us; 285us; 285us; 285us; 285us; 285us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 285 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 286us; 286us; 286us; 286us; 286us; 286us; 286us; 286us; 286us; 286us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 286us; 286us; 286us; 286us; 286us; 286us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 286us; 286us; 286us; 286us; 286us; 286us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 286 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 287 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 288us; 288us; 288us; 288us; 288us; 288us; 288us; 288us; 288us; 288us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 288us; 288us; 288us; 288us; 288us; 288us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 288us; 288us; 288us; 288us; 288us; 288us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 288 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 289 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 290us; 290us; 290us; 290us; 290us; 290us; 290us; 290us; 290us; 290us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 290us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 290 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 291 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 291us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 291us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 292 *)
+ [| 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 293us; 296us; 296us; 294us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 296us; 295us; |];
+ (* State 293 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 294 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 298us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 295 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 296 *)
+ [| 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 65535us; 297us; 297us; 65535us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 65535us; |];
+ (* State 297 *)
+ [| 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 65535us; 297us; 297us; 65535us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 297us; 65535us; |];
+ (* State 298 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 299 *)
+ [| 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 302us; 303us; 305us; 305us; 304us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 301us; 305us; 305us; 300us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 306us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 305us; 307us; |];
+ (* State 300 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 336us; 308us; 308us; 308us; 335us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 301 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 311us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 311us; 65535us; 65535us; 313us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 302 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 312us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 311us; 308us; 308us; 310us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 303 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 304 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 309us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 305 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 306 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 307 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 308 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 309 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 310 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 336us; 308us; 308us; 308us; 335us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 311 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 311us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 311us; 65535us; 65535us; 313us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 312 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 312us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 311us; 308us; 308us; 310us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 313 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 315us; 65535us; 65535us; 65535us; 314us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 314 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 331us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 315 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 316us; 65535us; 317us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 316 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 325us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 317 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 318us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 318 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 319us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 319 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 320us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 320 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 322us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 322us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 321us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 321 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 323us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 322 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 322us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 322us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 321us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 323 *)
+ [| 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 65535us; 324us; 324us; 65535us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 65535us; |];
+ (* State 324 *)
+ [| 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 65535us; 324us; 324us; 65535us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 324us; 65535us; |];
+ (* State 325 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 326us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 326 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 328us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 328us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 327us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 327 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 329us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 328 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 328us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 328us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 327us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 329 *)
+ [| 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 65535us; 330us; 330us; 65535us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 65535us; |];
+ (* State 330 *)
+ [| 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 65535us; 330us; 330us; 65535us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 330us; 65535us; |];
+ (* State 331 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 332us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 332us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 332 *)
+ [| 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 334us; 65535us; 333us; 333us; 65535us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 334us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 65535us; |];
+ (* State 333 *)
+ [| 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 65535us; 333us; 333us; 65535us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 65535us; |];
+ (* State 334 *)
+ [| 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 334us; 65535us; 333us; 333us; 65535us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 334us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 333us; 65535us; |];
+ (* State 335 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 352us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 336 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 337us; 308us; 338us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 337 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 346us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 338 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 339us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 339 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 340us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 340 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 341us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 341 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 343us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 322us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 342us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 342 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 344us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 343 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 343us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 322us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 342us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 344 *)
+ [| 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 65535us; 345us; 345us; 65535us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 324us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 65535us; |];
+ (* State 345 *)
+ [| 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 65535us; 345us; 345us; 65535us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 324us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 345us; 65535us; |];
+ (* State 346 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 347us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 347 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 349us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 328us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 348us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 348 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 350us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 349 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 349us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 328us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 348us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 350 *)
+ [| 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 65535us; 351us; 351us; 65535us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 330us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 65535us; |];
+ (* State 351 *)
+ [| 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 65535us; 351us; 351us; 65535us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 330us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 351us; 65535us; |];
+ (* State 352 *)
+ [| 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 353us; 65535us; 308us; 308us; 65535us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 332us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 308us; 65535us; |];
+ (* State 353 *)
+ [| 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 355us; 65535us; 354us; 354us; 65535us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 334us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 65535us; |];
+ (* State 354 *)
+ [| 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 65535us; 354us; 354us; 65535us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 333us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 65535us; |];
+ (* State 355 *)
+ [| 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 355us; 65535us; 354us; 354us; 65535us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 334us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 354us; 65535us; |];
+ (* State 356 *)
+ [| 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 372us; 374us; 401us; 401us; 375us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 371us; 399us; 368us; 377us; 369us; 395us; 379us; 366us; 367us; 381us; 382us; 397us; 383us; 384us; 386us; 373us; 365us; 364us; 364us; 364us; 364us; 364us; 364us; 364us; 364us; 364us; 387us; 389us; 378us; 390us; 388us; 385us; 370us; 357us; 357us; 357us; 357us; 358us; 359us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 391us; 401us; 393us; 398us; 357us; 376us; 357us; 357us; 357us; 360us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 357us; 361us; 357us; 357us; 357us; 357us; 362us; 357us; 357us; 357us; 357us; 357us; 357us; 363us; 357us; 392us; 380us; 394us; 396us; 401us; 357us; 357us; 357us; 357us; 357us; 401us; 401us; 401us; 364us; 357us; 401us; 401us; 401us; 401us; 401us; 401us; 400us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 401us; 402us; |];
+ (* State 357 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 358 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 738us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 359 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 735us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 360 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 733us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 361 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 728us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 362 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 722us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 363 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 717us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 364 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 643us; 65535us; 639us; 639us; 639us; 639us; 639us; 639us; 639us; 639us; 639us; 639us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 651us; 651us; 651us; 648us; 651us; 650us; 651us; 650us; 651us; 651us; 645us; 649us; 650us; 651us; 651us; 650us; 650us; 651us; 651us; 646us; 651us; 651us; 651us; 651us; 650us; 65535us; 65535us; 65535us; 65535us; 640us; 65535us; 651us; 651us; 651us; 651us; 648us; 651us; 651us; 651us; 651us; 651us; 651us; 644us; 649us; 647us; 651us; 651us; 651us; 651us; 642us; 651us; 641us; 651us; 651us; 651us; 638us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 65535us; 639us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 65535us; 65535us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 365 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 643us; 65535us; 639us; 639us; 639us; 639us; 639us; 639us; 639us; 639us; 639us; 639us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 692us; 651us; 651us; 648us; 651us; 650us; 651us; 650us; 651us; 651us; 645us; 649us; 650us; 691us; 651us; 650us; 650us; 651us; 651us; 646us; 651us; 651us; 690us; 651us; 650us; 65535us; 65535us; 65535us; 65535us; 640us; 65535us; 651us; 692us; 651us; 651us; 648us; 651us; 651us; 651us; 651us; 651us; 651us; 644us; 649us; 647us; 691us; 651us; 651us; 651us; 642us; 651us; 641us; 651us; 651us; 690us; 638us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 65535us; 639us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 65535us; 65535us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 366 *)
+ [| 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 65535us; 65535us; 65535us; 608us; 608us; 65535us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 609us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 608us; 65535us; |];
+ (* State 367 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 583us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 368 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 581us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 369 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 470us; 580us; 65535us; 466us; 467us; 471us; 65535us; 65535us; 65535us; 464us; 468us; 65535us; 468us; 465us; 467us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 472us; 472us; 472us; 465us; 469us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 469us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 473us; 65535us; 474us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 370 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 574us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 406us; 406us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 406us; 575us; 406us; 576us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 371 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 570us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 573us; 65535us; 65535us; 569us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 372 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 568us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 570us; 65535us; 65535us; 569us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 373 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 65535us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 409us; 409us; 65535us; 409us; 409us; 562us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 409us; 409us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 374 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 375 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 561us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 376 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 555us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 377 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 496us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 496us; 498us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 500us; 65535us; 65535us; 65535us; 499us; 65535us; 65535us; 497us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 495us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 378 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 413us; 413us; 65535us; 493us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 413us; 413us; 413us; 492us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 379 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 65535us; 463us; 463us; 491us; 65535us; 65535us; 65535us; 463us; 463us; 65535us; 463us; 463us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 463us; 463us; 463us; 463us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 380 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 462us; 65535us; 65535us; 462us; 462us; 462us; 65535us; 65535us; 65535us; 462us; 462us; 65535us; 462us; 462us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 462us; 65535us; 462us; 462us; 462us; 462us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 489us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 488us; 490us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 381 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 382 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 65535us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 483us; 409us; 65535us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 409us; 409us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 383 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 384 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 65535us; 407us; 407us; 407us; 65535us; 65535us; 65535us; 407us; 407us; 65535us; 407us; 407us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 407us; 407us; 487us; 407us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 385 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 431us; 65535us; 65535us; 425us; 427us; 432us; 65535us; 65535us; 65535us; 424us; 428us; 65535us; 428us; 426us; 427us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 430us; 430us; 430us; 486us; 429us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 429us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 433us; 65535us; 434us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 386 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 431us; 65535us; 65535us; 425us; 427us; 432us; 65535us; 436us; 65535us; 424us; 428us; 65535us; 428us; 423us; 427us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 430us; 430us; 430us; 426us; 429us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 435us; 65535us; 65535us; 429us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 433us; 65535us; 434us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 387 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 418us; 65535us; 65535us; 421us; 419us; 420us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 388 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 413us; 413us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 413us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 416us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 415us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 389 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 414us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 390 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 413us; 413us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 413us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 391 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 412us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 411us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 392 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 410us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 393 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 394 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 395 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 65535us; 409us; 408us; 409us; 65535us; 65535us; 65535us; 409us; 409us; 65535us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 409us; 409us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 396 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 65535us; 404us; 404us; 404us; 65535us; 65535us; 65535us; 404us; 404us; 65535us; 404us; 404us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 404us; 404us; 404us; 404us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 397 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 65535us; 407us; 407us; 407us; 65535us; 65535us; 65535us; 407us; 407us; 65535us; 407us; 407us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 407us; 407us; 407us; 407us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 398 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 406us; 406us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 406us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 399 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 65535us; 404us; 404us; 404us; 65535us; 65535us; 65535us; 404us; 404us; 65535us; 404us; 404us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 404us; 403us; 404us; 404us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 400 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 401us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 401 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 402 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 403 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 65535us; 405us; 405us; 405us; 65535us; 65535us; 65535us; 405us; 405us; 65535us; 405us; 405us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 405us; 405us; 405us; 405us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 404 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 65535us; 404us; 404us; 404us; 65535us; 65535us; 65535us; 404us; 404us; 65535us; 404us; 404us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 404us; 404us; 404us; 404us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 405 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 65535us; 405us; 405us; 405us; 65535us; 65535us; 65535us; 405us; 405us; 65535us; 405us; 405us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 405us; 405us; 405us; 405us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 406 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 406us; 406us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 406us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 407 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 65535us; 407us; 407us; 407us; 65535us; 65535us; 65535us; 407us; 407us; 65535us; 407us; 407us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 407us; 407us; 407us; 407us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 408 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 65535us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 409us; 409us; 65535us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 409us; 409us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 409 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 65535us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 409us; 409us; 65535us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 409us; 409us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 410 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 411 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 412 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 413 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 413us; 413us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 413us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 414 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 415 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 413us; 413us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 413us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 417us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 416 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 417 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 418 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 419 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 420 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 422us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 421 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 422 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 423 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 431us; 65535us; 65535us; 425us; 427us; 432us; 65535us; 65535us; 65535us; 424us; 428us; 65535us; 428us; 426us; 427us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 430us; 430us; 430us; 426us; 429us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 485us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 433us; 65535us; 434us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 424 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 65535us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 483us; 409us; 65535us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 409us; 409us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 425 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 470us; 65535us; 65535us; 466us; 467us; 471us; 65535us; 65535us; 65535us; 464us; 468us; 65535us; 468us; 465us; 467us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 472us; 472us; 472us; 465us; 469us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 469us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 473us; 65535us; 474us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 426 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 431us; 65535us; 65535us; 425us; 427us; 432us; 65535us; 65535us; 65535us; 424us; 428us; 65535us; 428us; 426us; 427us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 430us; 430us; 430us; 426us; 429us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 429us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 433us; 65535us; 434us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 427 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 65535us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 409us; 409us; 65535us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 409us; 409us; 409us; 409us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 409us; 65535us; 409us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 428 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 65535us; 407us; 407us; 407us; 65535us; 65535us; 65535us; 407us; 407us; 65535us; 407us; 407us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 407us; 407us; 407us; 407us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 429 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 406us; 406us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 406us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 430 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 413us; 413us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 413us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 431 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 65535us; 404us; 404us; 404us; 65535us; 65535us; 65535us; 404us; 404us; 65535us; 404us; 404us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 404us; 403us; 404us; 404us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 432 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 65535us; 463us; 463us; 463us; 65535us; 65535us; 65535us; 463us; 463us; 65535us; 463us; 463us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 463us; 463us; 463us; 463us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 433 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 462us; 65535us; 65535us; 462us; 462us; 462us; 65535us; 65535us; 65535us; 462us; 462us; 65535us; 462us; 462us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 462us; 65535us; 462us; 462us; 462us; 462us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 462us; 65535us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 434 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 65535us; 404us; 404us; 404us; 65535us; 65535us; 65535us; 404us; 404us; 65535us; 404us; 404us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 404us; 404us; 404us; 404us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 404us; 65535us; 404us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 435 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 441us; 65535us; 442us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 440us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 436 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 437us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 437 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 438us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 438 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 439us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 439 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 440 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 461us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 441 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 454us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 453us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 442 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 443us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 443 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 444us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 439us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 444 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 445us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 445 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 446us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 446 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 447us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 439us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 447 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 448us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 448 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 449us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 449 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 450us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 439us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 450 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 451us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 451 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 452us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 452 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 439us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 453 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 460us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 454 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 456us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 455us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 455 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 459us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 456 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 457us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 457 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 458us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 458 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 439us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 459 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 439us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 460 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 439us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 461 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 439us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 462 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 462us; 65535us; 65535us; 462us; 462us; 462us; 65535us; 65535us; 65535us; 462us; 462us; 65535us; 462us; 462us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 462us; 65535us; 462us; 462us; 462us; 462us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 462us; 65535us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 463 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 65535us; 463us; 463us; 463us; 65535us; 65535us; 65535us; 463us; 463us; 65535us; 463us; 463us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 463us; 463us; 463us; 463us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 464 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 480us; 65535us; 65535us; 480us; 480us; 480us; 65535us; 65535us; 65535us; 481us; 480us; 65535us; 480us; 480us; 480us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 480us; 65535us; 480us; 480us; 480us; 480us; 480us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 480us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 480us; 65535us; 480us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 465 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 470us; 65535us; 65535us; 466us; 467us; 471us; 65535us; 65535us; 65535us; 464us; 468us; 65535us; 468us; 465us; 467us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 472us; 472us; 472us; 465us; 469us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 469us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 473us; 65535us; 474us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 466 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 470us; 65535us; 65535us; 466us; 467us; 471us; 65535us; 65535us; 65535us; 464us; 468us; 65535us; 468us; 465us; 467us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 472us; 472us; 472us; 465us; 469us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 469us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 473us; 65535us; 474us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 467 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 480us; 65535us; 65535us; 480us; 480us; 480us; 65535us; 65535us; 65535us; 480us; 480us; 65535us; 480us; 480us; 480us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 480us; 65535us; 480us; 480us; 480us; 480us; 480us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 480us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 480us; 65535us; 480us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 468 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 479us; 65535us; 65535us; 479us; 479us; 479us; 65535us; 65535us; 65535us; 479us; 479us; 65535us; 479us; 479us; 479us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 479us; 65535us; 479us; 479us; 479us; 479us; 479us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 479us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 479us; 65535us; 479us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 469 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 478us; 65535us; 65535us; 478us; 478us; 478us; 65535us; 65535us; 65535us; 478us; 478us; 65535us; 478us; 478us; 478us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 478us; 65535us; 478us; 478us; 478us; 478us; 478us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 478us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 478us; 65535us; 478us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 470 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 65535us; 405us; 405us; 405us; 65535us; 65535us; 65535us; 405us; 405us; 65535us; 405us; 405us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 405us; 477us; 405us; 405us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 471 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 476us; 65535us; 65535us; 476us; 476us; 476us; 65535us; 65535us; 65535us; 476us; 476us; 65535us; 476us; 476us; 476us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 476us; 65535us; 476us; 476us; 476us; 476us; 476us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 476us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 476us; 65535us; 476us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 472 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 413us; 413us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 413us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 473 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 475us; 65535us; 65535us; 475us; 475us; 475us; 65535us; 65535us; 65535us; 475us; 475us; 65535us; 475us; 475us; 475us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 475us; 65535us; 475us; 475us; 475us; 475us; 475us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 475us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 475us; 65535us; 475us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 474 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 65535us; 405us; 405us; 405us; 65535us; 65535us; 65535us; 405us; 405us; 65535us; 405us; 405us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 405us; 405us; 405us; 405us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 475 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 475us; 65535us; 65535us; 475us; 475us; 475us; 65535us; 65535us; 65535us; 475us; 475us; 65535us; 475us; 475us; 475us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 475us; 65535us; 475us; 475us; 475us; 475us; 475us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 475us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 475us; 65535us; 475us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 476 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 476us; 65535us; 65535us; 476us; 476us; 476us; 65535us; 65535us; 65535us; 476us; 476us; 65535us; 476us; 476us; 476us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 476us; 65535us; 476us; 476us; 476us; 476us; 476us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 476us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 476us; 65535us; 476us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 477 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 65535us; 405us; 405us; 405us; 65535us; 65535us; 65535us; 405us; 405us; 65535us; 405us; 405us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 405us; 405us; 405us; 405us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 405us; 65535us; 405us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 478 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 478us; 65535us; 65535us; 478us; 478us; 478us; 65535us; 65535us; 65535us; 478us; 478us; 65535us; 478us; 478us; 478us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 478us; 65535us; 478us; 478us; 478us; 478us; 478us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 478us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 478us; 65535us; 478us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 479 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 479us; 65535us; 65535us; 479us; 479us; 479us; 65535us; 65535us; 65535us; 479us; 479us; 65535us; 479us; 479us; 479us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 479us; 65535us; 479us; 479us; 479us; 479us; 479us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 479us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 479us; 65535us; 479us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 480 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 480us; 65535us; 65535us; 480us; 480us; 480us; 65535us; 65535us; 65535us; 480us; 480us; 65535us; 480us; 480us; 480us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 480us; 65535us; 480us; 480us; 480us; 480us; 480us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 480us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 480us; 65535us; 480us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 481 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 482us; 65535us; 65535us; 482us; 482us; 482us; 65535us; 65535us; 65535us; 482us; 482us; 65535us; 482us; 482us; 482us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 482us; 65535us; 482us; 482us; 482us; 482us; 482us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 482us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 482us; 65535us; 482us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 482 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 482us; 65535us; 65535us; 482us; 482us; 482us; 65535us; 65535us; 65535us; 482us; 482us; 65535us; 482us; 482us; 482us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 482us; 65535us; 482us; 482us; 482us; 482us; 482us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 482us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 482us; 65535us; 482us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 483 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 484us; 65535us; 65535us; 484us; 484us; 484us; 65535us; 65535us; 65535us; 484us; 484us; 65535us; 484us; 484us; 484us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 484us; 65535us; 484us; 484us; 484us; 484us; 484us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 484us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 484us; 65535us; 484us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 484 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 484us; 65535us; 65535us; 484us; 484us; 484us; 65535us; 65535us; 65535us; 484us; 484us; 65535us; 484us; 484us; 484us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 484us; 65535us; 484us; 484us; 484us; 484us; 484us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 484us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 484us; 65535us; 484us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 485 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 406us; 406us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 406us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 486 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 431us; 65535us; 65535us; 425us; 427us; 432us; 65535us; 65535us; 65535us; 424us; 428us; 65535us; 428us; 426us; 427us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 430us; 430us; 430us; 426us; 429us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 429us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 433us; 65535us; 434us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 487 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 65535us; 407us; 407us; 407us; 65535us; 65535us; 65535us; 407us; 407us; 65535us; 407us; 407us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 407us; 407us; 407us; 407us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 407us; 65535us; 407us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 488 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 462us; 65535us; 65535us; 462us; 462us; 462us; 65535us; 65535us; 65535us; 462us; 462us; 65535us; 462us; 462us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 462us; 65535us; 462us; 462us; 462us; 462us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 462us; 65535us; 462us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 489 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 490 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 491 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 65535us; 463us; 463us; 463us; 65535us; 65535us; 65535us; 463us; 463us; 65535us; 463us; 463us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 463us; 463us; 463us; 463us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 463us; 65535us; 463us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 492 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 413us; 413us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 413us; 413us; 413us; 494us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 493 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 413us; 413us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 413us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 494 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 413us; 413us; 65535us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 413us; 413us; 413us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 413us; 65535us; 413us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 495 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 547us; 545us; 65535us; 65535us; 546us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 547us; 65535us; 548us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 550us; 550us; 550us; 550us; 550us; 550us; 550us; 550us; 550us; 550us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 549us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 550us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 496 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 496us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 496us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 495us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 497 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 498 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 534us; 65535us; 65535us; 534us; 534us; 534us; 65535us; 65535us; 65535us; 534us; 534us; 65535us; 534us; 534us; 534us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 534us; 65535us; 534us; 534us; 534us; 534us; 534us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 534us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 534us; 65535us; 534us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 499 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 517us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 516us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 500 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 501us; 65535us; 502us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 501 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 510us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 502 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 503us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 503 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 504us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 504 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 505us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 505 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 507us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 507us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 506us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 506 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 508us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 507 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 507us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 507us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 506us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 508 *)
+ [| 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 65535us; 509us; 509us; 65535us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 65535us; |];
+ (* State 509 *)
+ [| 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 65535us; 509us; 509us; 65535us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 509us; 65535us; |];
+ (* State 510 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 511us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 511 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 513us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 513us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 512us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 512 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 514us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 513 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 513us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 513us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 512us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 514 *)
+ [| 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 65535us; 515us; 515us; 65535us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 65535us; |];
+ (* State 515 *)
+ [| 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 65535us; 515us; 515us; 65535us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 515us; 65535us; |];
+ (* State 516 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 521us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 517 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 518us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 518us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 518 *)
+ [| 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 520us; 65535us; 519us; 519us; 65535us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 520us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 65535us; |];
+ (* State 519 *)
+ [| 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 65535us; 519us; 519us; 65535us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 65535us; |];
+ (* State 520 *)
+ [| 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 520us; 65535us; 519us; 519us; 65535us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 520us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 519us; 65535us; |];
+ (* State 521 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 522us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 522 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 523us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 523 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 524us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 524 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 525us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 525us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 525 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 527us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 527us; 65535us; 526us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 526 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 528us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 527 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 527us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 527us; 65535us; 526us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 528 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 530us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 529us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 529 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 533us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 530 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 531us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 531 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 532us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 532 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 533 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 534 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 534us; 65535us; 65535us; 534us; 534us; 534us; 65535us; 65535us; 65535us; 534us; 534us; 65535us; 534us; 534us; 534us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 534us; 65535us; 534us; 534us; 534us; 534us; 534us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 534us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 534us; 65535us; 534us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 535 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 537us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 536us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 536 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 542us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 537 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 538us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 538 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 539us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 539 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 540us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 540us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 540 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 541us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 541us; 65535us; 526us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 541 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 541us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 541us; 65535us; 526us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 542 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 543us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 543us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 543 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 544us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 544us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 495us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 544 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 544us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 544us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 495us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 495us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 545 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 546 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 545us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 547 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 547us; 545us; 65535us; 65535us; 546us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 547us; 65535us; 548us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 549us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 548 *)
+ [| 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 65535us; 551us; 551us; 65535us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 65535us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 551us; 65535us; |];
+ (* State 549 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 548us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 550 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 547us; 545us; 65535us; 65535us; 546us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 547us; 65535us; 548us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 550us; 550us; 550us; 550us; 550us; 550us; 550us; 550us; 550us; 550us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 549us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 550us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 551 *)
+ [| 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 65535us; 553us; 553us; 65535us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 552us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 65535us; |];
+ (* State 552 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 554us; 545us; 65535us; 65535us; 546us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 554us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 553 *)
+ [| 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 65535us; 553us; 553us; 65535us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 552us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 553us; 65535us; |];
+ (* State 554 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 554us; 545us; 65535us; 65535us; 546us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 554us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 555 *)
+ [| 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 65535us; 65535us; 556us; 556us; 65535us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 557us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 65535us; |];
+ (* State 556 *)
+ [| 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 65535us; 65535us; 559us; 559us; 65535us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 558us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 65535us; |];
+ (* State 557 *)
+ [| 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 65535us; 65535us; 556us; 556us; 65535us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 65535us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 556us; 65535us; |];
+ (* State 558 *)
+ [| 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 65535us; 65535us; 559us; 559us; 65535us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 560us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 65535us; |];
+ (* State 559 *)
+ [| 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 65535us; 65535us; 559us; 559us; 65535us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 558us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 559us; 65535us; |];
+ (* State 560 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 561 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 562 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 564us; 65535us; 65535us; 564us; 564us; 564us; 65535us; 65535us; 65535us; 564us; 564us; 65535us; 564us; 564us; 563us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 564us; 65535us; 564us; 564us; 564us; 564us; 564us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 564us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 564us; 65535us; 564us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 563 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 566us; 65535us; 65535us; 566us; 566us; 566us; 65535us; 65535us; 65535us; 566us; 566us; 65535us; 566us; 566us; 565us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 566us; 65535us; 566us; 566us; 566us; 566us; 566us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 566us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 566us; 65535us; 566us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 564 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 564us; 65535us; 65535us; 564us; 564us; 564us; 65535us; 65535us; 65535us; 564us; 564us; 65535us; 564us; 564us; 564us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 564us; 65535us; 564us; 564us; 564us; 564us; 564us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 564us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 564us; 65535us; 564us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 565 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 567us; 65535us; 65535us; 567us; 567us; 567us; 65535us; 65535us; 65535us; 567us; 567us; 65535us; 567us; 567us; 567us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 567us; 65535us; 567us; 567us; 567us; 567us; 567us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 567us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 567us; 65535us; 567us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 566 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 566us; 65535us; 65535us; 566us; 566us; 566us; 65535us; 65535us; 65535us; 566us; 566us; 65535us; 566us; 566us; 566us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 566us; 65535us; 566us; 566us; 566us; 566us; 566us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 566us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 566us; 65535us; 566us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 567 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 567us; 65535us; 65535us; 567us; 567us; 567us; 65535us; 65535us; 65535us; 567us; 567us; 65535us; 567us; 567us; 567us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 567us; 65535us; 567us; 567us; 567us; 567us; 567us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 567us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 567us; 65535us; 567us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 568 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 568us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 570us; 65535us; 65535us; 569us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 569 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 500us; 65535us; 65535us; 65535us; 571us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 570 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 570us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 570us; 65535us; 65535us; 569us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 571 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 572us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 572 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 518us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 518us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 573 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 570us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 573us; 65535us; 65535us; 569us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 574 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 575 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 406us; 406us; 65535us; 406us; 579us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 406us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 576 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 406us; 406us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 406us; 577us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 577 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 406us; 406us; 65535us; 406us; 578us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 406us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 578 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 406us; 406us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 406us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 579 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 406us; 406us; 65535us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 406us; 406us; 406us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 406us; 65535us; 406us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 580 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 581 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 582us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 582 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 583 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 586us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 585us; 65535us; 65535us; 584us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 584 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 588us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 585 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 587us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 586 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 587 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 588 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 589us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 589 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 591us; 65535us; 65535us; 590us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 592us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 590 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 603us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 591 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 599us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 592 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 593us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 593 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 594us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 594 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 595us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 595 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 596us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 596 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 597us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 597 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 598us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 598 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 599 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 600us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 600 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 601us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 601 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 602us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 602 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 598us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 603 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 604us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 604 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 605us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 605 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 606us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 606 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 607us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 607 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 608 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 636us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 609 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 608us; 65535us; 65535us; 65535us; 65535us; 608us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 610us; 610us; 610us; 610us; 610us; 610us; 610us; 610us; 610us; 610us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 613us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 608us; 65535us; 65535us; 65535us; 65535us; 608us; 608us; 65535us; 65535us; 65535us; 608us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 608us; 65535us; 65535us; 65535us; 608us; 65535us; 608us; 611us; 608us; 65535us; 612us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 610us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 610 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 632us; 632us; 632us; 632us; 632us; 632us; 632us; 632us; 632us; 632us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 632us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 611 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 626us; 626us; 626us; 626us; 626us; 626us; 626us; 626us; 626us; 626us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 626us; 626us; 626us; 626us; 626us; 626us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 626us; 626us; 626us; 626us; 626us; 626us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 612 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 623us; 623us; 623us; 623us; 623us; 623us; 623us; 623us; 623us; 623us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 623us; 623us; 623us; 623us; 623us; 623us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 623us; 623us; 623us; 623us; 623us; 623us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 613 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 614us; 614us; 614us; 614us; 614us; 614us; 614us; 614us; 614us; 614us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 614us; 614us; 614us; 614us; 614us; 614us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 614us; 614us; 614us; 614us; 614us; 614us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 614 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 615us; 615us; 615us; 615us; 615us; 615us; 615us; 615us; 615us; 615us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 615us; 615us; 615us; 615us; 615us; 615us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 615us; 615us; 615us; 615us; 615us; 615us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 615 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 616us; 616us; 616us; 616us; 616us; 616us; 616us; 616us; 616us; 616us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 616us; 616us; 616us; 616us; 616us; 616us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 616us; 616us; 616us; 616us; 616us; 616us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 616 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 617us; 617us; 617us; 617us; 617us; 617us; 617us; 617us; 617us; 617us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 617us; 617us; 617us; 617us; 617us; 617us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 617us; 617us; 617us; 617us; 617us; 617us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 617 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 618us; 618us; 618us; 618us; 618us; 618us; 618us; 618us; 618us; 618us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 618us; 618us; 618us; 618us; 618us; 618us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 618us; 618us; 618us; 618us; 618us; 618us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 618 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 619us; 619us; 619us; 619us; 619us; 619us; 619us; 619us; 619us; 619us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 619us; 619us; 619us; 619us; 619us; 619us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 619us; 619us; 619us; 619us; 619us; 619us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 619 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 620us; 620us; 620us; 620us; 620us; 620us; 620us; 620us; 620us; 620us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 620us; 620us; 620us; 620us; 620us; 620us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 620us; 620us; 620us; 620us; 620us; 620us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 620 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 621us; 621us; 621us; 621us; 621us; 621us; 621us; 621us; 621us; 621us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 621us; 621us; 621us; 621us; 621us; 621us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 621us; 621us; 621us; 621us; 621us; 621us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 621 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 622us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 622 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 623 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 624us; 624us; 624us; 624us; 624us; 624us; 624us; 624us; 624us; 624us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 624us; 624us; 624us; 624us; 624us; 624us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 624us; 624us; 624us; 624us; 624us; 624us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 624 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 625us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 625 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 626 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 627us; 627us; 627us; 627us; 627us; 627us; 627us; 627us; 627us; 627us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 627us; 627us; 627us; 627us; 627us; 627us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 627us; 627us; 627us; 627us; 627us; 627us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 627 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 628us; 628us; 628us; 628us; 628us; 628us; 628us; 628us; 628us; 628us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 628us; 628us; 628us; 628us; 628us; 628us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 628us; 628us; 628us; 628us; 628us; 628us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 628 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 629us; 629us; 629us; 629us; 629us; 629us; 629us; 629us; 629us; 629us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 629us; 629us; 629us; 629us; 629us; 629us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 629us; 629us; 629us; 629us; 629us; 629us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 629 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 630us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 630 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 631us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 631 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 632 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 633us; 633us; 633us; 633us; 633us; 633us; 633us; 633us; 633us; 633us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 633us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 633 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 634us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 634 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 635us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 635 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 636 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 637us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 637 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 638 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 639 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 643us; 65535us; 681us; 681us; 681us; 681us; 681us; 681us; 681us; 681us; 681us; 681us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 671us; 665us; 689us; 665us; 689us; 665us; 665us; 686us; 664us; 689us; 665us; 665us; 689us; 689us; 665us; 665us; 687us; 665us; 665us; 665us; 665us; 689us; 65535us; 65535us; 65535us; 65535us; 682us; 65535us; 665us; 665us; 665us; 665us; 671us; 665us; 665us; 665us; 665us; 665us; 665us; 685us; 664us; 688us; 665us; 665us; 665us; 665us; 684us; 665us; 683us; 665us; 665us; 665us; 680us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 681us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 640 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 678us; 678us; 678us; 678us; 678us; 678us; 678us; 678us; 678us; 678us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 679us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 678us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 641 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 666us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 676us; 652us; 677us; 652us; 652us; 652us; 652us; 675us; 652us; 652us; 652us; 652us; 652us; 674us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 642 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 643 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 667us; 65535us; 668us; 668us; 668us; 668us; 668us; 668us; 668us; 668us; 668us; 668us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 651us; 651us; 651us; 648us; 656us; 651us; 651us; 651us; 651us; 651us; 651us; 649us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 65535us; 65535us; 65535us; 65535us; 651us; 65535us; 651us; 651us; 651us; 651us; 648us; 656us; 651us; 651us; 651us; 651us; 651us; 651us; 649us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 65535us; 668us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 65535us; 65535us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 644 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 645 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 646 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 666us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 647 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 648 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 654us; 65535us; 654us; 65535us; 65535us; 653us; 653us; 653us; 653us; 653us; 653us; 653us; 653us; 653us; 653us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 653us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 649 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 650 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 651 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 652 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 653 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 661us; 665us; 665us; 665us; 665us; 665us; 665us; 664us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 663us; 65535us; 665us; 665us; 665us; 665us; 665us; 661us; 665us; 665us; 665us; 665us; 665us; 665us; 664us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 662us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 654 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 655us; 655us; 655us; 655us; 655us; 655us; 655us; 655us; 655us; 655us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 655us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 655 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 657us; 657us; 657us; 657us; 657us; 657us; 657us; 657us; 657us; 657us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 651us; 651us; 651us; 651us; 656us; 651us; 651us; 651us; 651us; 651us; 651us; 649us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 65535us; 65535us; 65535us; 65535us; 658us; 65535us; 651us; 651us; 651us; 651us; 651us; 656us; 651us; 651us; 651us; 651us; 651us; 651us; 649us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 651us; 651us; 651us; 651us; 651us; 651us; 65535us; 657us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 651us; 65535us; 65535us; 651us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 656 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 657 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 661us; 665us; 665us; 665us; 665us; 665us; 665us; 664us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 663us; 65535us; 665us; 665us; 665us; 665us; 665us; 661us; 665us; 665us; 665us; 665us; 665us; 665us; 664us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 662us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 658 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 659us; 659us; 659us; 659us; 659us; 659us; 659us; 659us; 659us; 659us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 660us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 659us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 659 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 661us; 665us; 665us; 665us; 665us; 665us; 665us; 664us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 663us; 65535us; 665us; 665us; 665us; 665us; 665us; 661us; 665us; 665us; 665us; 665us; 665us; 665us; 664us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 662us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 660 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 659us; 659us; 659us; 659us; 659us; 659us; 659us; 659us; 659us; 659us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 660us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 659us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 661 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 662 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 662us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 661us; 665us; 665us; 665us; 665us; 665us; 665us; 664us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 663us; 65535us; 665us; 665us; 665us; 665us; 665us; 661us; 665us; 665us; 665us; 665us; 665us; 665us; 664us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 662us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 663 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 659us; 659us; 659us; 659us; 659us; 659us; 659us; 659us; 659us; 659us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 660us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 659us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 664 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 665 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 666 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 667 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 668 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 669us; 669us; 669us; 669us; 669us; 669us; 669us; 669us; 669us; 669us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 671us; 661us; 665us; 665us; 665us; 665us; 665us; 665us; 664us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 670us; 65535us; 665us; 665us; 665us; 665us; 671us; 661us; 665us; 665us; 665us; 665us; 665us; 665us; 664us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 669us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 669 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 669us; 669us; 669us; 669us; 669us; 669us; 669us; 669us; 669us; 669us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 671us; 661us; 665us; 665us; 665us; 665us; 665us; 665us; 664us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 670us; 65535us; 665us; 665us; 665us; 665us; 671us; 661us; 665us; 665us; 665us; 665us; 665us; 665us; 664us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 669us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 670 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 672us; 672us; 672us; 672us; 672us; 672us; 672us; 672us; 672us; 672us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 673us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 672us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 671 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 654us; 65535us; 654us; 65535us; 65535us; 653us; 653us; 653us; 653us; 653us; 653us; 653us; 653us; 653us; 653us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 653us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 672 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 669us; 669us; 669us; 669us; 669us; 669us; 669us; 669us; 669us; 669us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 671us; 661us; 665us; 665us; 665us; 665us; 665us; 665us; 664us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 670us; 65535us; 665us; 665us; 665us; 665us; 671us; 661us; 665us; 665us; 665us; 665us; 665us; 665us; 664us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 669us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 673 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 672us; 672us; 672us; 672us; 672us; 672us; 672us; 672us; 672us; 672us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 673us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 672us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 674 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 675 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 676 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 677 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 678 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 643us; 65535us; 681us; 681us; 681us; 681us; 681us; 681us; 681us; 681us; 681us; 681us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 671us; 665us; 689us; 665us; 689us; 665us; 665us; 686us; 664us; 689us; 665us; 665us; 689us; 689us; 665us; 665us; 687us; 665us; 665us; 665us; 665us; 689us; 65535us; 65535us; 65535us; 65535us; 682us; 65535us; 665us; 665us; 665us; 665us; 671us; 665us; 665us; 665us; 665us; 665us; 665us; 685us; 664us; 688us; 665us; 665us; 665us; 665us; 684us; 665us; 683us; 665us; 665us; 665us; 680us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 681us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 679 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 678us; 678us; 678us; 678us; 678us; 678us; 678us; 678us; 678us; 678us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 679us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 678us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 680 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 681 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 643us; 65535us; 681us; 681us; 681us; 681us; 681us; 681us; 681us; 681us; 681us; 681us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 671us; 665us; 689us; 665us; 689us; 665us; 665us; 686us; 664us; 689us; 665us; 665us; 689us; 689us; 665us; 665us; 687us; 665us; 665us; 665us; 665us; 689us; 65535us; 65535us; 65535us; 65535us; 682us; 65535us; 665us; 665us; 665us; 665us; 671us; 665us; 665us; 665us; 665us; 665us; 665us; 685us; 664us; 688us; 665us; 665us; 665us; 665us; 684us; 665us; 683us; 665us; 665us; 665us; 680us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 681us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 682 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 678us; 678us; 678us; 678us; 678us; 678us; 678us; 678us; 678us; 678us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 679us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 678us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 683 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 666us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 676us; 652us; 677us; 652us; 652us; 652us; 652us; 675us; 652us; 652us; 652us; 652us; 652us; 674us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 684 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 685 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 686 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 687 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 666us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 688 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 689 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 690 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 709us; 709us; 709us; 709us; 709us; 709us; 709us; 709us; 709us; 709us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 709us; 709us; 709us; 709us; 709us; 709us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 709us; 709us; 709us; 709us; 709us; 709us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 691 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 704us; 704us; 704us; 704us; 704us; 704us; 704us; 704us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 692 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 693us; 693us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 693 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 695us; 695us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 699us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 687us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 696us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 698us; 665us; 688us; 665us; 665us; 665us; 665us; 697us; 665us; 683us; 665us; 665us; 665us; 694us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 694 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 695 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 695us; 695us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 699us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 687us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 696us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 698us; 665us; 688us; 665us; 665us; 665us; 665us; 697us; 665us; 683us; 665us; 665us; 665us; 694us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 696 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 702us; 702us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 703us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 697 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 698 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 701us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 699 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 700us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 700 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 701 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 702 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 695us; 695us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 699us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 687us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 696us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 698us; 665us; 688us; 665us; 665us; 665us; 665us; 697us; 665us; 683us; 665us; 665us; 665us; 694us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 703 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 702us; 702us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 703us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 704 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 705us; 705us; 705us; 705us; 705us; 705us; 705us; 705us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 699us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 687us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 706us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 698us; 665us; 688us; 665us; 665us; 665us; 665us; 697us; 665us; 683us; 665us; 665us; 665us; 694us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 705 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 705us; 705us; 705us; 705us; 705us; 705us; 705us; 705us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 699us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 687us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 706us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 698us; 665us; 688us; 665us; 665us; 665us; 665us; 697us; 665us; 683us; 665us; 665us; 665us; 694us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 706 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 707us; 707us; 707us; 707us; 707us; 707us; 707us; 707us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 708us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 707 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 705us; 705us; 705us; 705us; 705us; 705us; 705us; 705us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 699us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 687us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 706us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 698us; 665us; 688us; 665us; 665us; 665us; 665us; 697us; 665us; 683us; 665us; 665us; 665us; 694us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 708 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 707us; 707us; 707us; 707us; 707us; 707us; 707us; 707us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 708us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 709 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 710us; 710us; 710us; 710us; 710us; 710us; 710us; 710us; 710us; 710us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 710us; 710us; 710us; 710us; 710us; 710us; 665us; 665us; 665us; 665us; 665us; 699us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 687us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 711us; 65535us; 710us; 710us; 710us; 710us; 710us; 710us; 665us; 665us; 665us; 665us; 665us; 698us; 665us; 688us; 665us; 665us; 665us; 665us; 697us; 665us; 683us; 665us; 665us; 665us; 694us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 710 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 710us; 710us; 710us; 710us; 710us; 710us; 710us; 710us; 710us; 710us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 710us; 710us; 710us; 710us; 710us; 710us; 665us; 665us; 665us; 665us; 665us; 699us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 687us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 711us; 65535us; 710us; 710us; 710us; 710us; 710us; 710us; 665us; 665us; 665us; 665us; 665us; 698us; 665us; 688us; 665us; 665us; 665us; 665us; 697us; 665us; 683us; 665us; 665us; 665us; 694us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 711 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 712us; 712us; 712us; 712us; 712us; 712us; 712us; 712us; 712us; 712us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 712us; 712us; 712us; 712us; 712us; 712us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 713us; 65535us; 712us; 712us; 712us; 712us; 712us; 712us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 712 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 710us; 710us; 710us; 710us; 710us; 710us; 710us; 710us; 710us; 710us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 710us; 710us; 710us; 710us; 710us; 710us; 665us; 665us; 665us; 665us; 665us; 699us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 687us; 665us; 665us; 665us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 711us; 65535us; 710us; 710us; 710us; 710us; 710us; 710us; 665us; 665us; 665us; 665us; 665us; 698us; 665us; 688us; 665us; 665us; 665us; 665us; 697us; 665us; 683us; 665us; 665us; 665us; 694us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 665us; 665us; 665us; 665us; 665us; 665us; 65535us; 665us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 665us; 65535us; 65535us; 665us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 713 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 712us; 712us; 712us; 712us; 712us; 712us; 712us; 712us; 712us; 712us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 712us; 712us; 712us; 712us; 712us; 712us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 713us; 65535us; 712us; 712us; 712us; 712us; 712us; 712us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 652us; 652us; 652us; 652us; 652us; 652us; 65535us; 652us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 652us; 65535us; 65535us; 652us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 714 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 715 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 716 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 717 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 718us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 718 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 719us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 719 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 720us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 720 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 721us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 721 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 722 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 723us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 723 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 724us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 724 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 725us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 725 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 726us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 726 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 727us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 727 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 728 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 729us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 729 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 730us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 730 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 731us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 731 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 732us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 732 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 733 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 734us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 734 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 735 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 736us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 736 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 737us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 737 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 738 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 739us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 739 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 740us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 740 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 741us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 741 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 715us; 65535us; 716us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 742us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 714us; 714us; 714us; 714us; 714us; 714us; 65535us; 714us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 714us; 65535us; 65535us; 714us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 742 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 743us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 743 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 744us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 744 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 745us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 745 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 746us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 746 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 747us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 747 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 748us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 748 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 749us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 749 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 750us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 750 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ |]
+let actions : uint16[] = [|65535us; 0us; 1us; 6us; 6us; 4us; 4us; 5us; 4us; 4us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 3us; 65535us; 65535us; 65535us; 65535us; 2us; 1us; 65535us; 4us; 1us; 1us; 1us; 1us; 2us; 4us; 3us; 4us; 4us; 2us; 1us; 1us; 65535us; 65535us; 65535us; 65535us; 1us; 1us; 65535us; 1us; 1us; 65535us; 1us; 1us; 65535us; 1us; 65535us; 0us; 65535us; 1us; 2us; 2us; 2us; 2us; 3us; 5us; 4us; 5us; 5us; 3us; 2us; 2us; 65535us; 65535us; 65535us; 65535us; 2us; 2us; 65535us; 2us; 2us; 65535us; 2us; 2us; 65535us; 2us; 0us; 65535us; 5us; 1us; 1us; 1us; 1us; 2us; 3us; 5us; 4us; 5us; 5us; 3us; 1us; 1us; 65535us; 65535us; 65535us; 65535us; 1us; 1us; 65535us; 1us; 1us; 65535us; 1us; 1us; 65535us; 1us; 0us; 65535us; 1us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 0us; 65535us; 10us; 1us; 10us; 10us; 6us; 10us; 10us; 8us; 8us; 8us; 9us; 10us; 8us; 8us; 8us; 7us; 6us; 5us; 4us; 3us; 65535us; 2us; 65535us; 65535us; 0us; 65535us; 0us; 3us; 1us; 2us; 2us; 2us; 2us; 2us; 2us; 2us; 2us; 0us; 65535us; 6us; 1us; 6us; 2us; 3us; 3us; 4us; 5us; 6us; 6us; 4us; 3us; 65535us; 65535us; 65535us; 65535us; 3us; 3us; 65535us; 3us; 3us; 65535us; 3us; 3us; 65535us; 2us; 1us; 65535us; 0us; 65535us; 1us; 3us; 8us; 4us; 5us; 5us; 6us; 7us; 8us; 8us; 6us; 5us; 65535us; 65535us; 65535us; 65535us; 5us; 5us; 65535us; 5us; 5us; 65535us; 5us; 5us; 65535us; 4us; 3us; 0us; 2us; 65535us; 13us; 6us; 8us; 13us; 9us; 10us; 10us; 11us; 12us; 13us; 13us; 11us; 10us; 65535us; 65535us; 65535us; 65535us; 10us; 10us; 65535us; 10us; 10us; 65535us; 10us; 10us; 65535us; 9us; 8us; 7us; 0us; 65535us; 1us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 5us; 65535us; 65535us; 65535us; 4us; 65535us; 3us; 65535us; 2us; 0us; 65535us; 0us; 2us; 1us; 2us; 2us; 0us; 65535us; 4us; 4us; 4us; 3us; 4us; 4us; 4us; 5us; 4us; 3us; 4us; 4us; 4us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 2us; 65535us; 2us; 2us; 2us; 65535us; 1us; 65535us; 1us; 1us; 1us; 65535us; 0us; 0us; 0us; 4us; 4us; 4us; 4us; 4us; 4us; 2us; 4us; 2us; 2us; 2us; 4us; 1us; 4us; 1us; 1us; 1us; 4us; 0us; 0us; 0us; 65535us; 0us; 0us; 0us; 0us; 0us; 0us; 0us; 14us; 14us; 64us; 65us; 44us; 101us; 110us; 48us; 49us; 108us; 53us; 123us; 106us; 60us; 91us; 61us; 99us; 66us; 67us; 68us; 104us; 70us; 74us; 75us; 92us; 85us; 87us; 88us; 98us; 94us; 100us; 102us; 105us; 109us; 110us; 114us; 123us; 123us; 124us; 111us; 114us; 111us; 110us; 109us; 103us; 108us; 90us; 89us; 93us; 111us; 84us; 111us; 97us; 80us; 76us; 77us; 82us; 83us; 81us; 72us; 108us; 111us; 65535us; 108us; 109us; 110us; 111us; 114us; 112us; 113us; 114us; 65535us; 65535us; 115us; 65535us; 115us; 115us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 115us; 65535us; 115us; 65535us; 115us; 65535us; 65535us; 65535us; 65535us; 113us; 112us; 108us; 111us; 111us; 108us; 109us; 110us; 111us; 111us; 111us; 111us; 111us; 111us; 111us; 111us; 110us; 109us; 108us; 107us; 107us; 107us; 107us; 73us; 71us; 69us; 63us; 95us; 96us; 62us; 56us; 86us; 57us; 65535us; 65535us; 65535us; 116us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 121us; 65535us; 121us; 121us; 121us; 65535us; 120us; 65535us; 120us; 120us; 120us; 65535us; 122us; 119us; 119us; 119us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 118us; 117us; 116us; 65535us; 65535us; 65535us; 65535us; 117us; 117us; 117us; 65535us; 65535us; 65535us; 55us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 54us; 53us; 52us; 51us; 52us; 50us; 51us; 50us; 49us; 65535us; 65535us; 65535us; 65535us; 48us; 47us; 58us; 110us; 59us; 79us; 78us; 46us; 65535us; 45us; 42us; 65535us; 65535us; 41us; 38us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 43us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 37us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 36us; 65535us; 65535us; 34us; 65535us; 65535us; 65535us; 65535us; 35us; 33us; 65535us; 65535us; 31us; 32us; 29us; 30us; 7us; 14us; 28us; 16us; 10us; 23us; 15us; 18us; 28us; 20us; 28us; 24us; 27us; 28us; 28us; 23us; 65535us; 23us; 22us; 23us; 28us; 23us; 28us; 22us; 23us; 28us; 24us; 28us; 19us; 13us; 23us; 23us; 28us; 28us; 23us; 28us; 9us; 12us; 17us; 21us; 14us; 28us; 7us; 14us; 28us; 16us; 10us; 15us; 18us; 28us; 20us; 27us; 28us; 28us; 28us; 14us; 8us; 14us; 28us; 11us; 15us; 18us; 26us; 25us; 14us; 28us; 14us; 14us; 28us; 14us; 28us; 14us; 14us; 28us; 14us; 28us; 0us; 5us; 6us; 0us; 0us; 0us; 0us; 2us; 0us; 0us; 0us; 0us; 0us; 3us; 0us; 0us; 0us; 0us; 4us; 0us; 1us; 6us; 65535us; 40us; 0us; 0us; 0us; 0us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 39us; |]
+let _fslex_tables = Internal.Utilities.Text.Lexing.UnicodeTables.Create(trans,actions)
+let rec _fslex_dummy () = _fslex_dummy()
+// Rule token
+and token args skip lexbuf =
+ match _fslex_tables.Interpret(356,lexbuf) with
+ | 0 -> (
+# 227 "../lex.fsl"
+ Keywords.KeywordOrIdentifierToken args lexbuf (lexeme lexbuf)
+# 1672 "lex.fs"
+ )
+ | 1 -> (
+# 229 "../lex.fsl"
+ DO_BANG
+# 1677 "lex.fs"
+ )
+ | 2 -> (
+# 231 "../lex.fsl"
+ YIELD_BANG(true)
+# 1682 "lex.fs"
+ )
+ | 3 -> (
+# 233 "../lex.fsl"
+ YIELD_BANG(false)
+# 1687 "lex.fs"
+ )
+ | 4 -> (
+# 235 "../lex.fsl"
+ MATCH_BANG
+# 1692 "lex.fs"
+ )
+ | 5 -> (
+# 237 "../lex.fsl"
+ let tok = Keywords.KeywordOrIdentifierToken args lexbuf (lexemeTrimRight lexbuf 1)
+ match tok with
+ | LET _ -> BINDER (lexemeTrimRight lexbuf 1)
+ | _ -> fail args lexbuf (FSComp.SR.lexIdentEndInMarkReserved("!")) (Keywords.KeywordOrIdentifierToken args lexbuf (lexeme lexbuf))
+# 1700 "lex.fs"
+ )
+ | 6 -> (
+# 242 "../lex.fsl"
+ fail args lexbuf (FSComp.SR.lexIdentEndInMarkReserved("#")) (Keywords.KeywordOrIdentifierToken args lexbuf (lexeme lexbuf))
+# 1705 "lex.fs"
+ )
+ | 7 -> (
+# 244 "../lex.fsl"
+ let n = lexemeTrimRightToInt32 args lexbuf 1
+ if n > 0x80 || n < -0x80 then fail args lexbuf (FSComp.SR.lexOutsideEightBitSigned()) (INT8(0y,false))
+ // Allow to parse as min_int. Allowed only because we parse '-' as an operator.
+ else if n = 0x80 then INT8(sbyte(-0x80), true (* 'true' = 'bad'*) )
+ else INT8(sbyte n,false)
+# 1714 "lex.fs"
+ )
+ | 8 -> (
+# 250 "../lex.fsl"
+ let n = lexemeTrimRightToInt32 args lexbuf 1
+ if n > 0xFF || n < 0 then fail args lexbuf (FSComp.SR.lexOutsideEightBitSignedHex()) (INT8(0y,false))
+ else INT8(sbyte(byte(n)),false)
+# 1721 "lex.fs"
+ )
+ | 9 -> (
+# 254 "../lex.fsl"
+ let n = lexemeTrimRightToInt32 args lexbuf 2
+ if n > 0xFF || n < 0 then fail args lexbuf (FSComp.SR.lexOutsideEightBitUnsigned()) (UINT8(0uy))
+ else UINT8(byte n)
+# 1728 "lex.fs"
+ )
+ | 10 -> (
+# 258 "../lex.fsl"
+ let n = lexemeTrimRightToInt32 args lexbuf 1
+ if n > 0x8000 || n < -0x8000 then fail args lexbuf (FSComp.SR.lexOutsideSixteenBitSigned()) (INT16(0s,false))
+ // Allow to parse as min_int. Allowed only because we parse '-' as an operator.
+ else if n = 0x8000 then INT16(-0x8000s,true)
+ else INT16(int16 n,false)
+# 1737 "lex.fs"
+ )
+ | 11 -> (
+# 264 "../lex.fsl"
+ let n = lexemeTrimRightToInt32 args lexbuf 1
+ if n > 0xFFFF || n < 0 then fail args lexbuf (FSComp.SR.lexOutsideSixteenBitSigned()) (INT16(0s,false))
+ else INT16(int16(uint16(n)),false)
+# 1744 "lex.fs"
+ )
+ | 12 -> (
+# 268 "../lex.fsl"
+ let n = lexemeTrimRightToInt32 args lexbuf 2
+ if n > 0xFFFF || n < 0 then fail args lexbuf (FSComp.SR.lexOutsideSixteenBitUnsigned()) (UINT16(0us))
+ else UINT16(uint16 n)
+# 1751 "lex.fs"
+ )
+ | 13 -> (
+# 272 "../lex.fsl"
+ let s = removeUnderscores (lexemeTrimRight lexbuf 2)
+ // Allow to parse as min_int. Allowed only because we parse '-' as an operator.
+ if s = "2147483648" then INT32_DOT_DOT(-2147483648,true) else
+ let n = try int32 s with _ -> fail args lexbuf (FSComp.SR.lexOutsideThirtyTwoBitSigned()) 0
+ INT32_DOT_DOT(n,false)
+
+# 1761 "lex.fs"
+ )
+ | 14 -> (
+# 280 "../lex.fsl"
+ let s = removeUnderscores (lexeme lexbuf)
+ // Allow to parse as min_int. Allowed only because we parse '-' as an operator.
+ if s = "2147483648" then INT32(-2147483648,true) else
+ let n =
+ try int32 s with _ -> fail args lexbuf (FSComp.SR.lexOutsideThirtyTwoBitSigned()) 0
+ INT32(n,false)
+
+# 1772 "lex.fs"
+ )
+ | 15 -> (
+# 289 "../lex.fsl"
+ let s = removeUnderscores (lexemeTrimRight lexbuf 1)
+ // Allow to parse as min_int. Allowed only because we parse '-' as an operator.
+ if s = "2147483648" then INT32(-2147483648,true) else
+ let n =
+ try int32 s with _ -> fail args lexbuf (FSComp.SR.lexOutsideThirtyTwoBitSigned()) 0
+ INT32(n,false)
+
+# 1783 "lex.fs"
+ )
+ | 16 -> (
+# 298 "../lex.fsl"
+
+ let s = removeUnderscores (lexemeTrimRight lexbuf 1)
+ let n =
+ try int64 s with _ -> fail args lexbuf (FSComp.SR.lexOutsideThirtyTwoBitUnsigned()) 0L
+ if n > 0xFFFFFFFFL || n < 0L then fail args lexbuf (FSComp.SR.lexOutsideThirtyTwoBitUnsigned()) (UINT32(0u)) else
+ UINT32(uint32 (uint64 n))
+# 1793 "lex.fs"
+ )
+ | 17 -> (
+# 306 "../lex.fsl"
+
+ let s = removeUnderscores (lexemeTrimRight lexbuf 2)
+ let n =
+ try int64 s with _ -> fail args lexbuf (FSComp.SR.lexOutsideThirtyTwoBitUnsigned()) 0L
+ if n > 0xFFFFFFFFL || n < 0L then fail args lexbuf (FSComp.SR.lexOutsideThirtyTwoBitUnsigned()) (UINT32(0u)) else
+ UINT32(uint32 (uint64 n))
+# 1803 "lex.fs"
+ )
+ | 18 -> (
+# 314 "../lex.fsl"
+ let s = removeUnderscores (lexemeTrimRight lexbuf 1)
+ // Allow to parse as min_int. Stupid but allowed because we parse '-' as an operator.
+ if s = "9223372036854775808" then INT64(-9223372036854775808L,true) else
+ let n =
+ try int64 s with _ -> fail args lexbuf (FSComp.SR.lexOutsideSixtyFourBitSigned()) 0L
+ INT64(n,false)
+
+# 1814 "lex.fs"
+ )
+ | 19 -> (
+# 323 "../lex.fsl"
+ let s = removeUnderscores (lexemeTrimRight lexbuf 2)
+ let n =
+ try uint64 s with _ -> fail args lexbuf (FSComp.SR.lexOutsideSixtyFourBitUnsigned()) 0UL
+ UINT64(n)
+# 1822 "lex.fs"
+ )
+ | 20 -> (
+# 329 "../lex.fsl"
+ try
+ NATIVEINT(int64 (removeUnderscores (lexemeTrimRight lexbuf 1)))
+ with _ -> fail args lexbuf (FSComp.SR.lexOutsideNativeSigned()) (NATIVEINT(0L))
+# 1829 "lex.fs"
+ )
+ | 21 -> (
+# 334 "../lex.fsl"
+ try
+ UNATIVEINT(uint64 (removeUnderscores (lexemeTrimRight lexbuf 2)))
+ with _ -> fail args lexbuf (FSComp.SR.lexOutsideNativeUnsigned()) (UNATIVEINT(0UL))
+# 1836 "lex.fs"
+ )
+ | 22 -> (
+# 339 "../lex.fsl"
+ IEEE32 (try float32(removeUnderscores (lexemeTrimRight lexbuf 1)) with _ -> fail args lexbuf (FSComp.SR.lexInvalidFloat()) 0.0f)
+# 1841 "lex.fs"
+ )
+ | 23 -> (
+# 341 "../lex.fsl"
+ IEEE64 (try float(lexeme lexbuf) with _ -> fail args lexbuf (FSComp.SR.lexInvalidFloat()) 0.0)
+# 1846 "lex.fs"
+ )
+ | 24 -> (
+# 344 "../lex.fsl"
+ try
+ let s = removeUnderscores (lexemeTrimRight lexbuf 1)
+ // This implements a range check for decimal literals
+ let d = System.Decimal.Parse(s,System.Globalization.NumberStyles.AllowExponent ||| System.Globalization.NumberStyles.Number,System.Globalization.CultureInfo.InvariantCulture)
+ DECIMAL d
+ with
+ e -> fail args lexbuf (FSComp.SR.lexOusideDecimal()) (DECIMAL (decimal 0))
+
+# 1858 "lex.fs"
+ )
+ | 25 -> (
+# 353 "../lex.fsl"
+
+ let s = removeUnderscores (lexemeTrimRight lexbuf 2)
+ // Even though the intermediate step is an int64, display the "invalid float" message, since it will be less confusing to the user
+ let n64 = (try (int64 s) with _ -> fail args lexbuf (FSComp.SR.lexInvalidFloat()) 0L)
+ if n64 > 0xFFFFFFFFL || n64 < 0L then fail args lexbuf (FSComp.SR.lexOusideThirtyTwoBitFloat()) (IEEE32 0.0f) else
+ IEEE32 (System.BitConverter.ToSingle(System.BitConverter.GetBytes(int32 (uint32 (uint64 n64))),0))
+# 1868 "lex.fs"
+ )
+ | 26 -> (
+# 361 "../lex.fsl"
+
+ let n64 = (try int64 (removeUnderscores (lexemeTrimRight lexbuf 2)) with _ -> fail args lexbuf (FSComp.SR.lexInvalidFloat()) 0L)
+ IEEE64 (System.BitConverter.Int64BitsToDouble(n64))
+# 1875 "lex.fs"
+ )
+ | 27 -> (
+# 366 "../lex.fsl"
+ let s = lexeme lexbuf
+ BIGNUM (removeUnderscores (lexemeTrimRight lexbuf 1), s.[s.Length-1..s.Length-1])
+# 1881 "lex.fs"
+ )
+ | 28 -> (
+# 370 "../lex.fsl"
+ fail args lexbuf (FSComp.SR.lexInvalidNumericLiteral()) (INT32(0,false))
+# 1886 "lex.fs"
+ )
+ | 29 -> (
+# 373 "../lex.fsl"
+ let s = lexeme lexbuf
+ CHAR (if s.[1] = '\\' then escape s.[2] else s.[1])
+# 1892 "lex.fs"
+ )
+ | 30 -> (
+# 377 "../lex.fsl"
+ let s = lexeme lexbuf
+ let x = int32 (if s.[1] = '\\' then escape s.[2] else s.[1])
+ if x < 0 || x > 127 then
+ fail args lexbuf (FSComp.SR.lexInvalidByteLiteral()) (UINT8(byte 0))
+ else
+ UINT8 (byte(x))
+# 1902 "lex.fs"
+ )
+ | 31 -> (
+# 385 "../lex.fsl"
+ let s = lexeme lexbuf
+ let c = trigraph s.[2] s.[3] s.[4]
+ let x = int32 c
+ if x < 0 || x > 255 then
+ fail args lexbuf (FSComp.SR.lexInvalidCharLiteral()) (CHAR c)
+ else
+ CHAR c
+# 1913 "lex.fs"
+ )
+ | 32 -> (
+# 394 "../lex.fsl"
+ let s = lexeme lexbuf
+ let x = int32 (trigraph s.[2] s.[3] s.[4])
+ if x < 0 || x > 255 then
+ fail args lexbuf (FSComp.SR.lexInvalidByteLiteral()) (UINT8(byte 0))
+ else
+ UINT8 (byte(x))
+# 1923 "lex.fs"
+ )
+ | 33 -> (
+# 402 "../lex.fsl"
+ let x = int32 (unicodeGraphShort (lexemeTrimBoth lexbuf 3 2))
+ if x < 0 || x > 127 then
+ fail args lexbuf (FSComp.SR.lexInvalidByteLiteral()) (UINT8(byte 0))
+ else
+ UINT8 (byte(x))
+# 1932 "lex.fs"
+ )
+ | 34 -> (
+# 408 "../lex.fsl"
+ CHAR (char (int32 (hexGraphShort (lexemeTrimBoth lexbuf 3 1))))
+# 1937 "lex.fs"
+ )
+ | 35 -> (
+# 409 "../lex.fsl"
+ CHAR (char (int32 (unicodeGraphShort (lexemeTrimBoth lexbuf 3 1))))
+# 1942 "lex.fs"
+ )
+ | 36 -> (
+# 411 "../lex.fsl"
+ match unicodeGraphLong (lexemeTrimBoth lexbuf 3 1) with
+ | SingleChar(c) -> CHAR (char c)
+ | _ -> fail args lexbuf (FSComp.SR.lexThisUnicodeOnlyInStringLiterals()) (CHAR (char 0))
+# 1949 "lex.fs"
+ )
+ | 37 -> (
+# 415 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.Token !args.ifdefStack)) else token args skip lexbuf
+# 1954 "lex.fs"
+ )
+ | 38 -> (
+# 417 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.Token !args.ifdefStack)) else token args skip lexbuf
+# 1959 "lex.fs"
+ )
+ | 39 -> (
+# 419 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.Token !args.ifdefStack)) else token args skip lexbuf
+# 1964 "lex.fs"
+ )
+ | 40 -> (
+# 421 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.Token !args.ifdefStack)) else token args skip lexbuf
+# 1969 "lex.fs"
+ )
+ | 41 -> (
+# 424 "../lex.fsl"
+ LPAREN_STAR_RPAREN
+# 1974 "lex.fs"
+ )
+ | 42 -> (
+# 427 "../lex.fsl"
+ let m = lexbuf.LexemeRange
+ if not skip then (COMMENT (LexCont.Comment(!args.ifdefStack,1,m))) else comment (1,m,args) skip lexbuf
+# 1980 "lex.fs"
+ )
+ | 43 -> (
+# 431 "../lex.fsl"
+ let m = lexbuf.LexemeRange
+ if not skip then (COMMENT (LexCont.MLOnly(!args.ifdefStack,m))) else mlOnly m args skip lexbuf
+# 1986 "lex.fs"
+ )
+ | 44 -> (
+# 435 "../lex.fsl"
+ let buf,fin,m = startString args lexbuf
+ if not skip then (STRING_TEXT (LexCont.String(!args.ifdefStack,m))) else string (buf,fin,m,args) skip lexbuf
+# 1992 "lex.fs"
+ )
+ | 45 -> (
+# 439 "../lex.fsl"
+ let buf,fin,m = startString args lexbuf
+ if not skip then (STRING_TEXT (LexCont.TripleQuoteString(!args.ifdefStack,m))) else tripleQuoteString (buf,fin,m,args) skip lexbuf
+# 1998 "lex.fs"
+ )
+ | 46 -> (
+# 443 "../lex.fsl"
+ fail args lexbuf (FSComp.SR.lexTokenReserved()) (WHITESPACE (LexCont.Token !args.ifdefStack))
+# 2003 "lex.fs"
+ )
+ | 47 -> (
+# 446 "../lex.fsl"
+ let buf,fin,m = startString args lexbuf
+ if not skip then (STRING_TEXT (LexCont.VerbatimString(!args.ifdefStack,m))) else verbatimString (buf,fin,m,args) skip lexbuf
+# 2009 "lex.fs"
+ )
+ | 48 -> (
+# 450 "../lex.fsl"
+ if skip then token args skip lexbuf
+ else WHITESPACE (LexCont.Token !args.ifdefStack)
+# 2015 "lex.fs"
+ )
+ | 49 -> (
+# 454 "../lex.fsl"
+ if args.lightSyntaxStatus.Status then errorR(Error(FSComp.SR.lexTabsNotAllowed(),lexbuf.LexemeRange))
+ if not skip then (WHITESPACE (LexCont.Token !args.ifdefStack)) else token args skip lexbuf
+# 2021 "lex.fs"
+ )
+ | 50 -> (
+# 458 "../lex.fsl"
+ // 4+ slash are 1-line comments, online 3 slash are XmlDoc
+ let m = lexbuf.LexemeRange
+ if not skip then (LINE_COMMENT (LexCont.SingleLineComment(!args.ifdefStack,1,m))) else singleLineComment (None,1,m,args) skip lexbuf
+# 2028 "lex.fs"
+ )
+ | 51 -> (
+# 463 "../lex.fsl"
+ // Match exactly 3 slash, 4+ slash caught by preceding rule
+ let m = lexbuf.LexemeRange
+ let doc = lexemeTrimLeft lexbuf 3
+ let sb = (new StringBuilder(100)).Append(doc)
+ if not skip then (LINE_COMMENT (LexCont.SingleLineComment(!args.ifdefStack,1,m))) else singleLineComment (Some sb,1,m,args) skip lexbuf
+# 2037 "lex.fs"
+ )
+ | 52 -> (
+# 470 "../lex.fsl"
+ // Need to read all operator symbols too, otherwise it might be parsed by a rule below
+ let m = lexbuf.LexemeRange
+ if not skip then (LINE_COMMENT (LexCont.SingleLineComment(!args.ifdefStack,1,m))) else singleLineComment (None,1,m,args) skip lexbuf
+# 2044 "lex.fs"
+ )
+ | 53 -> (
+# 475 "../lex.fsl"
+ newline lexbuf; if not skip then (WHITESPACE (LexCont.Token !args.ifdefStack)) else token args skip lexbuf
+# 2049 "lex.fs"
+ )
+ | 54 -> (
+# 478 "../lex.fsl"
+ Keywords.IdentifierToken args lexbuf (lexemeTrimBoth lexbuf 2 2)
+# 2054 "lex.fs"
+ )
+ | 55 -> (
+# 481 "../lex.fsl"
+ let pos = lexbuf.EndPos
+ if skip then
+ let s = lexeme lexbuf
+ let rec parseLeadingDirective n =
+ match s.[n] with
+ | c when c >= 'a' && c <= 'z' -> parseLeadingDirective (n+1)
+ | _ -> parseLeadingWhitespace n // goto the next state
+
+ and parseLeadingWhitespace n =
+ match s.[n] with
+ | ' ' | '\t' -> parseLeadingWhitespace (n+1)
+ | _ -> parseLineNumber n n // goto the next state
+
+ and parseLineNumber start n =
+ match s.[n] with
+ | c when c >= '0' && c <= '9' -> parseLineNumber start (n+1)
+ | _ -> let text = (String.sub s start (n-start))
+ let lineNumber =
+ try int32 text
+ with err -> errorR(Error(FSComp.SR.lexInvalidLineNumber(text),lexbuf.LexemeRange)); 0
+ lineNumber, parseWhitespaceBeforeFile n // goto the next state
+
+ and parseWhitespaceBeforeFile n =
+ match s.[n] with
+ | ' ' | '\t' | '@' -> parseWhitespaceBeforeFile (n+1)
+ | '"' -> Some (parseFile (n+1) (n+1))
+ | _ -> None
+
+ and parseFile start n =
+ match s.[n] with
+ | '"' -> String.sub s start (n-start)
+ | _ -> parseFile start (n+1)
+ // Call the parser
+ let line,file = parseLeadingDirective 1
+ // Construct the new position
+ if args.applyLineDirectives then
+ lexbuf.EndPos <- pos.ApplyLineDirective((match file with Some f -> fileIndexOfFile f | None -> pos.FileIndex), line)
+ else
+ // add a newline when we don't apply a directive since we consumed a newline getting here
+ newline lexbuf
+ token args skip lexbuf
+ else
+ // add a newline when we don't apply a directive since we consumed a newline getting here
+ newline lexbuf
+ (HASH_LINE (LexCont.Token !args.ifdefStack))
+# 2103 "lex.fs"
+ )
+ | 56 -> (
+# 529 "../lex.fsl"
+ checkExprOp lexbuf; LQUOTE ("<@ @>", false)
+# 2108 "lex.fs"
+ )
+ | 57 -> (
+# 530 "../lex.fsl"
+ checkExprOp lexbuf; LQUOTE ("<@@ @@>", true)
+# 2113 "lex.fs"
+ )
+ | 58 -> (
+# 531 "../lex.fsl"
+ checkExprOp lexbuf; RQUOTE ("<@ @>", false)
+# 2118 "lex.fs"
+ )
+ | 59 -> (
+# 532 "../lex.fsl"
+ checkExprOp lexbuf; RQUOTE ("<@@ @@>", true)
+# 2123 "lex.fs"
+ )
+ | 60 -> (
+# 533 "../lex.fsl"
+ HASH
+# 2128 "lex.fs"
+ )
+ | 61 -> (
+# 534 "../lex.fsl"
+ AMP
+# 2133 "lex.fs"
+ )
+ | 62 -> (
+# 535 "../lex.fsl"
+ AMP_AMP
+# 2138 "lex.fs"
+ )
+ | 63 -> (
+# 536 "../lex.fsl"
+ BAR_BAR
+# 2143 "lex.fs"
+ )
+ | 64 -> (
+# 537 "../lex.fsl"
+ QUOTE
+# 2148 "lex.fs"
+ )
+ | 65 -> (
+# 538 "../lex.fsl"
+ LPAREN
+# 2153 "lex.fs"
+ )
+ | 66 -> (
+# 539 "../lex.fsl"
+ RPAREN
+# 2158 "lex.fs"
+ )
+ | 67 -> (
+# 540 "../lex.fsl"
+ STAR
+# 2163 "lex.fs"
+ )
+ | 68 -> (
+# 541 "../lex.fsl"
+ COMMA
+# 2168 "lex.fs"
+ )
+ | 69 -> (
+# 542 "../lex.fsl"
+ RARROW
+# 2173 "lex.fs"
+ )
+ | 70 -> (
+# 543 "../lex.fsl"
+ QMARK
+# 2178 "lex.fs"
+ )
+ | 71 -> (
+# 544 "../lex.fsl"
+ QMARK_QMARK
+# 2183 "lex.fs"
+ )
+ | 72 -> (
+# 545 "../lex.fsl"
+ DOT_DOT
+# 2188 "lex.fs"
+ )
+ | 73 -> (
+# 546 "../lex.fsl"
+ DOT_DOT_HAT
+# 2193 "lex.fs"
+ )
+ | 74 -> (
+# 547 "../lex.fsl"
+ DOT
+# 2198 "lex.fs"
+ )
+ | 75 -> (
+# 548 "../lex.fsl"
+ COLON
+# 2203 "lex.fs"
+ )
+ | 76 -> (
+# 549 "../lex.fsl"
+ COLON_COLON
+# 2208 "lex.fs"
+ )
+ | 77 -> (
+# 550 "../lex.fsl"
+ COLON_GREATER
+# 2213 "lex.fs"
+ )
+ | 78 -> (
+# 551 "../lex.fsl"
+ RQUOTE_DOT ("<@ @>",false)
+# 2218 "lex.fs"
+ )
+ | 79 -> (
+# 552 "../lex.fsl"
+ RQUOTE_DOT ("<@@ @@>",true)
+# 2223 "lex.fs"
+ )
+ | 80 -> (
+# 553 "../lex.fsl"
+ GREATER_BAR_RBRACK
+# 2228 "lex.fs"
+ )
+ | 81 -> (
+# 554 "../lex.fsl"
+ COLON_QMARK_GREATER
+# 2233 "lex.fs"
+ )
+ | 82 -> (
+# 555 "../lex.fsl"
+ COLON_QMARK
+# 2238 "lex.fs"
+ )
+ | 83 -> (
+# 556 "../lex.fsl"
+ COLON_EQUALS
+# 2243 "lex.fs"
+ )
+ | 84 -> (
+# 557 "../lex.fsl"
+ SEMICOLON_SEMICOLON
+# 2248 "lex.fs"
+ )
+ | 85 -> (
+# 558 "../lex.fsl"
+ SEMICOLON
+# 2253 "lex.fs"
+ )
+ | 86 -> (
+# 559 "../lex.fsl"
+ LARROW
+# 2258 "lex.fs"
+ )
+ | 87 -> (
+# 560 "../lex.fsl"
+ EQUALS
+# 2263 "lex.fs"
+ )
+ | 88 -> (
+# 561 "../lex.fsl"
+ LBRACK
+# 2268 "lex.fs"
+ )
+ | 89 -> (
+# 562 "../lex.fsl"
+ LBRACK_BAR
+# 2273 "lex.fs"
+ )
+ | 90 -> (
+# 563 "../lex.fsl"
+ LBRACE_BAR
+# 2278 "lex.fs"
+ )
+ | 91 -> (
+# 564 "../lex.fsl"
+ LESS false
+# 2283 "lex.fs"
+ )
+ | 92 -> (
+# 565 "../lex.fsl"
+ GREATER false
+# 2288 "lex.fs"
+ )
+ | 93 -> (
+# 566 "../lex.fsl"
+ LBRACK_LESS
+# 2293 "lex.fs"
+ )
+ | 94 -> (
+# 567 "../lex.fsl"
+ RBRACK
+# 2298 "lex.fs"
+ )
+ | 95 -> (
+# 568 "../lex.fsl"
+ BAR_RBRACK
+# 2303 "lex.fs"
+ )
+ | 96 -> (
+# 569 "../lex.fsl"
+ BAR_RBRACE
+# 2308 "lex.fs"
+ )
+ | 97 -> (
+# 570 "../lex.fsl"
+ GREATER_RBRACK
+# 2313 "lex.fs"
+ )
+ | 98 -> (
+# 571 "../lex.fsl"
+ LBRACE
+# 2318 "lex.fs"
+ )
+ | 99 -> (
+# 572 "../lex.fsl"
+ BAR
+# 2323 "lex.fs"
+ )
+ | 100 -> (
+# 573 "../lex.fsl"
+ RBRACE
+# 2328 "lex.fs"
+ )
+ | 101 -> (
+# 574 "../lex.fsl"
+ DOLLAR
+# 2333 "lex.fs"
+ )
+ | 102 -> (
+# 575 "../lex.fsl"
+ PERCENT_OP("%")
+# 2338 "lex.fs"
+ )
+ | 103 -> (
+# 576 "../lex.fsl"
+ PERCENT_OP("%%")
+# 2343 "lex.fs"
+ )
+ | 104 -> (
+# 577 "../lex.fsl"
+ MINUS
+# 2348 "lex.fs"
+ )
+ | 105 -> (
+# 578 "../lex.fsl"
+ RESERVED
+# 2353 "lex.fs"
+ )
+ | 106 -> (
+# 579 "../lex.fsl"
+ RESERVED
+# 2358 "lex.fs"
+ )
+ | 107 -> (
+# 580 "../lex.fsl"
+ checkExprOp lexbuf; INFIX_STAR_STAR_OP(lexeme lexbuf)
+# 2363 "lex.fs"
+ )
+ | 108 -> (
+# 581 "../lex.fsl"
+ checkExprOp lexbuf; INFIX_STAR_DIV_MOD_OP(lexeme lexbuf)
+# 2368 "lex.fs"
+ )
+ | 109 -> (
+# 582 "../lex.fsl"
+ checkExprOp lexbuf; PLUS_MINUS_OP(lexeme lexbuf)
+# 2373 "lex.fs"
+ )
+ | 110 -> (
+# 583 "../lex.fsl"
+ checkExprOp lexbuf; INFIX_AT_HAT_OP(lexeme lexbuf)
+# 2378 "lex.fs"
+ )
+ | 111 -> (
+# 584 "../lex.fsl"
+ checkExprOp lexbuf; INFIX_COMPARE_OP(lexeme lexbuf)
+# 2383 "lex.fs"
+ )
+ | 112 -> (
+# 585 "../lex.fsl"
+ checkExprOp lexbuf; INFIX_AMP_OP(lexeme lexbuf)
+# 2388 "lex.fs"
+ )
+ | 113 -> (
+# 586 "../lex.fsl"
+ checkExprOp lexbuf; INFIX_BAR_OP(lexeme lexbuf)
+# 2393 "lex.fs"
+ )
+ | 114 -> (
+# 587 "../lex.fsl"
+ checkExprOp lexbuf; PREFIX_OP(lexeme lexbuf)
+# 2398 "lex.fs"
+ )
+ | 115 -> (
+# 589 "../lex.fsl"
+ FUNKY_OPERATOR_NAME(lexeme lexbuf)
+# 2403 "lex.fs"
+ )
+ | 116 -> (
+# 591 "../lex.fsl"
+ // Treat shebangs like regular comments, but they are only allowed at the start of a file
+ let m = lexbuf.LexemeRange
+ let tok = shouldStartFile args lexbuf m (0,FSComp.SR.lexHashBangMustBeFirstInFile()) (LINE_COMMENT (LexCont.SingleLineComment(!args.ifdefStack,1,m)))
+ if not skip then tok else singleLineComment (None,1,m,args) skip lexbuf
+# 2411 "lex.fs"
+ )
+ | 117 -> (
+# 598 "../lex.fsl"
+ if args.lightSyntaxStatus.ExplicitlySet && args.lightSyntaxStatus.WarnOnMultipleTokens then
+ warning(Error((0,"#light should only occur as the first non-comment text in an F# source file"),lexbuf.LexemeRange))
+ // TODO unreachable error above, I think? - brianmcn
+ args.lightSyntaxStatus.Status <- true
+ if not skip then (HASH_LIGHT (LexCont.Token !args.ifdefStack)) else token args skip lexbuf
+# 2420 "lex.fs"
+ )
+ | 118 -> (
+# 605 "../lex.fsl"
+ args.lightSyntaxStatus.Status <- false
+ mlCompatWarning (FSComp.SR.lexIndentOffForML()) lexbuf.LexemeRange
+ if not skip then (HASH_LIGHT (LexCont.Token !args.ifdefStack)) else token args skip lexbuf
+# 2427 "lex.fs"
+ )
+ | 119 -> (
+# 610 "../lex.fsl"
+ let m = lexbuf.LexemeRange
+ let lookup id = List.contains id args.defines
+ let lexed = lexeme lexbuf
+ let isTrue = evalIfDefExpression lexbuf.StartPos lexbuf.SupportsFeature args lookup lexed
+ args.ifdefStack := (IfDefIf,m) :: !(args.ifdefStack)
+
+ // Get the token; make sure it starts at zero position & return
+ let cont, f =
+ ( if isTrue then (LexCont.EndLine(LexerEndlineContinuation.Token(!args.ifdefStack)), endline (LexerEndlineContinuation.Token !args.ifdefStack) args skip)
+ else (LexCont.EndLine(LexerEndlineContinuation.Skip(!args.ifdefStack,0,m)), endline (LexerEndlineContinuation.Skip(!args.ifdefStack,0,m)) args skip) )
+ let tok = shouldStartLine args lexbuf m (FSComp.SR.lexHashIfMustBeFirst()) (HASH_IF(m,lexed,cont))
+ if not skip then tok else f lexbuf
+# 2443 "lex.fs"
+ )
+ | 120 -> (
+# 624 "../lex.fsl"
+ let lexed = (lexeme lexbuf)
+ match !(args.ifdefStack) with
+ | [] -> LEX_FAILURE (FSComp.SR.lexHashElseNoMatchingIf())
+ | (IfDefElse,_) :: _rest -> LEX_FAILURE (FSComp.SR.lexHashEndifRequiredForElse())
+ | (IfDefIf,_) :: rest ->
+ let m = lexbuf.LexemeRange
+ args.ifdefStack := (IfDefElse,m) :: rest
+ let tok = HASH_ELSE(m,lexed, LexCont.EndLine(LexerEndlineContinuation.Skip(!args.ifdefStack,0,m)))
+ let tok = shouldStartLine args lexbuf m (FSComp.SR.lexHashElseMustBeFirst()) tok
+ if not skip then tok else endline (LexerEndlineContinuation.Skip(!args.ifdefStack,0,m)) args skip lexbuf
+# 2457 "lex.fs"
+ )
+ | 121 -> (
+# 636 "../lex.fsl"
+ let lexed = (lexeme lexbuf)
+ let m = lexbuf.LexemeRange
+ match !(args.ifdefStack) with
+ | []-> LEX_FAILURE (FSComp.SR.lexHashEndingNoMatchingIf())
+ | _ :: rest ->
+ args.ifdefStack := rest
+ let tok = HASH_ENDIF(m,lexed,LexCont.EndLine(LexerEndlineContinuation.Token(!args.ifdefStack)))
+ let tok = shouldStartLine args lexbuf m (FSComp.SR.lexHashEndifMustBeFirst()) tok
+ if not skip then tok else endline (LexerEndlineContinuation.Token(!args.ifdefStack)) args skip lexbuf
+# 2470 "lex.fs"
+ )
+ | 122 -> (
+# 647 "../lex.fsl"
+ let tok = fail args lexbuf (FSComp.SR.lexHashIfMustHaveIdent()) (WHITESPACE (LexCont.Token !args.ifdefStack))
+ if not skip then tok else token args skip lexbuf
+# 2476 "lex.fs"
+ )
+ | 123 -> (
+# 652 "../lex.fsl"
+ unexpectedChar lexbuf
+# 2481 "lex.fs"
+ )
+ | 124 -> (
+# 654 "../lex.fsl"
+ EOF (LexCont.Token !args.ifdefStack)
+# 2486 "lex.fs"
+ )
+ | _ -> failwith "token"
+// Rule ifdefSkip
+and ifdefSkip n m args skip lexbuf =
+ match _fslex_tables.Interpret(299,lexbuf) with
+ | 0 -> (
+# 660 "../lex.fsl"
+ let m = lexbuf.LexemeRange
+
+ // If #if is the first thing on the line then increase depth, otherwise skip, because it is invalid (e.g. "(**) #if ...")
+ if (m.StartColumn <> 0) then
+ if not skip then (INACTIVECODE (LexCont.IfDefSkip(!args.ifdefStack,n,m))) else ifdefSkip n m args skip lexbuf
+ else
+ let tok = INACTIVECODE(LexCont.EndLine(LexerEndlineContinuation.Skip(!args.ifdefStack,n+1,m)))
+ if not skip then tok else endline (LexerEndlineContinuation.Skip(!args.ifdefStack,n+1,m)) args skip lexbuf
+# 2502 "lex.fs"
+ )
+ | 1 -> (
+# 670 "../lex.fsl"
+ let lexed = (lexeme lexbuf)
+ let m = lexbuf.LexemeRange
+
+ // If #else is the first thing on the line then process it, otherwise ignore, because it is invalid (e.g. "(**) #else ...")
+ if (m.StartColumn <> 0) then
+ if not skip then (INACTIVECODE (LexCont.IfDefSkip(!args.ifdefStack,n,m))) else ifdefSkip n m args skip lexbuf
+ elif n = 0 then
+ match !(args.ifdefStack) with
+ | []-> LEX_FAILURE (FSComp.SR.lexHashElseNoMatchingIf())
+ | (IfDefElse,_) :: _rest -> LEX_FAILURE (FSComp.SR.lexHashEndifRequiredForElse())
+ | (IfDefIf,_) :: rest ->
+ let m = lexbuf.LexemeRange
+ args.ifdefStack := (IfDefElse,m) :: rest
+ if not skip then (HASH_ELSE(m,lexed,LexCont.EndLine(LexerEndlineContinuation.Token(!args.ifdefStack)))) else endline (LexerEndlineContinuation.Token(!args.ifdefStack)) args skip lexbuf
+ else
+ if not skip then (INACTIVECODE(LexCont.EndLine(LexerEndlineContinuation.Skip(!args.ifdefStack,n,m)))) else endline (LexerEndlineContinuation.Skip(!args.ifdefStack,n,m)) args skip lexbuf
+# 2522 "lex.fs"
+ )
+ | 2 -> (
+# 688 "../lex.fsl"
+ let lexed = lexeme lexbuf
+ let m = lexbuf.LexemeRange
+
+ // If #endif is the first thing on the line then process it, otherwise ignore, because it is invalid (e.g. "(**) #endif ...")
+ if (m.StartColumn <> 0) then
+ if not skip then (INACTIVECODE (LexCont.IfDefSkip(!args.ifdefStack,n,m))) else ifdefSkip n m args skip lexbuf
+ elif n = 0 then
+ match !(args.ifdefStack) with
+ | [] -> LEX_FAILURE (FSComp.SR.lexHashEndingNoMatchingIf())
+ | _ :: rest ->
+ args.ifdefStack := rest
+ if not skip then (HASH_ENDIF(m,lexed,LexCont.EndLine(LexerEndlineContinuation.Token(!args.ifdefStack)))) else endline (LexerEndlineContinuation.Token(!args.ifdefStack)) args skip lexbuf
+ else
+ let tok = INACTIVECODE(LexCont.EndLine(LexerEndlineContinuation.Skip(!args.ifdefStack,n-1,m)))
+ let tok = shouldStartLine args lexbuf m (FSComp.SR.lexWrongNestedHashEndif()) tok
+ if not skip then tok else endline (LexerEndlineContinuation.Skip(!args.ifdefStack,(n-1),m)) args skip lexbuf
+# 2542 "lex.fs"
+ )
+ | 3 -> (
+# 706 "../lex.fsl"
+ newline lexbuf; ifdefSkip n m args skip lexbuf
+# 2547 "lex.fs"
+ )
+ | 4 -> (
+# 712 "../lex.fsl"
+ // This tries to be nice and get tokens as 'words' because VS uses this when selecting stuff
+ if not skip then (INACTIVECODE (LexCont.IfDefSkip(!args.ifdefStack,n,m))) else ifdefSkip n m args skip lexbuf
+# 2553 "lex.fs"
+ )
+ | 5 -> (
+# 715 "../lex.fsl"
+ EOF (LexCont.IfDefSkip(!args.ifdefStack,n,m))
+# 2558 "lex.fs"
+ )
+ | _ -> failwith "ifdefSkip"
+// Rule endline
+and endline cont args skip lexbuf =
+ match _fslex_tables.Interpret(292,lexbuf) with
+ | 0 -> (
+# 721 "../lex.fsl"
+ newline lexbuf
+ match cont with
+ | LexerEndlineContinuation.Token(ifdefStack) -> if not skip then (WHITESPACE(LexCont.Token ifdefStack)) else token args skip lexbuf
+ | LexerEndlineContinuation.Skip(ifdefStack, n, m) -> if not skip then (INACTIVECODE (LexCont.IfDefSkip(ifdefStack,n,m))) else ifdefSkip n m args skip lexbuf
+
+# 2571 "lex.fs"
+ )
+ | 1 -> (
+# 727 "../lex.fsl"
+ match cont with
+ | LexerEndlineContinuation.Token(ifdefStack) -> (EOF(LexCont.Token ifdefStack))
+ | LexerEndlineContinuation.Skip(ifdefStack, n, m) -> (EOF(LexCont.IfDefSkip(ifdefStack,n,m)))
+
+# 2579 "lex.fs"
+ )
+ | 2 -> (
+# 733 "../lex.fsl"
+ let tok = fail args lexbuf (FSComp.SR.pplexExpectedSingleLineComment()) (WHITESPACE (LexCont.Token !args.ifdefStack))
+ if not skip then tok else token args skip lexbuf
+# 2585 "lex.fs"
+ )
+ | _ -> failwith "endline"
+// Rule string
+and string sargs skip lexbuf =
+ match _fslex_tables.Interpret(238,lexbuf) with
+ | 0 -> (
+# 738 "../lex.fsl"
+ let (_buf,_fin,m,args) = sargs
+ newline lexbuf
+ if not skip then (STRING_TEXT (LexCont.String(!args.ifdefStack,m))) else string sargs skip lexbuf
+# 2596 "lex.fs"
+ )
+ | 1 -> (
+# 743 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addByteChar buf (escape (lexeme lexbuf).[1])
+ if not skip then (STRING_TEXT (LexCont.String(!args.ifdefStack,m))) else string sargs skip lexbuf
+# 2603 "lex.fs"
+ )
+ | 2 -> (
+# 748 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ let s = lexeme lexbuf
+ addByteChar buf (trigraph s.[1] s.[2] s.[3])
+ if not skip then (STRING_TEXT (LexCont.String(!args.ifdefStack,m))) else string sargs skip lexbuf
+# 2611 "lex.fs"
+ )
+ | 3 -> (
+# 754 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addUnicodeChar buf (int (hexGraphShort (lexemeTrimLeft lexbuf 2)))
+ if not skip then (STRING_TEXT (LexCont.String(!args.ifdefStack,m))) else string sargs skip lexbuf
+# 2618 "lex.fs"
+ )
+ | 4 -> (
+# 759 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addUnicodeChar buf (int (unicodeGraphShort (lexemeTrimLeft lexbuf 2)))
+ if not skip then (STRING_TEXT (LexCont.String(!args.ifdefStack,m))) else string sargs skip lexbuf
+# 2625 "lex.fs"
+ )
+ | 5 -> (
+# 764 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ let hexChars = lexemeTrimLeft lexbuf 2
+ let result () = if not skip then (STRING_TEXT (LexCont.String(!args.ifdefStack,m))) else string sargs skip lexbuf
+ match unicodeGraphLong hexChars with
+ | Invalid ->
+ fail args lexbuf (FSComp.SR.lexInvalidUnicodeLiteral hexChars) (result ())
+ | SingleChar(c) ->
+ addUnicodeChar buf (int c)
+ result ()
+ | SurrogatePair(hi, lo) ->
+ addUnicodeChar buf (int hi)
+ addUnicodeChar buf (int lo)
+ result ()
+# 2642 "lex.fs"
+ )
+ | 6 -> (
+# 779 "../lex.fsl"
+ let (buf,fin,_m,_args) = sargs
+ let m2 = lexbuf.LexemeRange
+ callStringFinisher fin buf m2 false
+# 2649 "lex.fs"
+ )
+ | 7 -> (
+# 784 "../lex.fsl"
+ let (buf,fin,_m,_args) = sargs
+ let m2 = lexbuf.LexemeRange
+ callStringFinisher fin buf m2 true
+# 2656 "lex.fs"
+ )
+ | 8 -> (
+# 789 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ newline lexbuf
+ addUnicodeString buf (lexeme lexbuf)
+ if not skip then (STRING_TEXT (LexCont.String(!args.ifdefStack,m))) else string sargs skip lexbuf
+# 2664 "lex.fs"
+ )
+ | 9 -> (
+# 795 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addUnicodeString buf (lexeme lexbuf)
+ if not skip then (STRING_TEXT (LexCont.String(!args.ifdefStack,m))) else string sargs skip lexbuf
+# 2671 "lex.fs"
+ )
+ | 10 -> (
+# 801 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addUnicodeString buf (lexeme lexbuf)
+ if not skip then (STRING_TEXT (LexCont.String(!args.ifdefStack,m))) else string sargs skip lexbuf
+# 2678 "lex.fs"
+ )
+ | 11 -> (
+# 806 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addUnicodeString buf (lexeme lexbuf)
+ if not skip then (STRING_TEXT (LexCont.String(!args.ifdefStack,m))) else string sargs skip lexbuf
+# 2685 "lex.fs"
+ )
+ | 12 -> (
+# 811 "../lex.fsl"
+ let (_buf,_fin,m,args) = sargs
+ EOF (LexCont.String(!args.ifdefStack,m))
+# 2691 "lex.fs"
+ )
+ | 13 -> (
+# 815 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addUnicodeString buf (lexeme lexbuf)
+ if not skip then (STRING_TEXT (LexCont.String(!args.ifdefStack,m))) else string sargs skip lexbuf
+# 2698 "lex.fs"
+ )
+ | _ -> failwith "string"
+// Rule verbatimString
+and verbatimString sargs skip lexbuf =
+ match _fslex_tables.Interpret(208,lexbuf) with
+ | 0 -> (
+# 821 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addByteChar buf '\"'
+ if not skip then (STRING_TEXT (LexCont.VerbatimString(!args.ifdefStack,m))) else verbatimString sargs skip lexbuf
+# 2709 "lex.fs"
+ )
+ | 1 -> (
+# 826 "../lex.fsl"
+ let (buf,fin,_m,_args) = sargs
+ let m2 = lexbuf.LexemeRange
+ callStringFinisher fin buf m2 false
+# 2716 "lex.fs"
+ )
+ | 2 -> (
+# 831 "../lex.fsl"
+ let (buf,fin,_m,_args) = sargs
+ let m2 = lexbuf.LexemeRange
+ callStringFinisher fin buf m2 true
+# 2723 "lex.fs"
+ )
+ | 3 -> (
+# 836 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ newline lexbuf
+ addUnicodeString buf (lexeme lexbuf)
+ if not skip then (STRING_TEXT (LexCont.VerbatimString(!args.ifdefStack,m))) else verbatimString sargs skip lexbuf
+# 2731 "lex.fs"
+ )
+ | 4 -> (
+# 842 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addUnicodeString buf (lexeme lexbuf)
+ if not skip then (STRING_TEXT (LexCont.VerbatimString(!args.ifdefStack,m))) else verbatimString sargs skip lexbuf
+# 2738 "lex.fs"
+ )
+ | 5 -> (
+# 848 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addUnicodeString buf (lexeme lexbuf)
+ if not skip then (STRING_TEXT (LexCont.VerbatimString(!args.ifdefStack,m))) else verbatimString sargs skip lexbuf
+# 2745 "lex.fs"
+ )
+ | 6 -> (
+# 853 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addUnicodeString buf (lexeme lexbuf)
+ if not skip then (STRING_TEXT (LexCont.VerbatimString(!args.ifdefStack,m))) else verbatimString sargs skip lexbuf
+# 2752 "lex.fs"
+ )
+ | 7 -> (
+# 858 "../lex.fsl"
+ let (_buf,_fin,m,args) = sargs
+ EOF (LexCont.VerbatimString(!args.ifdefStack,m))
+# 2758 "lex.fs"
+ )
+ | 8 -> (
+# 862 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addUnicodeString buf (lexeme lexbuf)
+ if not skip then (STRING_TEXT (LexCont.VerbatimString(!args.ifdefStack,m))) else verbatimString sargs skip lexbuf
+# 2765 "lex.fs"
+ )
+ | _ -> failwith "verbatimString"
+// Rule tripleQuoteString
+and tripleQuoteString sargs skip lexbuf =
+ match _fslex_tables.Interpret(178,lexbuf) with
+ | 0 -> (
+# 868 "../lex.fsl"
+ let (buf,fin,_m,_args) = sargs
+ let m2 = lexbuf.LexemeRange
+ callStringFinisher fin buf m2 false
+# 2776 "lex.fs"
+ )
+ | 1 -> (
+# 873 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ newline lexbuf
+ addUnicodeString buf (lexeme lexbuf)
+ if not skip then (STRING_TEXT (LexCont.TripleQuoteString(!args.ifdefStack,m))) else tripleQuoteString sargs skip lexbuf
+# 2784 "lex.fs"
+ )
+ | 2 -> (
+# 880 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addUnicodeString buf (lexeme lexbuf)
+ if not skip then (STRING_TEXT (LexCont.TripleQuoteString(!args.ifdefStack,m))) else tripleQuoteString sargs skip lexbuf
+# 2791 "lex.fs"
+ )
+ | 3 -> (
+# 886 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addUnicodeString buf (lexeme lexbuf)
+ if not skip then (STRING_TEXT (LexCont.TripleQuoteString(!args.ifdefStack,m))) else tripleQuoteString sargs skip lexbuf
+# 2798 "lex.fs"
+ )
+ | 4 -> (
+# 891 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addUnicodeString buf (lexeme lexbuf)
+ if not skip then (STRING_TEXT (LexCont.TripleQuoteString(!args.ifdefStack,m))) else tripleQuoteString sargs skip lexbuf
+# 2805 "lex.fs"
+ )
+ | 5 -> (
+# 896 "../lex.fsl"
+ let (_buf,_fin,m,args) = sargs
+ EOF (LexCont.TripleQuoteString(!args.ifdefStack,m))
+# 2811 "lex.fs"
+ )
+ | 6 -> (
+# 900 "../lex.fsl"
+ let (buf,_fin,m,args) = sargs
+ addUnicodeString buf (lexeme lexbuf)
+ if not skip then (STRING_TEXT (LexCont.TripleQuoteString(!args.ifdefStack,m))) else tripleQuoteString sargs skip lexbuf
+# 2818 "lex.fs"
+ )
+ | _ -> failwith "tripleQuoteString"
+// Rule singleLineComment
+and singleLineComment cargs skip lexbuf =
+ match _fslex_tables.Interpret(165,lexbuf) with
+ | 0 -> (
+# 907 "../lex.fsl"
+ let buff,_n,_m,args = cargs
+ trySaveXmlDoc lexbuf buff
+ newline lexbuf
+ // Saves the documentation (if we're collecting any) into a buffer-local variable.
+ if not skip then (LINE_COMMENT (LexCont.Token !args.ifdefStack)) else token args skip lexbuf
+# 2831 "lex.fs"
+ )
+ | 1 -> (
+# 914 "../lex.fsl"
+ let _, _n,_m,args = cargs
+ // NOTE: it is legal to end a file with this comment, so we'll return EOF as a token
+ EOF (LexCont.Token !args.ifdefStack)
+# 2838 "lex.fs"
+ )
+ | 2 -> (
+# 920 "../lex.fsl"
+ let buff,n,m,args = cargs
+ // Append the current token to the XML documentation if we're collecting it
+ tryAppendXmlDoc buff (lexeme lexbuf)
+ if not skip then (LINE_COMMENT (LexCont.SingleLineComment(!args.ifdefStack,n,m))) else singleLineComment (buff,n,m,args) skip lexbuf
+# 2846 "lex.fs"
+ )
+ | 3 -> (
+# 926 "../lex.fsl"
+ let _, _n,_m,args = cargs
+ if not skip then (LINE_COMMENT (LexCont.Token !args.ifdefStack)) else token args skip lexbuf
+# 2852 "lex.fs"
+ )
+ | _ -> failwith "singleLineComment"
+// Rule comment
+and comment cargs skip lexbuf =
+ match _fslex_tables.Interpret(139,lexbuf) with
+ | 0 -> (
+# 932 "../lex.fsl"
+ let n,m,args = cargs
+ if not skip then (COMMENT (LexCont.Comment(!args.ifdefStack,n,m))) else comment (n,m,args) skip lexbuf
+# 2862 "lex.fs"
+ )
+ | 1 -> (
+# 936 "../lex.fsl"
+ let n,m,args = cargs
+ if not skip then (COMMENT (LexCont.StringInComment(!args.ifdefStack,n,m))) else stringInComment n m args skip lexbuf
+# 2868 "lex.fs"
+ )
+ | 2 -> (
+# 940 "../lex.fsl"
+ let n,m,args = cargs
+ if not skip then (COMMENT (LexCont.TripleQuoteStringInComment(!args.ifdefStack,n,m))) else tripleQuoteStringInComment n m args skip lexbuf
+# 2874 "lex.fs"
+ )
+ | 3 -> (
+# 944 "../lex.fsl"
+ let n,m,args = cargs
+ if not skip then (COMMENT (LexCont.VerbatimStringInComment(!args.ifdefStack,n,m))) else verbatimStringInComment n m args skip lexbuf
+# 2880 "lex.fs"
+ )
+ | 4 -> (
+# 948 "../lex.fsl"
+ let n,m,args = cargs
+ if not skip then (COMMENT (LexCont.Comment(!args.ifdefStack,n,m))) else comment cargs skip lexbuf
+# 2886 "lex.fs"
+ )
+ | 5 -> (
+# 952 "../lex.fsl"
+ let n,m,args = cargs
+ if not skip then (COMMENT (LexCont.Comment(!args.ifdefStack,n+1,m))) else comment (n+1,m,args) skip lexbuf
+# 2892 "lex.fs"
+ )
+ | 6 -> (
+# 956 "../lex.fsl"
+ let n,m,args = cargs
+ newline lexbuf
+ if not skip then (COMMENT (LexCont.Comment(!args.ifdefStack,n,m))) else comment cargs skip lexbuf
+# 2899 "lex.fs"
+ )
+ | 7 -> (
+# 960 "../lex.fsl"
+
+ let n,m,args = cargs
+ if n > 1 then if not skip then (COMMENT (LexCont.Comment(!args.ifdefStack,n-1,m))) else comment (n-1,m,args) skip lexbuf
+ else if not skip then (COMMENT (LexCont.Token !args.ifdefStack)) else token args skip lexbuf
+# 2907 "lex.fs"
+ )
+ | 8 -> (
+# 967 "../lex.fsl"
+ let n,m,args = cargs
+ if not skip then (COMMENT (LexCont.Comment(!args.ifdefStack,n,m))) else comment cargs skip lexbuf
+# 2913 "lex.fs"
+ )
+ | 9 -> (
+# 971 "../lex.fsl"
+ let n,m,args = cargs
+ EOF (LexCont.Comment(!args.ifdefStack,n,m))
+# 2919 "lex.fs"
+ )
+ | 10 -> (
+# 975 "../lex.fsl"
+ let n,m,args = cargs
+ if not skip then (COMMENT (LexCont.Comment(!args.ifdefStack,n,m))) else comment (n,m,args) skip lexbuf
+# 2925 "lex.fs"
+ )
+ | _ -> failwith "comment"
+// Rule stringInComment
+and stringInComment n m args skip lexbuf =
+ match _fslex_tables.Interpret(90,lexbuf) with
+ | 0 -> (
+# 981 "../lex.fsl"
+ newline lexbuf
+ if not skip then (COMMENT (LexCont.StringInComment(!args.ifdefStack,n,m))) else stringInComment n m args skip lexbuf
+# 2935 "lex.fs"
+ )
+ | 1 -> (
+# 993 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.StringInComment(!args.ifdefStack,n,m))) else stringInComment n m args skip lexbuf
+# 2940 "lex.fs"
+ )
+ | 2 -> (
+# 997 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.Comment(!args.ifdefStack,n,m))) else comment (n,m,args) skip lexbuf
+# 2945 "lex.fs"
+ )
+ | 3 -> (
+# 1000 "../lex.fsl"
+ newline lexbuf
+ if not skip then (COMMENT (LexCont.StringInComment(!args.ifdefStack,n,m))) else stringInComment n m args skip lexbuf
+# 2951 "lex.fs"
+ )
+ | 4 -> (
+# 1004 "../lex.fsl"
+ EOF (LexCont.StringInComment(!args.ifdefStack,n,m))
+# 2956 "lex.fs"
+ )
+ | 5 -> (
+# 1008 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.StringInComment(!args.ifdefStack,n,m))) else stringInComment n m args skip lexbuf
+# 2961 "lex.fs"
+ )
+ | _ -> failwith "stringInComment"
+// Rule verbatimStringInComment
+and verbatimStringInComment n m args skip lexbuf =
+ match _fslex_tables.Interpret(61,lexbuf) with
+ | 0 -> (
+# 1013 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.VerbatimStringInComment(!args.ifdefStack,n,m))) else verbatimStringInComment n m args skip lexbuf
+# 2970 "lex.fs"
+ )
+ | 1 -> (
+# 1016 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.Comment(!args.ifdefStack,n,m))) else comment (n,m,args) skip lexbuf
+# 2975 "lex.fs"
+ )
+ | 2 -> (
+# 1022 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.VerbatimStringInComment(!args.ifdefStack,n,m))) else verbatimStringInComment n m args skip lexbuf
+# 2980 "lex.fs"
+ )
+ | 3 -> (
+# 1025 "../lex.fsl"
+ newline lexbuf
+ if not skip then (COMMENT (LexCont.VerbatimStringInComment(!args.ifdefStack,n,m))) else verbatimStringInComment n m args skip lexbuf
+# 2986 "lex.fs"
+ )
+ | 4 -> (
+# 1029 "../lex.fsl"
+ EOF (LexCont.VerbatimStringInComment(!args.ifdefStack,n,m))
+# 2991 "lex.fs"
+ )
+ | 5 -> (
+# 1033 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.VerbatimStringInComment(!args.ifdefStack,n,m))) else verbatimStringInComment n m args skip lexbuf
+# 2996 "lex.fs"
+ )
+ | _ -> failwith "verbatimStringInComment"
+// Rule tripleQuoteStringInComment
+and tripleQuoteStringInComment n m args skip lexbuf =
+ match _fslex_tables.Interpret(31,lexbuf) with
+ | 0 -> (
+# 1038 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.Comment(!args.ifdefStack,n,m))) else comment (n,m,args) skip lexbuf
+# 3005 "lex.fs"
+ )
+ | 1 -> (
+# 1044 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.TripleQuoteStringInComment(!args.ifdefStack,n,m))) else tripleQuoteStringInComment n m args skip lexbuf
+# 3010 "lex.fs"
+ )
+ | 2 -> (
+# 1047 "../lex.fsl"
+ newline lexbuf
+ if not skip then (COMMENT (LexCont.TripleQuoteStringInComment(!args.ifdefStack,n,m))) else tripleQuoteStringInComment n m args skip lexbuf
+# 3016 "lex.fs"
+ )
+ | 3 -> (
+# 1051 "../lex.fsl"
+ EOF (LexCont.TripleQuoteStringInComment(!args.ifdefStack,n,m))
+# 3021 "lex.fs"
+ )
+ | 4 -> (
+# 1055 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.TripleQuoteStringInComment(!args.ifdefStack,n,m))) else tripleQuoteStringInComment n m args skip lexbuf
+# 3026 "lex.fs"
+ )
+ | _ -> failwith "tripleQuoteStringInComment"
+// Rule mlOnly
+and mlOnly m args skip lexbuf =
+ match _fslex_tables.Interpret(0,lexbuf) with
+ | 0 -> (
+# 1060 "../lex.fsl"
+ let buf = ByteBuffer.Create 100
+ let m2 = lexbuf.LexemeRange
+ let _ = string (buf,defaultStringFinisher,m2,args) skip lexbuf
+ if not skip then (COMMENT (LexCont.MLOnly(!args.ifdefStack,m))) else mlOnly m args skip lexbuf
+# 3038 "lex.fs"
+ )
+ | 1 -> (
+# 1065 "../lex.fsl"
+ newline lexbuf; if not skip then (COMMENT (LexCont.MLOnly(!args.ifdefStack,m))) else mlOnly m args skip lexbuf
+# 3043 "lex.fs"
+ )
+ | 2 -> (
+# 1067 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.Token !args.ifdefStack)) else token args skip lexbuf
+# 3048 "lex.fs"
+ )
+ | 3 -> (
+# 1069 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.Token !args.ifdefStack)) else token args skip lexbuf
+# 3053 "lex.fs"
+ )
+ | 4 -> (
+# 1071 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.MLOnly(!args.ifdefStack,m))) else mlOnly m args skip lexbuf
+# 3058 "lex.fs"
+ )
+ | 5 -> (
+# 1073 "../lex.fsl"
+ EOF (LexCont.MLOnly(!args.ifdefStack,m))
+# 3063 "lex.fs"
+ )
+ | 6 -> (
+# 1076 "../lex.fsl"
+ if not skip then (COMMENT (LexCont.MLOnly(!args.ifdefStack,m))) else mlOnly m args skip lexbuf
+# 3068 "lex.fs"
+ )
+ | _ -> failwith "mlOnly"
+
+# 3000000 "lex.fs"
diff --git a/src/fsharp/FSharp.Compiler.Private/pars.fs b/src/fsharp/FSharp.Compiler.Private/pars.fs
new file mode 100644
index 0000000000..dd4a72a872
--- /dev/null
+++ b/src/fsharp/FSharp.Compiler.Private/pars.fs
@@ -0,0 +1,16360 @@
+// Implementation file for parser generated by fsyacc
+module internal FSharp.Compiler.Parser
+#nowarn "64";; // turn off warnings that type variables used in production annotations are instantiated to concrete type
+open FSharp.Compiler
+open Internal.Utilities.Text.Lexing
+open Internal.Utilities.Text.Parsing.ParseHelpers
+# 3 "../pars.fsy"
+
+
+#nowarn "1182" // generated code has lots of unused "parseState"
+
+open Internal.Utilities
+
+open FSharp.Compiler.AbstractIL
+open FSharp.Compiler.AbstractIL.Internal
+open FSharp.Compiler.AbstractIL.Internal.Library
+open FSharp.Compiler
+open Internal.Utilities.Text.Parsing
+
+open System
+open FSharp.Compiler.Range
+open FSharp.Compiler.Ast
+open FSharp.Compiler.Lib
+open FSharp.Compiler.PrettyNaming
+open FSharp.Compiler.ErrorLogger
+open FSharp.Compiler.Features
+
+#if DEBUG
+let debugPrint(s) =
+ if Internal.Utilities.Text.Parsing.Flags.debug then
+ printfn "\n%s" s
+#else
+let debugPrint(s) = ignore s
+#endif
+
+let exprFromParseError (e:SynExpr) = SynExpr.FromParseError (e,e.Range)
+let patFromParseError (e:SynPat) = SynPat.FromParseError(e, e.Range)
+
+let mkSynOptionalExpr (m: range) xopt =
+ let m = m.MakeSynthetic()
+ match xopt with
+ | None -> mkSynLidGet m Ast.FSharpLib.CorePath "None"
+ | Some x -> SynExpr.App (ExprAtomicFlag.NonAtomic, false, mkSynLidGet m Ast.FSharpLib.CorePath "Some",x,m)
+
+// record bindings returned by the recdExprBindings rule has shape:
+// (binding, separator-before-this-binding)
+// this function converts arguments from form
+// binding1 (binding2*sep1, binding3*sep2...) sepN
+// to form
+// binding1*sep1, binding2*sep2
+let rebindRanges first fields lastSep =
+ let rec run (name, value) l acc =
+ match l with
+ | [] -> List.rev ((name, value, lastSep) :: acc)
+ | (f, m) :: xs -> run f xs ((name, value, m) :: acc)
+ run first fields []
+
+let mkUnderscoreRecdField m = LongIdentWithDots([ident("_", m)], []), false
+let mkRecdField lidwd = lidwd, true
+
+let mkSynDoBinding (vis,strict,expr,m) =
+ match vis with
+ | Some vis -> errorR(Error(FSComp.SR.parsDoCannotHaveVisibilityDeclarations (vis.ToString()),m))
+ | None -> ()
+ Binding (None,
+ (if strict then DoBinding else StandaloneExpression),
+ false,false,[],PreXmlDoc.Empty,SynInfo.emptySynValData,
+ (if strict then SynPat.Const(SynConst.Unit,m) else SynPat.Wild m),
+ None,expr,m,NoSequencePointAtDoBinding)
+
+let mkSynDoDecl (e: SynExpr) =
+ let spExpr = if IsControlFlowExpression e then NoSequencePointAtDoBinding else SequencePointAtBinding e.Range in
+ SynModuleDecl.DoExpr(spExpr, e, e.Range)
+
+let addAttribs attrs p = SynPat.Attrib(p,attrs,p.Range)
+
+
+// This function is called by the generated parser code. Returning initiates error recovery
+// It must be called precisely "parse_error_rich"
+let parse_error_rich = Some (fun (ctxt: ParseErrorContext<_>) ->
+ errorR(SyntaxError(box ctxt, ctxt.ParseState.LexBuffer.LexemeRange)))
+
+let reportParseErrorAt m s = errorR(Error(s,m))
+
+let unionRangeWithPos (r:range) p =
+ let r2 = mkRange r.FileName p p
+ unionRanges r r2
+
+let raiseParseErrorAt m s =
+ reportParseErrorAt m s;
+ // This initiates error recovery
+ raise RecoverableParseError
+
+let checkEndOfFileError t =
+ match t with
+ | LexCont.IfDefSkip(_,_,m) -> reportParseErrorAt m (FSComp.SR.parsEofInHashIf())
+ | LexCont.String (_,m) -> reportParseErrorAt m (FSComp.SR.parsEofInString())
+ | LexCont.TripleQuoteString (_,m) -> reportParseErrorAt m (FSComp.SR.parsEofInTripleQuoteString())
+ | LexCont.VerbatimString (_,m) -> reportParseErrorAt m (FSComp.SR.parsEofInVerbatimString())
+ | LexCont.Comment (_,_,m) -> reportParseErrorAt m (FSComp.SR.parsEofInComment())
+ | LexCont.SingleLineComment (_,_,m) -> reportParseErrorAt m (FSComp.SR.parsEofInComment())
+ | LexCont.StringInComment (_,_,m) -> reportParseErrorAt m (FSComp.SR.parsEofInStringInComment())
+ | LexCont.VerbatimStringInComment (_,_,m) -> reportParseErrorAt m (FSComp.SR.parsEofInVerbatimStringInComment())
+ | LexCont.TripleQuoteStringInComment (_,_,m) -> reportParseErrorAt m (FSComp.SR.parsEofInTripleQuoteStringInComment())
+ | LexCont.MLOnly (_,m) -> reportParseErrorAt m (FSComp.SR.parsEofInIfOcaml())
+ | LexCont.EndLine(LexerEndlineContinuation.Skip(_,_,m)) -> reportParseErrorAt m (FSComp.SR.parsEofInDirective())
+ | LexCont.EndLine(LexerEndlineContinuation.Token(stack))
+ | LexCont.Token(stack) ->
+ match stack with
+ | [] -> ()
+ | (_,m) :: _ -> reportParseErrorAt m (FSComp.SR.parsNoHashEndIfFound())
+
+// BindingSetPreAttrs(letRange, isRec, isUse, builderFunction, wholeRange)
+type BindingSet = BindingSetPreAttrs of range * bool * bool * (SynAttributes -> SynAccess option -> SynAttributes * SynBinding list) * range
+
+let mkClassMemberLocalBindings(isStatic,initialRangeOpt,attrs,vis,BindingSetPreAttrs(_,isRec,isUse,declsPreAttrs,bindingSetRange)) =
+ let ignoredFreeAttrs,decls = declsPreAttrs attrs vis
+ let wholeRange =
+ match initialRangeOpt with
+ | None -> bindingSetRange
+ | Some m -> unionRanges m bindingSetRange
+ if not (isNil ignoredFreeAttrs) then warning(Error(FSComp.SR.parsAttributesIgnored(),wholeRange));
+ if isUse then errorR(Error(FSComp.SR.parsUseBindingsIllegalInImplicitClassConstructors(),wholeRange))
+ SynMemberDefn.LetBindings (decls,isStatic,isRec,wholeRange)
+
+let mkLocalBindings (mWhole,BindingSetPreAttrs(_,isRec,isUse,declsPreAttrs,_),body) =
+ let ignoredFreeAttrs,decls = declsPreAttrs [] None
+ if not (isNil ignoredFreeAttrs) then warning(Error(FSComp.SR.parsAttributesIgnored(),mWhole))
+ SynExpr.LetOrUse (isRec,isUse,decls,body,mWhole)
+
+let mkDefnBindings (mWhole,BindingSetPreAttrs(_,isRec,isUse,declsPreAttrs,_bindingSetRange),attrs,vis,attrsm) =
+ if isUse then warning(Error(FSComp.SR.parsUseBindingsIllegalInModules(),mWhole))
+ let freeAttrs,decls = declsPreAttrs attrs vis
+ let letDecls = [ SynModuleDecl.Let (isRec,decls,mWhole) ]
+ let attrDecls = if not (isNil freeAttrs) then [ SynModuleDecl.Attributes (freeAttrs,attrsm) ] else []
+ attrDecls @ letDecls
+
+let idOfPat (parseState:IParseState) m p =
+ match p with
+ | SynPat.Wild r when parseState.LexBuffer.SupportsFeature LanguageFeature.WildCardInForLoop ->
+ mkSynId r "_"
+ | SynPat.Named (SynPat.Wild _,id,false,_,_) -> id
+ | SynPat.LongIdent(LongIdentWithDots([id],_),_,None, SynConstructorArgs.Pats [], None,_) -> id
+ | _ -> raiseParseErrorAt m (FSComp.SR.parsIntegerForLoopRequiresSimpleIdentifier())
+
+let checkForMultipleAugmentations m a1 a2 =
+ if not (isNil a1) && not (isNil a2) then raiseParseErrorAt m (FSComp.SR.parsOnlyOneWithAugmentationAllowed())
+ a1 @ a2
+
+let grabXmlDoc(parseState:IParseState,elemIdx) =
+ LexbufLocalXmlDocStore.GrabXmlDocBeforeMarker(parseState.LexBuffer,rhs parseState elemIdx)
+
+let unionRangeWithListBy projectRangeFromThing m listOfThing =
+ (m, listOfThing) ||> List.fold (fun m thing -> unionRanges m (projectRangeFromThing thing))
+
+let rangeOfNonNilAttrs(attrs:SynAttributes) =
+ (attrs.Head.Range,attrs.Tail) ||> unionRangeWithListBy (fun a -> a.Range)
+
+let rangeOfLongIdent(lid:LongIdent) =
+ System.Diagnostics.Debug.Assert(not lid.IsEmpty, "the parser should never produce a long-id that is the empty list")
+ (lid.Head.idRange,lid) ||> unionRangeWithListBy (fun id -> id.idRange)
+
+
+# 164 "pars.fs"
+// This type is the type of tokens accepted by the parser
+type token =
+ | HASH_IF of (range * string * Ast.LexerWhitespaceContinuation)
+ | HASH_ELSE of (range * string * Ast.LexerWhitespaceContinuation)
+ | HASH_ENDIF of (range * string * Ast.LexerWhitespaceContinuation)
+ | COMMENT of (Ast.LexerWhitespaceContinuation)
+ | WHITESPACE of (Ast.LexerWhitespaceContinuation)
+ | HASH_LINE of (Ast.LexerWhitespaceContinuation)
+ | HASH_LIGHT of (Ast.LexerWhitespaceContinuation)
+ | INACTIVECODE of (Ast.LexerWhitespaceContinuation)
+ | LINE_COMMENT of (Ast.LexerWhitespaceContinuation)
+ | STRING_TEXT of (Ast.LexerWhitespaceContinuation)
+ | EOF of (Ast.LexerWhitespaceContinuation)
+ | LEX_FAILURE of (string)
+ | ODUMMY of (token)
+ | FIXED
+ | OINTERFACE_MEMBER
+ | OBLOCKEND
+ | OBLOCKEND_COMING_SOON
+ | OBLOCKEND_IS_HERE
+ | ORIGHT_BLOCK_END
+ | ODECLEND
+ | OEND
+ | OBLOCKSEP
+ | OBLOCKBEGIN
+ | ORESET
+ | OFUN
+ | OFUNCTION
+ | OWITH
+ | OELSE
+ | OTHEN
+ | ODO_BANG
+ | ODO
+ | OBINDER of (string)
+ | OLET of (bool)
+ | HIGH_PRECEDENCE_TYAPP
+ | HIGH_PRECEDENCE_PAREN_APP
+ | HIGH_PRECEDENCE_BRACK_APP
+ | TYPE_COMING_SOON
+ | TYPE_IS_HERE
+ | MODULE_COMING_SOON
+ | MODULE_IS_HERE
+ | EXTERN
+ | VOID
+ | PUBLIC
+ | PRIVATE
+ | INTERNAL
+ | GLOBAL
+ | STATIC
+ | MEMBER
+ | CLASS
+ | ABSTRACT
+ | OVERRIDE
+ | DEFAULT
+ | CONSTRUCTOR
+ | INHERIT
+ | GREATER_RBRACK
+ | STRUCT
+ | SIG
+ | BAR
+ | RBRACK
+ | RBRACE
+ | RBRACE_COMING_SOON
+ | RBRACE_IS_HERE
+ | MINUS
+ | DOLLAR
+ | BAR_RBRACK
+ | BAR_RBRACE
+ | UNDERSCORE
+ | SEMICOLON_SEMICOLON
+ | LARROW
+ | EQUALS
+ | LBRACK
+ | LBRACK_BAR
+ | LBRACE_BAR
+ | LBRACK_LESS
+ | LBRACE
+ | QMARK
+ | QMARK_QMARK
+ | DOT
+ | COLON
+ | COLON_COLON
+ | COLON_GREATER
+ | COLON_QMARK_GREATER
+ | COLON_QMARK
+ | COLON_EQUALS
+ | SEMICOLON
+ | WHEN
+ | WHILE
+ | WITH
+ | HASH
+ | AMP
+ | AMP_AMP
+ | QUOTE
+ | LPAREN
+ | RPAREN
+ | RPAREN_COMING_SOON
+ | RPAREN_IS_HERE
+ | STAR
+ | COMMA
+ | RARROW
+ | GREATER_BAR_RBRACK
+ | LPAREN_STAR_RPAREN
+ | OPEN
+ | OR
+ | REC
+ | THEN
+ | TO
+ | TRUE
+ | TRY
+ | TYPE
+ | VAL
+ | INLINE
+ | INTERFACE
+ | INSTANCE
+ | CONST
+ | LAZY
+ | OLAZY
+ | MATCH
+ | MATCH_BANG
+ | MUTABLE
+ | NEW
+ | OF
+ | EXCEPTION
+ | FALSE
+ | FOR
+ | FUN
+ | FUNCTION
+ | IF
+ | IN
+ | JOIN_IN
+ | FINALLY
+ | DO_BANG
+ | AND
+ | AS
+ | ASSERT
+ | OASSERT
+ | ASR
+ | BEGIN
+ | DO
+ | DONE
+ | DOWNTO
+ | ELSE
+ | ELIF
+ | END
+ | DOT_DOT
+ | DOT_DOT_HAT
+ | BAR_BAR
+ | UPCAST
+ | DOWNCAST
+ | NULL
+ | RESERVED
+ | MODULE
+ | NAMESPACE
+ | DELEGATE
+ | CONSTRAINT
+ | BASE
+ | LQUOTE of (string * bool)
+ | RQUOTE of (string * bool)
+ | RQUOTE_DOT of (string * bool)
+ | PERCENT_OP of (string)
+ | BINDER of (string)
+ | LESS of (bool)
+ | GREATER of (bool)
+ | LET of (bool)
+ | YIELD of (bool)
+ | YIELD_BANG of (bool)
+ | BIGNUM of ((string * string))
+ | DECIMAL of (System.Decimal)
+ | CHAR of (char)
+ | IEEE64 of (double)
+ | IEEE32 of (single)
+ | NATIVEINT of (int64)
+ | UNATIVEINT of (uint64)
+ | UINT64 of (uint64)
+ | UINT32 of (uint32)
+ | UINT16 of (uint16)
+ | UINT8 of (byte)
+ | INT64 of (int64 * bool)
+ | INT32 of (int32 * bool)
+ | INT32_DOT_DOT of (int32 * bool)
+ | INT16 of (int16 * bool)
+ | INT8 of (sbyte * bool)
+ | FUNKY_OPERATOR_NAME of (string)
+ | ADJACENT_PREFIX_OP of (string)
+ | PLUS_MINUS_OP of (string)
+ | INFIX_AMP_OP of (string)
+ | INFIX_STAR_DIV_MOD_OP of (string)
+ | PREFIX_OP of (string)
+ | INFIX_BAR_OP of (string)
+ | INFIX_AT_HAT_OP of (string)
+ | INFIX_COMPARE_OP of (string)
+ | INFIX_STAR_STAR_OP of (string)
+ | IDENT of (string)
+ | KEYWORD_STRING of (string)
+ | STRING of (string)
+ | BYTEARRAY of (byte[])
+// This type is used to give symbolic names to token indexes, useful for error messages
+type tokenId =
+ | TOKEN_HASH_IF
+ | TOKEN_HASH_ELSE
+ | TOKEN_HASH_ENDIF
+ | TOKEN_COMMENT
+ | TOKEN_WHITESPACE
+ | TOKEN_HASH_LINE
+ | TOKEN_HASH_LIGHT
+ | TOKEN_INACTIVECODE
+ | TOKEN_LINE_COMMENT
+ | TOKEN_STRING_TEXT
+ | TOKEN_EOF
+ | TOKEN_LEX_FAILURE
+ | TOKEN_ODUMMY
+ | TOKEN_FIXED
+ | TOKEN_OINTERFACE_MEMBER
+ | TOKEN_OBLOCKEND
+ | TOKEN_OBLOCKEND_COMING_SOON
+ | TOKEN_OBLOCKEND_IS_HERE
+ | TOKEN_ORIGHT_BLOCK_END
+ | TOKEN_ODECLEND
+ | TOKEN_OEND
+ | TOKEN_OBLOCKSEP
+ | TOKEN_OBLOCKBEGIN
+ | TOKEN_ORESET
+ | TOKEN_OFUN
+ | TOKEN_OFUNCTION
+ | TOKEN_OWITH
+ | TOKEN_OELSE
+ | TOKEN_OTHEN
+ | TOKEN_ODO_BANG
+ | TOKEN_ODO
+ | TOKEN_OBINDER
+ | TOKEN_OLET
+ | TOKEN_HIGH_PRECEDENCE_TYAPP
+ | TOKEN_HIGH_PRECEDENCE_PAREN_APP
+ | TOKEN_HIGH_PRECEDENCE_BRACK_APP
+ | TOKEN_TYPE_COMING_SOON
+ | TOKEN_TYPE_IS_HERE
+ | TOKEN_MODULE_COMING_SOON
+ | TOKEN_MODULE_IS_HERE
+ | TOKEN_EXTERN
+ | TOKEN_VOID
+ | TOKEN_PUBLIC
+ | TOKEN_PRIVATE
+ | TOKEN_INTERNAL
+ | TOKEN_GLOBAL
+ | TOKEN_STATIC
+ | TOKEN_MEMBER
+ | TOKEN_CLASS
+ | TOKEN_ABSTRACT
+ | TOKEN_OVERRIDE
+ | TOKEN_DEFAULT
+ | TOKEN_CONSTRUCTOR
+ | TOKEN_INHERIT
+ | TOKEN_GREATER_RBRACK
+ | TOKEN_STRUCT
+ | TOKEN_SIG
+ | TOKEN_BAR
+ | TOKEN_RBRACK
+ | TOKEN_RBRACE
+ | TOKEN_RBRACE_COMING_SOON
+ | TOKEN_RBRACE_IS_HERE
+ | TOKEN_MINUS
+ | TOKEN_DOLLAR
+ | TOKEN_BAR_RBRACK
+ | TOKEN_BAR_RBRACE
+ | TOKEN_UNDERSCORE
+ | TOKEN_SEMICOLON_SEMICOLON
+ | TOKEN_LARROW
+ | TOKEN_EQUALS
+ | TOKEN_LBRACK
+ | TOKEN_LBRACK_BAR
+ | TOKEN_LBRACE_BAR
+ | TOKEN_LBRACK_LESS
+ | TOKEN_LBRACE
+ | TOKEN_QMARK
+ | TOKEN_QMARK_QMARK
+ | TOKEN_DOT
+ | TOKEN_COLON
+ | TOKEN_COLON_COLON
+ | TOKEN_COLON_GREATER
+ | TOKEN_COLON_QMARK_GREATER
+ | TOKEN_COLON_QMARK
+ | TOKEN_COLON_EQUALS
+ | TOKEN_SEMICOLON
+ | TOKEN_WHEN
+ | TOKEN_WHILE
+ | TOKEN_WITH
+ | TOKEN_HASH
+ | TOKEN_AMP
+ | TOKEN_AMP_AMP
+ | TOKEN_QUOTE
+ | TOKEN_LPAREN
+ | TOKEN_RPAREN
+ | TOKEN_RPAREN_COMING_SOON
+ | TOKEN_RPAREN_IS_HERE
+ | TOKEN_STAR
+ | TOKEN_COMMA
+ | TOKEN_RARROW
+ | TOKEN_GREATER_BAR_RBRACK
+ | TOKEN_LPAREN_STAR_RPAREN
+ | TOKEN_OPEN
+ | TOKEN_OR
+ | TOKEN_REC
+ | TOKEN_THEN
+ | TOKEN_TO
+ | TOKEN_TRUE
+ | TOKEN_TRY
+ | TOKEN_TYPE
+ | TOKEN_VAL
+ | TOKEN_INLINE
+ | TOKEN_INTERFACE
+ | TOKEN_INSTANCE
+ | TOKEN_CONST
+ | TOKEN_LAZY
+ | TOKEN_OLAZY
+ | TOKEN_MATCH
+ | TOKEN_MATCH_BANG
+ | TOKEN_MUTABLE
+ | TOKEN_NEW
+ | TOKEN_OF
+ | TOKEN_EXCEPTION
+ | TOKEN_FALSE
+ | TOKEN_FOR
+ | TOKEN_FUN
+ | TOKEN_FUNCTION
+ | TOKEN_IF
+ | TOKEN_IN
+ | TOKEN_JOIN_IN
+ | TOKEN_FINALLY
+ | TOKEN_DO_BANG
+ | TOKEN_AND
+ | TOKEN_AS
+ | TOKEN_ASSERT
+ | TOKEN_OASSERT
+ | TOKEN_ASR
+ | TOKEN_BEGIN
+ | TOKEN_DO
+ | TOKEN_DONE
+ | TOKEN_DOWNTO
+ | TOKEN_ELSE
+ | TOKEN_ELIF
+ | TOKEN_END
+ | TOKEN_DOT_DOT
+ | TOKEN_DOT_DOT_HAT
+ | TOKEN_BAR_BAR
+ | TOKEN_UPCAST
+ | TOKEN_DOWNCAST
+ | TOKEN_NULL
+ | TOKEN_RESERVED
+ | TOKEN_MODULE
+ | TOKEN_NAMESPACE
+ | TOKEN_DELEGATE
+ | TOKEN_CONSTRAINT
+ | TOKEN_BASE
+ | TOKEN_LQUOTE
+ | TOKEN_RQUOTE
+ | TOKEN_RQUOTE_DOT
+ | TOKEN_PERCENT_OP
+ | TOKEN_BINDER
+ | TOKEN_LESS
+ | TOKEN_GREATER
+ | TOKEN_LET
+ | TOKEN_YIELD
+ | TOKEN_YIELD_BANG
+ | TOKEN_BIGNUM
+ | TOKEN_DECIMAL
+ | TOKEN_CHAR
+ | TOKEN_IEEE64
+ | TOKEN_IEEE32
+ | TOKEN_NATIVEINT
+ | TOKEN_UNATIVEINT
+ | TOKEN_UINT64
+ | TOKEN_UINT32
+ | TOKEN_UINT16
+ | TOKEN_UINT8
+ | TOKEN_INT64
+ | TOKEN_INT32
+ | TOKEN_INT32_DOT_DOT
+ | TOKEN_INT16
+ | TOKEN_INT8
+ | TOKEN_FUNKY_OPERATOR_NAME
+ | TOKEN_ADJACENT_PREFIX_OP
+ | TOKEN_PLUS_MINUS_OP
+ | TOKEN_INFIX_AMP_OP
+ | TOKEN_INFIX_STAR_DIV_MOD_OP
+ | TOKEN_PREFIX_OP
+ | TOKEN_INFIX_BAR_OP
+ | TOKEN_INFIX_AT_HAT_OP
+ | TOKEN_INFIX_COMPARE_OP
+ | TOKEN_INFIX_STAR_STAR_OP
+ | TOKEN_IDENT
+ | TOKEN_KEYWORD_STRING
+ | TOKEN_STRING
+ | TOKEN_BYTEARRAY
+ | TOKEN_end_of_input
+ | TOKEN_error
+// This type is used to give symbolic names to token indexes, useful for error messages
+type nonTerminalId =
+ | NONTERM__startsignatureFile
+ | NONTERM__startimplementationFile
+ | NONTERM__startinteraction
+ | NONTERM__starttypedSeqExprEOF
+ | NONTERM__starttypEOF
+ | NONTERM_interaction
+ | NONTERM_interactiveTerminator
+ | NONTERM_interactiveItemsTerminator
+ | NONTERM_interactiveDefns
+ | NONTERM_interactiveExpr
+ | NONTERM_interactiveHash
+ | NONTERM_interactiveSeparators
+ | NONTERM_interactiveSeparator
+ | NONTERM_hashDirective
+ | NONTERM_hashDirectiveArgs
+ | NONTERM_hashDirectiveArg
+ | NONTERM_signatureFile
+ | NONTERM_moduleIntro
+ | NONTERM_namespaceIntro
+ | NONTERM_fileNamespaceSpecs
+ | NONTERM_fileNamespaceSpecList
+ | NONTERM_fileNamespaceSpec
+ | NONTERM_fileModuleSpec
+ | NONTERM_moduleSpfnsPossiblyEmptyBlock
+ | NONTERM_moduleSpfnsPossiblyEmpty
+ | NONTERM_moduleSpfns
+ | NONTERM_moduleSpfn
+ | NONTERM_valSpfn
+ | NONTERM_optLiteralValueSpfn
+ | NONTERM_moduleSpecBlock
+ | NONTERM_tyconSpfns
+ | NONTERM_tyconSpfnList
+ | NONTERM_tyconSpfn
+ | NONTERM_tyconSpfnRhsBlock
+ | NONTERM_tyconSpfnRhs
+ | NONTERM_tyconClassSpfn
+ | NONTERM_classSpfnBlockKindUnspecified
+ | NONTERM_classSpfnBlock
+ | NONTERM_classSpfnMembers
+ | NONTERM_classSpfnMembersAtLeastOne
+ | NONTERM_classMemberSpfn
+ | NONTERM_classMemberSpfnGetSet
+ | NONTERM_classMemberSpfnGetSetElements
+ | NONTERM_memberSpecFlags
+ | NONTERM_exconSpfn
+ | NONTERM_opt_classSpfn
+ | NONTERM_implementationFile
+ | NONTERM_fileNamespaceImpls
+ | NONTERM_fileNamespaceImplList
+ | NONTERM_fileNamespaceImpl
+ | NONTERM_fileModuleImpl
+ | NONTERM_moduleDefnsOrExprPossiblyEmptyOrBlock
+ | NONTERM_moduleDefnsOrExprPossiblyEmpty
+ | NONTERM_moduleDefnsOrExpr
+ | NONTERM_moduleDefns
+ | NONTERM_moduleDefnOrDirective
+ | NONTERM_moduleDefn
+ | NONTERM_namedModuleAbbrevBlock
+ | NONTERM_namedModuleDefnBlock
+ | NONTERM_wrappedNamedModuleDefn
+ | NONTERM_tyconDefnAugmentation
+ | NONTERM_opt_attributes
+ | NONTERM_attributes
+ | NONTERM_attributeList
+ | NONTERM_attributeListElements
+ | NONTERM_attribute
+ | NONTERM_attributeTarget
+ | NONTERM_memberFlags
+ | NONTERM_typeNameInfo
+ | NONTERM_tyconDefnList
+ | NONTERM_tyconDefn
+ | NONTERM_tyconDefnRhsBlock
+ | NONTERM_tyconDefnRhs
+ | NONTERM_tyconClassDefn
+ | NONTERM_classDefnBlockKindUnspecified
+ | NONTERM_classDefnBlock
+ | NONTERM_classDefnMembers
+ | NONTERM_classDefnMembersAtLeastOne
+ | NONTERM_classDefnMemberGetSet
+ | NONTERM_classDefnMemberGetSetElements
+ | NONTERM_classDefnMemberGetSetElement
+ | NONTERM_memberCore
+ | NONTERM_abstractMemberFlags
+ | NONTERM_classDefnMember
+ | NONTERM_valDefnDecl
+ | NONTERM_autoPropsDefnDecl
+ | NONTERM_opt_typ
+ | NONTERM_atomicPatternLongIdent
+ | NONTERM_opt_access
+ | NONTERM_access
+ | NONTERM_opt_declVisibility
+ | NONTERM_opt_interfaceImplDefn
+ | NONTERM_opt_classDefn
+ | NONTERM_inheritsDefn
+ | NONTERM_optAsSpec
+ | NONTERM_asSpec
+ | NONTERM_optBaseSpec
+ | NONTERM_baseSpec
+ | NONTERM_objectImplementationBlock
+ | NONTERM_objectImplementationMembers
+ | NONTERM_objectImplementationMember
+ | NONTERM_memberOrOverride
+ | NONTERM_tyconDefnOrSpfnSimpleRepr
+ | NONTERM_braceFieldDeclList
+ | NONTERM_anonRecdType
+ | NONTERM_braceBarFieldDeclListCore
+ | NONTERM_inlineAssemblyTyconRepr
+ | NONTERM_classOrInterfaceOrStruct
+ | NONTERM_interfaceMember
+ | NONTERM_tyconNameAndTyparDecls
+ | NONTERM_prefixTyparDecls
+ | NONTERM_typarDeclList
+ | NONTERM_typarDecl
+ | NONTERM_postfixTyparDecls
+ | NONTERM_explicitValTyparDeclsCore
+ | NONTERM_explicitValTyparDecls
+ | NONTERM_opt_explicitValTyparDecls
+ | NONTERM_opt_explicitValTyparDecls2
+ | NONTERM_opt_typeConstraints
+ | NONTERM_typeConstraints
+ | NONTERM_typeConstraint
+ | NONTERM_typarAlts
+ | NONTERM_unionTypeRepr
+ | NONTERM_barAndgrabXmlDoc
+ | NONTERM_attrUnionCaseDecls
+ | NONTERM_attrUnionCaseDecl
+ | NONTERM_unionCaseName
+ | NONTERM_firstUnionCaseDeclOfMany
+ | NONTERM_firstUnionCaseDecl
+ | NONTERM_unionCaseReprElements
+ | NONTERM_unionCaseReprElement
+ | NONTERM_unionCaseRepr
+ | NONTERM_recdFieldDeclList
+ | NONTERM_recdFieldDecl
+ | NONTERM_fieldDecl
+ | NONTERM_exconDefn
+ | NONTERM_exceptionAndGrabDoc
+ | NONTERM_exconCore
+ | NONTERM_exconIntro
+ | NONTERM_exconRepr
+ | NONTERM_openDecl
+ | NONTERM_defnBindings
+ | NONTERM_doBinding
+ | NONTERM_hardwhiteLetBindings
+ | NONTERM_hardwhiteDoBinding
+ | NONTERM_classDefnBindings
+ | NONTERM_hardwhiteDefnBindingsTerminator
+ | NONTERM_cPrototype
+ | NONTERM_cArgs
+ | NONTERM_cMoreArgs
+ | NONTERM_cArg
+ | NONTERM_cType
+ | NONTERM_cRetType
+ | NONTERM_localBindings
+ | NONTERM_moreLocalBindings
+ | NONTERM_attr_localBinding
+ | NONTERM_localBinding
+ | NONTERM_typedExprWithStaticOptimizationsBlock
+ | NONTERM_typedExprWithStaticOptimizations
+ | NONTERM_opt_staticOptimizations
+ | NONTERM_staticOptimization
+ | NONTERM_staticOptimizationConditions
+ | NONTERM_staticOptimizationCondition
+ | NONTERM_rawConstant
+ | NONTERM_rationalConstant
+ | NONTERM_atomicUnsignedRationalConstant
+ | NONTERM_atomicRationalConstant
+ | NONTERM_constant
+ | NONTERM_bindingPattern
+ | NONTERM_simplePattern
+ | NONTERM_simplePatternCommaList
+ | NONTERM_simplePatterns
+ | NONTERM_headBindingPattern
+ | NONTERM_tuplePatternElements
+ | NONTERM_conjPatternElements
+ | NONTERM_namePatPairs
+ | NONTERM_namePatPair
+ | NONTERM_constrPattern
+ | NONTERM_atomicPatsOrNamePatPairs
+ | NONTERM_atomicPatterns
+ | NONTERM_atomicPattern
+ | NONTERM_parenPatternBody
+ | NONTERM_parenPattern
+ | NONTERM_tupleParenPatternElements
+ | NONTERM_conjParenPatternElements
+ | NONTERM_recordPatternElementsAux
+ | NONTERM_recordPatternElement
+ | NONTERM_listPatternElements
+ | NONTERM_typedSeqExprBlock
+ | NONTERM_declExprBlock
+ | NONTERM_typedSeqExprBlockR
+ | NONTERM_typedSeqExpr
+ | NONTERM_typedSeqExprEOF
+ | NONTERM_seqExpr
+ | NONTERM_recover
+ | NONTERM_declExpr
+ | NONTERM_dynamicArg
+ | NONTERM_withClauses
+ | NONTERM_withPatternClauses
+ | NONTERM_patternAndGuard
+ | NONTERM_patternClauses
+ | NONTERM_patternGuard
+ | NONTERM_patternResult
+ | NONTERM_ifExprCases
+ | NONTERM_ifExprThen
+ | NONTERM_ifExprElifs
+ | NONTERM_tupleExpr
+ | NONTERM_minusExpr
+ | NONTERM_appExpr
+ | NONTERM_argExpr
+ | NONTERM_atomicExpr
+ | NONTERM_atomicExprQualification
+ | NONTERM_optRangeSeqExpr
+ | NONTERM_optRange
+ | NONTERM_rangeDeclExpr
+ | NONTERM_atomicExprAfterType
+ | NONTERM_beginEndExpr
+ | NONTERM_quoteExpr
+ | NONTERM_arrayExpr
+ | NONTERM_parenExpr
+ | NONTERM_parenExprBody
+ | NONTERM_staticallyKnownHeadTypars
+ | NONTERM_staticallyKnownHeadTyparAlts
+ | NONTERM_braceExpr
+ | NONTERM_braceExprBody
+ | NONTERM_listExprElements
+ | NONTERM_monadicExprInitial
+ | NONTERM_rangeSequenceExpr
+ | NONTERM_arrowThenExprR
+ | NONTERM_forLoopBinder
+ | NONTERM_forLoopRange
+ | NONTERM_forLoopDirection
+ | NONTERM_inlineAssemblyExpr
+ | NONTERM_opt_curriedArgExprs
+ | NONTERM_opt_atomicExprAfterType
+ | NONTERM_opt_inlineAssemblyTypeArg
+ | NONTERM_opt_inlineAssemblyReturnTypes
+ | NONTERM_recdExpr
+ | NONTERM_recdExprCore
+ | NONTERM_opt_seps_recd
+ | NONTERM_seps_recd
+ | NONTERM_pathOrUnderscore
+ | NONTERM_recdExprBindings
+ | NONTERM_recdBinding
+ | NONTERM_objExpr
+ | NONTERM_objExprBaseCall
+ | NONTERM_opt_objExprBindings
+ | NONTERM_objExprBindings
+ | NONTERM_objExprInterfaces
+ | NONTERM_opt_objExprInterfaces
+ | NONTERM_objExprInterface
+ | NONTERM_braceBarExpr
+ | NONTERM_braceBarExprCore
+ | NONTERM_anonLambdaExpr
+ | NONTERM_anonMatchingExpr
+ | NONTERM_typeWithTypeConstraints
+ | NONTERM_topTypeWithTypeConstraints
+ | NONTERM_opt_topReturnTypeWithTypeConstraints
+ | NONTERM_topType
+ | NONTERM_topTupleType
+ | NONTERM_topTupleTypeElements
+ | NONTERM_topAppType
+ | NONTERM_typ
+ | NONTERM_typEOF
+ | NONTERM_tupleType
+ | NONTERM_tupleOrQuotTypeElements
+ | NONTERM_appTypeCon
+ | NONTERM_appTypeConPower
+ | NONTERM_appType
+ | NONTERM_arrayTypeSuffix
+ | NONTERM_appTypePrefixArguments
+ | NONTERM_typeArgListElements
+ | NONTERM_powerType
+ | NONTERM_atomTypeNonAtomicDeprecated
+ | NONTERM_atomTypeOrAnonRecdType
+ | NONTERM_atomType
+ | NONTERM_typeArgsNoHpaDeprecated
+ | NONTERM_typeArgsActual
+ | NONTERM_typeArgActual
+ | NONTERM_typeArgActualOrDummyIfEmpty
+ | NONTERM_dummyTypeArg
+ | NONTERM_measureTypeArg
+ | NONTERM_measureTypeAtom
+ | NONTERM_measureTypePower
+ | NONTERM_measureTypeSeq
+ | NONTERM_measureTypeExpr
+ | NONTERM_typar
+ | NONTERM_staticallyKnownHeadTypar
+ | NONTERM_ident
+ | NONTERM_path
+ | NONTERM_opName
+ | NONTERM_operatorName
+ | NONTERM_activePatternCaseName
+ | NONTERM_activePatternCaseNames
+ | NONTERM_identOrOp
+ | NONTERM_pathOp
+ | NONTERM_nameop
+ | NONTERM_topSeparator
+ | NONTERM_topSeparators
+ | NONTERM_opt_topSeparators
+ | NONTERM_seps
+ | NONTERM_declEnd
+ | NONTERM_opt_declEnd
+ | NONTERM_opt_ODECLEND
+ | NONTERM_deprecated_opt_equals
+ | NONTERM_opt_OBLOCKSEP
+ | NONTERM_opt_seps
+ | NONTERM_opt_rec
+ | NONTERM_opt_bar
+ | NONTERM_opt_inline
+ | NONTERM_opt_mutable
+ | NONTERM_doToken
+ | NONTERM_doneDeclEnd
+ | NONTERM_structOrBegin
+ | NONTERM_sigOrBegin
+ | NONTERM_colonOrEquals
+ | NONTERM_stringOrKeywordString
+ | NONTERM_opt_HIGH_PRECEDENCE_APP
+ | NONTERM_opt_HIGH_PRECEDENCE_TYAPP
+ | NONTERM_typeKeyword
+ | NONTERM_moduleKeyword
+ | NONTERM_rbrace
+ | NONTERM_bar_rbrace
+ | NONTERM_rparen
+ | NONTERM_oblockend
+ | NONTERM_ends_other_than_rparen_coming_soon_or_recover
+ | NONTERM_ends_coming_soon_or_recover
+
+// This function maps tokens to integer indexes
+let tagOfToken (t:token) =
+ match t with
+ | HASH_IF _ -> 0
+ | HASH_ELSE _ -> 1
+ | HASH_ENDIF _ -> 2
+ | COMMENT _ -> 3
+ | WHITESPACE _ -> 4
+ | HASH_LINE _ -> 5
+ | HASH_LIGHT _ -> 6
+ | INACTIVECODE _ -> 7
+ | LINE_COMMENT _ -> 8
+ | STRING_TEXT _ -> 9
+ | EOF _ -> 10
+ | LEX_FAILURE _ -> 11
+ | ODUMMY _ -> 12
+ | FIXED -> 13
+ | OINTERFACE_MEMBER -> 14
+ | OBLOCKEND -> 15
+ | OBLOCKEND_COMING_SOON -> 16
+ | OBLOCKEND_IS_HERE -> 17
+ | ORIGHT_BLOCK_END -> 18
+ | ODECLEND -> 19
+ | OEND -> 20
+ | OBLOCKSEP -> 21
+ | OBLOCKBEGIN -> 22
+ | ORESET -> 23
+ | OFUN -> 24
+ | OFUNCTION -> 25
+ | OWITH -> 26
+ | OELSE -> 27
+ | OTHEN -> 28
+ | ODO_BANG -> 29
+ | ODO -> 30
+ | OBINDER _ -> 31
+ | OLET _ -> 32
+ | HIGH_PRECEDENCE_TYAPP -> 33
+ | HIGH_PRECEDENCE_PAREN_APP -> 34
+ | HIGH_PRECEDENCE_BRACK_APP -> 35
+ | TYPE_COMING_SOON -> 36
+ | TYPE_IS_HERE -> 37
+ | MODULE_COMING_SOON -> 38
+ | MODULE_IS_HERE -> 39
+ | EXTERN -> 40
+ | VOID -> 41
+ | PUBLIC -> 42
+ | PRIVATE -> 43
+ | INTERNAL -> 44
+ | GLOBAL -> 45
+ | STATIC -> 46
+ | MEMBER -> 47
+ | CLASS -> 48
+ | ABSTRACT -> 49
+ | OVERRIDE -> 50
+ | DEFAULT -> 51
+ | CONSTRUCTOR -> 52
+ | INHERIT -> 53
+ | GREATER_RBRACK -> 54
+ | STRUCT -> 55
+ | SIG -> 56
+ | BAR -> 57
+ | RBRACK -> 58
+ | RBRACE -> 59
+ | RBRACE_COMING_SOON -> 60
+ | RBRACE_IS_HERE -> 61
+ | MINUS -> 62
+ | DOLLAR -> 63
+ | BAR_RBRACK -> 64
+ | BAR_RBRACE -> 65
+ | UNDERSCORE -> 66
+ | SEMICOLON_SEMICOLON -> 67
+ | LARROW -> 68
+ | EQUALS -> 69
+ | LBRACK -> 70
+ | LBRACK_BAR -> 71
+ | LBRACE_BAR -> 72
+ | LBRACK_LESS -> 73
+ | LBRACE -> 74
+ | QMARK -> 75
+ | QMARK_QMARK -> 76
+ | DOT -> 77
+ | COLON -> 78
+ | COLON_COLON -> 79
+ | COLON_GREATER -> 80
+ | COLON_QMARK_GREATER -> 81
+ | COLON_QMARK -> 82
+ | COLON_EQUALS -> 83
+ | SEMICOLON -> 84
+ | WHEN -> 85
+ | WHILE -> 86
+ | WITH -> 87
+ | HASH -> 88
+ | AMP -> 89
+ | AMP_AMP -> 90
+ | QUOTE -> 91
+ | LPAREN -> 92
+ | RPAREN -> 93
+ | RPAREN_COMING_SOON -> 94
+ | RPAREN_IS_HERE -> 95
+ | STAR -> 96
+ | COMMA -> 97
+ | RARROW -> 98
+ | GREATER_BAR_RBRACK -> 99
+ | LPAREN_STAR_RPAREN -> 100
+ | OPEN -> 101
+ | OR -> 102
+ | REC -> 103
+ | THEN -> 104
+ | TO -> 105
+ | TRUE -> 106
+ | TRY -> 107
+ | TYPE -> 108
+ | VAL -> 109
+ | INLINE -> 110
+ | INTERFACE -> 111
+ | INSTANCE -> 112
+ | CONST -> 113
+ | LAZY -> 114
+ | OLAZY -> 115
+ | MATCH -> 116
+ | MATCH_BANG -> 117
+ | MUTABLE -> 118
+ | NEW -> 119
+ | OF -> 120
+ | EXCEPTION -> 121
+ | FALSE -> 122
+ | FOR -> 123
+ | FUN -> 124
+ | FUNCTION -> 125
+ | IF -> 126
+ | IN -> 127
+ | JOIN_IN -> 128
+ | FINALLY -> 129
+ | DO_BANG -> 130
+ | AND -> 131
+ | AS -> 132
+ | ASSERT -> 133
+ | OASSERT -> 134
+ | ASR -> 135
+ | BEGIN -> 136
+ | DO -> 137
+ | DONE -> 138
+ | DOWNTO -> 139
+ | ELSE -> 140
+ | ELIF -> 141
+ | END -> 142
+ | DOT_DOT -> 143
+ | DOT_DOT_HAT -> 144
+ | BAR_BAR -> 145
+ | UPCAST -> 146
+ | DOWNCAST -> 147
+ | NULL -> 148
+ | RESERVED -> 149
+ | MODULE -> 150
+ | NAMESPACE -> 151
+ | DELEGATE -> 152
+ | CONSTRAINT -> 153
+ | BASE -> 154
+ | LQUOTE _ -> 155
+ | RQUOTE _ -> 156
+ | RQUOTE_DOT _ -> 157
+ | PERCENT_OP _ -> 158
+ | BINDER _ -> 159
+ | LESS _ -> 160
+ | GREATER _ -> 161
+ | LET _ -> 162
+ | YIELD _ -> 163
+ | YIELD_BANG _ -> 164
+ | BIGNUM _ -> 165
+ | DECIMAL _ -> 166
+ | CHAR _ -> 167
+ | IEEE64 _ -> 168
+ | IEEE32 _ -> 169
+ | NATIVEINT _ -> 170
+ | UNATIVEINT _ -> 171
+ | UINT64 _ -> 172
+ | UINT32 _ -> 173
+ | UINT16 _ -> 174
+ | UINT8 _ -> 175
+ | INT64 _ -> 176
+ | INT32 _ -> 177
+ | INT32_DOT_DOT _ -> 178
+ | INT16 _ -> 179
+ | INT8 _ -> 180
+ | FUNKY_OPERATOR_NAME _ -> 181
+ | ADJACENT_PREFIX_OP _ -> 182
+ | PLUS_MINUS_OP _ -> 183
+ | INFIX_AMP_OP _ -> 184
+ | INFIX_STAR_DIV_MOD_OP _ -> 185
+ | PREFIX_OP _ -> 186
+ | INFIX_BAR_OP _ -> 187
+ | INFIX_AT_HAT_OP _ -> 188
+ | INFIX_COMPARE_OP _ -> 189
+ | INFIX_STAR_STAR_OP _ -> 190
+ | IDENT _ -> 191
+ | KEYWORD_STRING _ -> 192
+ | STRING _ -> 193
+ | BYTEARRAY _ -> 194
+
+// This function maps integer indexes to symbolic token ids
+let tokenTagToTokenId (tokenIdx:int) =
+ match tokenIdx with
+ | 0 -> TOKEN_HASH_IF
+ | 1 -> TOKEN_HASH_ELSE
+ | 2 -> TOKEN_HASH_ENDIF
+ | 3 -> TOKEN_COMMENT
+ | 4 -> TOKEN_WHITESPACE
+ | 5 -> TOKEN_HASH_LINE
+ | 6 -> TOKEN_HASH_LIGHT
+ | 7 -> TOKEN_INACTIVECODE
+ | 8 -> TOKEN_LINE_COMMENT
+ | 9 -> TOKEN_STRING_TEXT
+ | 10 -> TOKEN_EOF
+ | 11 -> TOKEN_LEX_FAILURE
+ | 12 -> TOKEN_ODUMMY
+ | 13 -> TOKEN_FIXED
+ | 14 -> TOKEN_OINTERFACE_MEMBER
+ | 15 -> TOKEN_OBLOCKEND
+ | 16 -> TOKEN_OBLOCKEND_COMING_SOON
+ | 17 -> TOKEN_OBLOCKEND_IS_HERE
+ | 18 -> TOKEN_ORIGHT_BLOCK_END
+ | 19 -> TOKEN_ODECLEND
+ | 20 -> TOKEN_OEND
+ | 21 -> TOKEN_OBLOCKSEP
+ | 22 -> TOKEN_OBLOCKBEGIN
+ | 23 -> TOKEN_ORESET
+ | 24 -> TOKEN_OFUN
+ | 25 -> TOKEN_OFUNCTION
+ | 26 -> TOKEN_OWITH
+ | 27 -> TOKEN_OELSE
+ | 28 -> TOKEN_OTHEN
+ | 29 -> TOKEN_ODO_BANG
+ | 30 -> TOKEN_ODO
+ | 31 -> TOKEN_OBINDER
+ | 32 -> TOKEN_OLET
+ | 33 -> TOKEN_HIGH_PRECEDENCE_TYAPP
+ | 34 -> TOKEN_HIGH_PRECEDENCE_PAREN_APP
+ | 35 -> TOKEN_HIGH_PRECEDENCE_BRACK_APP
+ | 36 -> TOKEN_TYPE_COMING_SOON
+ | 37 -> TOKEN_TYPE_IS_HERE
+ | 38 -> TOKEN_MODULE_COMING_SOON
+ | 39 -> TOKEN_MODULE_IS_HERE
+ | 40 -> TOKEN_EXTERN
+ | 41 -> TOKEN_VOID
+ | 42 -> TOKEN_PUBLIC
+ | 43 -> TOKEN_PRIVATE
+ | 44 -> TOKEN_INTERNAL
+ | 45 -> TOKEN_GLOBAL
+ | 46 -> TOKEN_STATIC
+ | 47 -> TOKEN_MEMBER
+ | 48 -> TOKEN_CLASS
+ | 49 -> TOKEN_ABSTRACT
+ | 50 -> TOKEN_OVERRIDE
+ | 51 -> TOKEN_DEFAULT
+ | 52 -> TOKEN_CONSTRUCTOR
+ | 53 -> TOKEN_INHERIT
+ | 54 -> TOKEN_GREATER_RBRACK
+ | 55 -> TOKEN_STRUCT
+ | 56 -> TOKEN_SIG
+ | 57 -> TOKEN_BAR
+ | 58 -> TOKEN_RBRACK
+ | 59 -> TOKEN_RBRACE
+ | 60 -> TOKEN_RBRACE_COMING_SOON
+ | 61 -> TOKEN_RBRACE_IS_HERE
+ | 62 -> TOKEN_MINUS
+ | 63 -> TOKEN_DOLLAR
+ | 64 -> TOKEN_BAR_RBRACK
+ | 65 -> TOKEN_BAR_RBRACE
+ | 66 -> TOKEN_UNDERSCORE
+ | 67 -> TOKEN_SEMICOLON_SEMICOLON
+ | 68 -> TOKEN_LARROW
+ | 69 -> TOKEN_EQUALS
+ | 70 -> TOKEN_LBRACK
+ | 71 -> TOKEN_LBRACK_BAR
+ | 72 -> TOKEN_LBRACE_BAR
+ | 73 -> TOKEN_LBRACK_LESS
+ | 74 -> TOKEN_LBRACE
+ | 75 -> TOKEN_QMARK
+ | 76 -> TOKEN_QMARK_QMARK
+ | 77 -> TOKEN_DOT
+ | 78 -> TOKEN_COLON
+ | 79 -> TOKEN_COLON_COLON
+ | 80 -> TOKEN_COLON_GREATER
+ | 81 -> TOKEN_COLON_QMARK_GREATER
+ | 82 -> TOKEN_COLON_QMARK
+ | 83 -> TOKEN_COLON_EQUALS
+ | 84 -> TOKEN_SEMICOLON
+ | 85 -> TOKEN_WHEN
+ | 86 -> TOKEN_WHILE
+ | 87 -> TOKEN_WITH
+ | 88 -> TOKEN_HASH
+ | 89 -> TOKEN_AMP
+ | 90 -> TOKEN_AMP_AMP
+ | 91 -> TOKEN_QUOTE
+ | 92 -> TOKEN_LPAREN
+ | 93 -> TOKEN_RPAREN
+ | 94 -> TOKEN_RPAREN_COMING_SOON
+ | 95 -> TOKEN_RPAREN_IS_HERE
+ | 96 -> TOKEN_STAR
+ | 97 -> TOKEN_COMMA
+ | 98 -> TOKEN_RARROW
+ | 99 -> TOKEN_GREATER_BAR_RBRACK
+ | 100 -> TOKEN_LPAREN_STAR_RPAREN
+ | 101 -> TOKEN_OPEN
+ | 102 -> TOKEN_OR
+ | 103 -> TOKEN_REC
+ | 104 -> TOKEN_THEN
+ | 105 -> TOKEN_TO
+ | 106 -> TOKEN_TRUE
+ | 107 -> TOKEN_TRY
+ | 108 -> TOKEN_TYPE
+ | 109 -> TOKEN_VAL
+ | 110 -> TOKEN_INLINE
+ | 111 -> TOKEN_INTERFACE
+ | 112 -> TOKEN_INSTANCE
+ | 113 -> TOKEN_CONST
+ | 114 -> TOKEN_LAZY
+ | 115 -> TOKEN_OLAZY
+ | 116 -> TOKEN_MATCH
+ | 117 -> TOKEN_MATCH_BANG
+ | 118 -> TOKEN_MUTABLE
+ | 119 -> TOKEN_NEW
+ | 120 -> TOKEN_OF
+ | 121 -> TOKEN_EXCEPTION
+ | 122 -> TOKEN_FALSE
+ | 123 -> TOKEN_FOR
+ | 124 -> TOKEN_FUN
+ | 125 -> TOKEN_FUNCTION
+ | 126 -> TOKEN_IF
+ | 127 -> TOKEN_IN
+ | 128 -> TOKEN_JOIN_IN
+ | 129 -> TOKEN_FINALLY
+ | 130 -> TOKEN_DO_BANG
+ | 131 -> TOKEN_AND
+ | 132 -> TOKEN_AS
+ | 133 -> TOKEN_ASSERT
+ | 134 -> TOKEN_OASSERT
+ | 135 -> TOKEN_ASR
+ | 136 -> TOKEN_BEGIN
+ | 137 -> TOKEN_DO
+ | 138 -> TOKEN_DONE
+ | 139 -> TOKEN_DOWNTO
+ | 140 -> TOKEN_ELSE
+ | 141 -> TOKEN_ELIF
+ | 142 -> TOKEN_END
+ | 143 -> TOKEN_DOT_DOT
+ | 144 -> TOKEN_DOT_DOT_HAT
+ | 145 -> TOKEN_BAR_BAR
+ | 146 -> TOKEN_UPCAST
+ | 147 -> TOKEN_DOWNCAST
+ | 148 -> TOKEN_NULL
+ | 149 -> TOKEN_RESERVED
+ | 150 -> TOKEN_MODULE
+ | 151 -> TOKEN_NAMESPACE
+ | 152 -> TOKEN_DELEGATE
+ | 153 -> TOKEN_CONSTRAINT
+ | 154 -> TOKEN_BASE
+ | 155 -> TOKEN_LQUOTE
+ | 156 -> TOKEN_RQUOTE
+ | 157 -> TOKEN_RQUOTE_DOT
+ | 158 -> TOKEN_PERCENT_OP
+ | 159 -> TOKEN_BINDER
+ | 160 -> TOKEN_LESS
+ | 161 -> TOKEN_GREATER
+ | 162 -> TOKEN_LET
+ | 163 -> TOKEN_YIELD
+ | 164 -> TOKEN_YIELD_BANG
+ | 165 -> TOKEN_BIGNUM
+ | 166 -> TOKEN_DECIMAL
+ | 167 -> TOKEN_CHAR
+ | 168 -> TOKEN_IEEE64
+ | 169 -> TOKEN_IEEE32
+ | 170 -> TOKEN_NATIVEINT
+ | 171 -> TOKEN_UNATIVEINT
+ | 172 -> TOKEN_UINT64
+ | 173 -> TOKEN_UINT32
+ | 174 -> TOKEN_UINT16
+ | 175 -> TOKEN_UINT8
+ | 176 -> TOKEN_INT64
+ | 177 -> TOKEN_INT32
+ | 178 -> TOKEN_INT32_DOT_DOT
+ | 179 -> TOKEN_INT16
+ | 180 -> TOKEN_INT8
+ | 181 -> TOKEN_FUNKY_OPERATOR_NAME
+ | 182 -> TOKEN_ADJACENT_PREFIX_OP
+ | 183 -> TOKEN_PLUS_MINUS_OP
+ | 184 -> TOKEN_INFIX_AMP_OP
+ | 185 -> TOKEN_INFIX_STAR_DIV_MOD_OP
+ | 186 -> TOKEN_PREFIX_OP
+ | 187 -> TOKEN_INFIX_BAR_OP
+ | 188 -> TOKEN_INFIX_AT_HAT_OP
+ | 189 -> TOKEN_INFIX_COMPARE_OP
+ | 190 -> TOKEN_INFIX_STAR_STAR_OP
+ | 191 -> TOKEN_IDENT
+ | 192 -> TOKEN_KEYWORD_STRING
+ | 193 -> TOKEN_STRING
+ | 194 -> TOKEN_BYTEARRAY
+ | 197 -> TOKEN_end_of_input
+ | 195 -> TOKEN_error
+ | _ -> failwith "tokenTagToTokenId: bad token"
+
+/// This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production
+let prodIdxToNonTerminal (prodIdx:int) =
+ match prodIdx with
+ | 0 -> NONTERM__startsignatureFile
+ | 1 -> NONTERM__startimplementationFile
+ | 2 -> NONTERM__startinteraction
+ | 3 -> NONTERM__starttypedSeqExprEOF
+ | 4 -> NONTERM__starttypEOF
+ | 5 -> NONTERM_interaction
+ | 6 -> NONTERM_interaction
+ | 7 -> NONTERM_interaction
+ | 8 -> NONTERM_interactiveTerminator
+ | 9 -> NONTERM_interactiveTerminator
+ | 10 -> NONTERM_interactiveItemsTerminator
+ | 11 -> NONTERM_interactiveItemsTerminator
+ | 12 -> NONTERM_interactiveItemsTerminator
+ | 13 -> NONTERM_interactiveItemsTerminator
+ | 14 -> NONTERM_interactiveItemsTerminator
+ | 15 -> NONTERM_interactiveItemsTerminator
+ | 16 -> NONTERM_interactiveItemsTerminator
+ | 17 -> NONTERM_interactiveDefns
+ | 18 -> NONTERM_interactiveDefns
+ | 19 -> NONTERM_interactiveExpr
+ | 20 -> NONTERM_interactiveHash
+ | 21 -> NONTERM_interactiveSeparators
+ | 22 -> NONTERM_interactiveSeparators
+ | 23 -> NONTERM_interactiveSeparator
+ | 24 -> NONTERM_interactiveSeparator
+ | 25 -> NONTERM_hashDirective
+ | 26 -> NONTERM_hashDirectiveArgs
+ | 27 -> NONTERM_hashDirectiveArgs
+ | 28 -> NONTERM_hashDirectiveArg
+ | 29 -> NONTERM_signatureFile
+ | 30 -> NONTERM_signatureFile
+ | 31 -> NONTERM_signatureFile
+ | 32 -> NONTERM_moduleIntro
+ | 33 -> NONTERM_namespaceIntro
+ | 34 -> NONTERM_fileNamespaceSpecs
+ | 35 -> NONTERM_fileNamespaceSpecs
+ | 36 -> NONTERM_fileNamespaceSpecList
+ | 37 -> NONTERM_fileNamespaceSpecList
+ | 38 -> NONTERM_fileNamespaceSpec
+ | 39 -> NONTERM_fileModuleSpec
+ | 40 -> NONTERM_fileModuleSpec
+ | 41 -> NONTERM_moduleSpfnsPossiblyEmptyBlock
+ | 42 -> NONTERM_moduleSpfnsPossiblyEmptyBlock
+ | 43 -> NONTERM_moduleSpfnsPossiblyEmptyBlock
+ | 44 -> NONTERM_moduleSpfnsPossiblyEmptyBlock
+ | 45 -> NONTERM_moduleSpfnsPossiblyEmpty
+ | 46 -> NONTERM_moduleSpfnsPossiblyEmpty
+ | 47 -> NONTERM_moduleSpfnsPossiblyEmpty
+ | 48 -> NONTERM_moduleSpfns
+ | 49 -> NONTERM_moduleSpfns
+ | 50 -> NONTERM_moduleSpfns
+ | 51 -> NONTERM_moduleSpfn
+ | 52 -> NONTERM_moduleSpfn
+ | 53 -> NONTERM_moduleSpfn
+ | 54 -> NONTERM_moduleSpfn
+ | 55 -> NONTERM_moduleSpfn
+ | 56 -> NONTERM_moduleSpfn
+ | 57 -> NONTERM_moduleSpfn
+ | 58 -> NONTERM_valSpfn
+ | 59 -> NONTERM_optLiteralValueSpfn
+ | 60 -> NONTERM_optLiteralValueSpfn
+ | 61 -> NONTERM_optLiteralValueSpfn
+ | 62 -> NONTERM_moduleSpecBlock
+ | 63 -> NONTERM_moduleSpecBlock
+ | 64 -> NONTERM_moduleSpecBlock
+ | 65 -> NONTERM_tyconSpfns
+ | 66 -> NONTERM_tyconSpfnList
+ | 67 -> NONTERM_tyconSpfnList
+ | 68 -> NONTERM_tyconSpfn
+ | 69 -> NONTERM_tyconSpfn
+ | 70 -> NONTERM_tyconSpfnRhsBlock
+ | 71 -> NONTERM_tyconSpfnRhsBlock
+ | 72 -> NONTERM_tyconSpfnRhs
+ | 73 -> NONTERM_tyconSpfnRhs
+ | 74 -> NONTERM_tyconSpfnRhs
+ | 75 -> NONTERM_tyconClassSpfn
+ | 76 -> NONTERM_tyconClassSpfn
+ | 77 -> NONTERM_tyconClassSpfn
+ | 78 -> NONTERM_tyconClassSpfn
+ | 79 -> NONTERM_classSpfnBlockKindUnspecified
+ | 80 -> NONTERM_classSpfnBlockKindUnspecified
+ | 81 -> NONTERM_classSpfnBlockKindUnspecified
+ | 82 -> NONTERM_classSpfnBlockKindUnspecified
+ | 83 -> NONTERM_classSpfnBlock
+ | 84 -> NONTERM_classSpfnBlock
+ | 85 -> NONTERM_classSpfnBlock
+ | 86 -> NONTERM_classSpfnMembers
+ | 87 -> NONTERM_classSpfnMembers
+ | 88 -> NONTERM_classSpfnMembersAtLeastOne
+ | 89 -> NONTERM_classMemberSpfn
+ | 90 -> NONTERM_classMemberSpfn
+ | 91 -> NONTERM_classMemberSpfn
+ | 92 -> NONTERM_classMemberSpfn
+ | 93 -> NONTERM_classMemberSpfn
+ | 94 -> NONTERM_classMemberSpfn
+ | 95 -> NONTERM_classMemberSpfn
+ | 96 -> NONTERM_classMemberSpfnGetSet
+ | 97 -> NONTERM_classMemberSpfnGetSet
+ | 98 -> NONTERM_classMemberSpfnGetSet
+ | 99 -> NONTERM_classMemberSpfnGetSet
+ | 100 -> NONTERM_classMemberSpfnGetSetElements
+ | 101 -> NONTERM_classMemberSpfnGetSetElements
+ | 102 -> NONTERM_memberSpecFlags
+ | 103 -> NONTERM_memberSpecFlags
+ | 104 -> NONTERM_memberSpecFlags
+ | 105 -> NONTERM_exconSpfn
+ | 106 -> NONTERM_opt_classSpfn
+ | 107 -> NONTERM_opt_classSpfn
+ | 108 -> NONTERM_implementationFile
+ | 109 -> NONTERM_implementationFile
+ | 110 -> NONTERM_implementationFile
+ | 111 -> NONTERM_fileNamespaceImpls
+ | 112 -> NONTERM_fileNamespaceImpls
+ | 113 -> NONTERM_fileNamespaceImplList
+ | 114 -> NONTERM_fileNamespaceImplList
+ | 115 -> NONTERM_fileNamespaceImpl
+ | 116 -> NONTERM_fileModuleImpl
+ | 117 -> NONTERM_fileModuleImpl
+ | 118 -> NONTERM_moduleDefnsOrExprPossiblyEmptyOrBlock
+ | 119 -> NONTERM_moduleDefnsOrExprPossiblyEmptyOrBlock
+ | 120 -> NONTERM_moduleDefnsOrExprPossiblyEmptyOrBlock
+ | 121 -> NONTERM_moduleDefnsOrExprPossiblyEmptyOrBlock
+ | 122 -> NONTERM_moduleDefnsOrExprPossiblyEmpty
+ | 123 -> NONTERM_moduleDefnsOrExprPossiblyEmpty
+ | 124 -> NONTERM_moduleDefnsOrExpr
+ | 125 -> NONTERM_moduleDefnsOrExpr
+ | 126 -> NONTERM_moduleDefnsOrExpr
+ | 127 -> NONTERM_moduleDefnsOrExpr
+ | 128 -> NONTERM_moduleDefnsOrExpr
+ | 129 -> NONTERM_moduleDefns
+ | 130 -> NONTERM_moduleDefns
+ | 131 -> NONTERM_moduleDefns
+ | 132 -> NONTERM_moduleDefns
+ | 133 -> NONTERM_moduleDefns
+ | 134 -> NONTERM_moduleDefnOrDirective
+ | 135 -> NONTERM_moduleDefnOrDirective
+ | 136 -> NONTERM_moduleDefn
+ | 137 -> NONTERM_moduleDefn
+ | 138 -> NONTERM_moduleDefn
+ | 139 -> NONTERM_moduleDefn
+ | 140 -> NONTERM_moduleDefn
+ | 141 -> NONTERM_moduleDefn
+ | 142 -> NONTERM_moduleDefn
+ | 143 -> NONTERM_moduleDefn
+ | 144 -> NONTERM_namedModuleAbbrevBlock
+ | 145 -> NONTERM_namedModuleAbbrevBlock
+ | 146 -> NONTERM_namedModuleDefnBlock
+ | 147 -> NONTERM_namedModuleDefnBlock
+ | 148 -> NONTERM_namedModuleDefnBlock
+ | 149 -> NONTERM_namedModuleDefnBlock
+ | 150 -> NONTERM_namedModuleDefnBlock
+ | 151 -> NONTERM_namedModuleDefnBlock
+ | 152 -> NONTERM_namedModuleDefnBlock
+ | 153 -> NONTERM_wrappedNamedModuleDefn
+ | 154 -> NONTERM_wrappedNamedModuleDefn
+ | 155 -> NONTERM_wrappedNamedModuleDefn
+ | 156 -> NONTERM_tyconDefnAugmentation
+ | 157 -> NONTERM_opt_attributes
+ | 158 -> NONTERM_opt_attributes
+ | 159 -> NONTERM_attributes
+ | 160 -> NONTERM_attributes
+ | 161 -> NONTERM_attributeList
+ | 162 -> NONTERM_attributeList
+ | 163 -> NONTERM_attributeList
+ | 164 -> NONTERM_attributeList
+ | 165 -> NONTERM_attributeListElements
+ | 166 -> NONTERM_attributeListElements
+ | 167 -> NONTERM_attribute
+ | 168 -> NONTERM_attribute
+ | 169 -> NONTERM_attribute
+ | 170 -> NONTERM_attributeTarget
+ | 171 -> NONTERM_attributeTarget
+ | 172 -> NONTERM_attributeTarget
+ | 173 -> NONTERM_attributeTarget
+ | 174 -> NONTERM_memberFlags
+ | 175 -> NONTERM_memberFlags
+ | 176 -> NONTERM_memberFlags
+ | 177 -> NONTERM_memberFlags
+ | 178 -> NONTERM_typeNameInfo
+ | 179 -> NONTERM_tyconDefnList
+ | 180 -> NONTERM_tyconDefnList
+ | 181 -> NONTERM_tyconDefn
+ | 182 -> NONTERM_tyconDefn
+ | 183 -> NONTERM_tyconDefn
+ | 184 -> NONTERM_tyconDefn
+ | 185 -> NONTERM_tyconDefnRhsBlock
+ | 186 -> NONTERM_tyconDefnRhsBlock
+ | 187 -> NONTERM_tyconDefnRhsBlock
+ | 188 -> NONTERM_tyconDefnRhs
+ | 189 -> NONTERM_tyconDefnRhs
+ | 190 -> NONTERM_tyconDefnRhs
+ | 191 -> NONTERM_tyconClassDefn
+ | 192 -> NONTERM_tyconClassDefn
+ | 193 -> NONTERM_tyconClassDefn
+ | 194 -> NONTERM_tyconClassDefn
+ | 195 -> NONTERM_classDefnBlockKindUnspecified
+ | 196 -> NONTERM_classDefnBlockKindUnspecified
+ | 197 -> NONTERM_classDefnBlock
+ | 198 -> NONTERM_classDefnBlock
+ | 199 -> NONTERM_classDefnBlock
+ | 200 -> NONTERM_classDefnMembers
+ | 201 -> NONTERM_classDefnMembers
+ | 202 -> NONTERM_classDefnMembers
+ | 203 -> NONTERM_classDefnMembersAtLeastOne
+ | 204 -> NONTERM_classDefnMemberGetSet
+ | 205 -> NONTERM_classDefnMemberGetSet
+ | 206 -> NONTERM_classDefnMemberGetSet
+ | 207 -> NONTERM_classDefnMemberGetSetElements
+ | 208 -> NONTERM_classDefnMemberGetSetElements
+ | 209 -> NONTERM_classDefnMemberGetSetElement
+ | 210 -> NONTERM_memberCore
+ | 211 -> NONTERM_memberCore
+ | 212 -> NONTERM_abstractMemberFlags
+ | 213 -> NONTERM_abstractMemberFlags
+ | 214 -> NONTERM_classDefnMember
+ | 215 -> NONTERM_classDefnMember
+ | 216 -> NONTERM_classDefnMember
+ | 217 -> NONTERM_classDefnMember
+ | 218 -> NONTERM_classDefnMember
+ | 219 -> NONTERM_classDefnMember
+ | 220 -> NONTERM_classDefnMember
+ | 221 -> NONTERM_classDefnMember
+ | 222 -> NONTERM_classDefnMember
+ | 223 -> NONTERM_classDefnMember
+ | 224 -> NONTERM_classDefnMember
+ | 225 -> NONTERM_valDefnDecl
+ | 226 -> NONTERM_autoPropsDefnDecl
+ | 227 -> NONTERM_opt_typ
+ | 228 -> NONTERM_opt_typ
+ | 229 -> NONTERM_atomicPatternLongIdent
+ | 230 -> NONTERM_atomicPatternLongIdent
+ | 231 -> NONTERM_atomicPatternLongIdent
+ | 232 -> NONTERM_atomicPatternLongIdent
+ | 233 -> NONTERM_atomicPatternLongIdent
+ | 234 -> NONTERM_opt_access
+ | 235 -> NONTERM_opt_access
+ | 236 -> NONTERM_access
+ | 237 -> NONTERM_access
+ | 238 -> NONTERM_access
+ | 239 -> NONTERM_opt_declVisibility
+ | 240 -> NONTERM_opt_declVisibility
+ | 241 -> NONTERM_opt_interfaceImplDefn
+ | 242 -> NONTERM_opt_interfaceImplDefn
+ | 243 -> NONTERM_opt_classDefn
+ | 244 -> NONTERM_opt_classDefn
+ | 245 -> NONTERM_inheritsDefn
+ | 246 -> NONTERM_inheritsDefn
+ | 247 -> NONTERM_inheritsDefn
+ | 248 -> NONTERM_optAsSpec
+ | 249 -> NONTERM_optAsSpec
+ | 250 -> NONTERM_asSpec
+ | 251 -> NONTERM_optBaseSpec
+ | 252 -> NONTERM_optBaseSpec
+ | 253 -> NONTERM_baseSpec
+ | 254 -> NONTERM_baseSpec
+ | 255 -> NONTERM_objectImplementationBlock
+ | 256 -> NONTERM_objectImplementationBlock
+ | 257 -> NONTERM_objectImplementationBlock
+ | 258 -> NONTERM_objectImplementationMembers
+ | 259 -> NONTERM_objectImplementationMembers
+ | 260 -> NONTERM_objectImplementationMember
+ | 261 -> NONTERM_objectImplementationMember
+ | 262 -> NONTERM_objectImplementationMember
+ | 263 -> NONTERM_objectImplementationMember
+ | 264 -> NONTERM_memberOrOverride
+ | 265 -> NONTERM_memberOrOverride
+ | 266 -> NONTERM_tyconDefnOrSpfnSimpleRepr
+ | 267 -> NONTERM_tyconDefnOrSpfnSimpleRepr
+ | 268 -> NONTERM_tyconDefnOrSpfnSimpleRepr
+ | 269 -> NONTERM_tyconDefnOrSpfnSimpleRepr
+ | 270 -> NONTERM_tyconDefnOrSpfnSimpleRepr
+ | 271 -> NONTERM_braceFieldDeclList
+ | 272 -> NONTERM_braceFieldDeclList
+ | 273 -> NONTERM_braceFieldDeclList
+ | 274 -> NONTERM_anonRecdType
+ | 275 -> NONTERM_anonRecdType
+ | 276 -> NONTERM_braceBarFieldDeclListCore
+ | 277 -> NONTERM_braceBarFieldDeclListCore
+ | 278 -> NONTERM_braceBarFieldDeclListCore
+ | 279 -> NONTERM_inlineAssemblyTyconRepr
+ | 280 -> NONTERM_classOrInterfaceOrStruct
+ | 281 -> NONTERM_classOrInterfaceOrStruct
+ | 282 -> NONTERM_classOrInterfaceOrStruct
+ | 283 -> NONTERM_interfaceMember
+ | 284 -> NONTERM_interfaceMember
+ | 285 -> NONTERM_tyconNameAndTyparDecls
+ | 286 -> NONTERM_tyconNameAndTyparDecls
+ | 287 -> NONTERM_tyconNameAndTyparDecls
+ | 288 -> NONTERM_prefixTyparDecls
+ | 289 -> NONTERM_prefixTyparDecls
+ | 290 -> NONTERM_typarDeclList
+ | 291 -> NONTERM_typarDeclList
+ | 292 -> NONTERM_typarDecl
+ | 293 -> NONTERM_postfixTyparDecls
+ | 294 -> NONTERM_explicitValTyparDeclsCore
+ | 295 -> NONTERM_explicitValTyparDeclsCore
+ | 296 -> NONTERM_explicitValTyparDeclsCore
+ | 297 -> NONTERM_explicitValTyparDecls
+ | 298 -> NONTERM_opt_explicitValTyparDecls
+ | 299 -> NONTERM_opt_explicitValTyparDecls
+ | 300 -> NONTERM_opt_explicitValTyparDecls2
+ | 301 -> NONTERM_opt_explicitValTyparDecls2
+ | 302 -> NONTERM_opt_typeConstraints
+ | 303 -> NONTERM_opt_typeConstraints
+ | 304 -> NONTERM_typeConstraints
+ | 305 -> NONTERM_typeConstraints
+ | 306 -> NONTERM_typeConstraint
+ | 307 -> NONTERM_typeConstraint
+ | 308 -> NONTERM_typeConstraint
+ | 309 -> NONTERM_typeConstraint
+ | 310 -> NONTERM_typeConstraint
+ | 311 -> NONTERM_typeConstraint
+ | 312 -> NONTERM_typeConstraint
+ | 313 -> NONTERM_typeConstraint
+ | 314 -> NONTERM_typeConstraint
+ | 315 -> NONTERM_typeConstraint
+ | 316 -> NONTERM_typarAlts
+ | 317 -> NONTERM_typarAlts
+ | 318 -> NONTERM_unionTypeRepr
+ | 319 -> NONTERM_unionTypeRepr
+ | 320 -> NONTERM_unionTypeRepr
+ | 321 -> NONTERM_barAndgrabXmlDoc
+ | 322 -> NONTERM_attrUnionCaseDecls
+ | 323 -> NONTERM_attrUnionCaseDecls
+ | 324 -> NONTERM_attrUnionCaseDecl
+ | 325 -> NONTERM_attrUnionCaseDecl
+ | 326 -> NONTERM_attrUnionCaseDecl
+ | 327 -> NONTERM_attrUnionCaseDecl
+ | 328 -> NONTERM_unionCaseName
+ | 329 -> NONTERM_unionCaseName
+ | 330 -> NONTERM_unionCaseName
+ | 331 -> NONTERM_firstUnionCaseDeclOfMany
+ | 332 -> NONTERM_firstUnionCaseDeclOfMany
+ | 333 -> NONTERM_firstUnionCaseDeclOfMany
+ | 334 -> NONTERM_firstUnionCaseDecl
+ | 335 -> NONTERM_firstUnionCaseDecl
+ | 336 -> NONTERM_unionCaseReprElements
+ | 337 -> NONTERM_unionCaseReprElements
+ | 338 -> NONTERM_unionCaseReprElement
+ | 339 -> NONTERM_unionCaseReprElement
+ | 340 -> NONTERM_unionCaseRepr
+ | 341 -> NONTERM_unionCaseRepr
+ | 342 -> NONTERM_recdFieldDeclList
+ | 343 -> NONTERM_recdFieldDeclList
+ | 344 -> NONTERM_recdFieldDecl
+ | 345 -> NONTERM_fieldDecl
+ | 346 -> NONTERM_exconDefn
+ | 347 -> NONTERM_exceptionAndGrabDoc
+ | 348 -> NONTERM_exconCore
+ | 349 -> NONTERM_exconIntro
+ | 350 -> NONTERM_exconIntro
+ | 351 -> NONTERM_exconRepr
+ | 352 -> NONTERM_exconRepr
+ | 353 -> NONTERM_openDecl
+ | 354 -> NONTERM_defnBindings
+ | 355 -> NONTERM_defnBindings
+ | 356 -> NONTERM_doBinding
+ | 357 -> NONTERM_hardwhiteLetBindings
+ | 358 -> NONTERM_hardwhiteDoBinding
+ | 359 -> NONTERM_classDefnBindings
+ | 360 -> NONTERM_classDefnBindings
+ | 361 -> NONTERM_classDefnBindings
+ | 362 -> NONTERM_classDefnBindings
+ | 363 -> NONTERM_hardwhiteDefnBindingsTerminator
+ | 364 -> NONTERM_hardwhiteDefnBindingsTerminator
+ | 365 -> NONTERM_cPrototype
+ | 366 -> NONTERM_cArgs
+ | 367 -> NONTERM_cArgs
+ | 368 -> NONTERM_cArgs
+ | 369 -> NONTERM_cMoreArgs
+ | 370 -> NONTERM_cMoreArgs
+ | 371 -> NONTERM_cArg
+ | 372 -> NONTERM_cArg
+ | 373 -> NONTERM_cType
+ | 374 -> NONTERM_cType
+ | 375 -> NONTERM_cType
+ | 376 -> NONTERM_cType
+ | 377 -> NONTERM_cType
+ | 378 -> NONTERM_cRetType
+ | 379 -> NONTERM_cRetType
+ | 380 -> NONTERM_localBindings
+ | 381 -> NONTERM_moreLocalBindings
+ | 382 -> NONTERM_moreLocalBindings
+ | 383 -> NONTERM_attr_localBinding
+ | 384 -> NONTERM_attr_localBinding
+ | 385 -> NONTERM_localBinding
+ | 386 -> NONTERM_localBinding
+ | 387 -> NONTERM_localBinding
+ | 388 -> NONTERM_typedExprWithStaticOptimizationsBlock
+ | 389 -> NONTERM_typedExprWithStaticOptimizationsBlock
+ | 390 -> NONTERM_typedExprWithStaticOptimizationsBlock
+ | 391 -> NONTERM_typedExprWithStaticOptimizations
+ | 392 -> NONTERM_opt_staticOptimizations
+ | 393 -> NONTERM_opt_staticOptimizations
+ | 394 -> NONTERM_staticOptimization
+ | 395 -> NONTERM_staticOptimizationConditions
+ | 396 -> NONTERM_staticOptimizationConditions
+ | 397 -> NONTERM_staticOptimizationCondition
+ | 398 -> NONTERM_staticOptimizationCondition
+ | 399 -> NONTERM_rawConstant
+ | 400 -> NONTERM_rawConstant
+ | 401 -> NONTERM_rawConstant
+ | 402 -> NONTERM_rawConstant
+ | 403 -> NONTERM_rawConstant
+ | 404 -> NONTERM_rawConstant
+ | 405 -> NONTERM_rawConstant
+ | 406 -> NONTERM_rawConstant
+ | 407 -> NONTERM_rawConstant
+ | 408 -> NONTERM_rawConstant
+ | 409 -> NONTERM_rawConstant
+ | 410 -> NONTERM_rawConstant
+ | 411 -> NONTERM_rawConstant
+ | 412 -> NONTERM_rawConstant
+ | 413 -> NONTERM_rawConstant
+ | 414 -> NONTERM_rawConstant
+ | 415 -> NONTERM_rawConstant
+ | 416 -> NONTERM_rationalConstant
+ | 417 -> NONTERM_rationalConstant
+ | 418 -> NONTERM_rationalConstant
+ | 419 -> NONTERM_rationalConstant
+ | 420 -> NONTERM_atomicUnsignedRationalConstant
+ | 421 -> NONTERM_atomicUnsignedRationalConstant
+ | 422 -> NONTERM_atomicRationalConstant
+ | 423 -> NONTERM_atomicRationalConstant
+ | 424 -> NONTERM_constant
+ | 425 -> NONTERM_constant
+ | 426 -> NONTERM_bindingPattern
+ | 427 -> NONTERM_simplePattern
+ | 428 -> NONTERM_simplePattern
+ | 429 -> NONTERM_simplePattern
+ | 430 -> NONTERM_simplePattern
+ | 431 -> NONTERM_simplePatternCommaList
+ | 432 -> NONTERM_simplePatternCommaList
+ | 433 -> NONTERM_simplePatterns
+ | 434 -> NONTERM_simplePatterns
+ | 435 -> NONTERM_simplePatterns
+ | 436 -> NONTERM_simplePatterns
+ | 437 -> NONTERM_simplePatterns
+ | 438 -> NONTERM_headBindingPattern
+ | 439 -> NONTERM_headBindingPattern
+ | 440 -> NONTERM_headBindingPattern
+ | 441 -> NONTERM_headBindingPattern
+ | 442 -> NONTERM_headBindingPattern
+ | 443 -> NONTERM_headBindingPattern
+ | 444 -> NONTERM_tuplePatternElements
+ | 445 -> NONTERM_tuplePatternElements
+ | 446 -> NONTERM_conjPatternElements
+ | 447 -> NONTERM_conjPatternElements
+ | 448 -> NONTERM_namePatPairs
+ | 449 -> NONTERM_namePatPairs
+ | 450 -> NONTERM_namePatPair
+ | 451 -> NONTERM_constrPattern
+ | 452 -> NONTERM_constrPattern
+ | 453 -> NONTERM_constrPattern
+ | 454 -> NONTERM_constrPattern
+ | 455 -> NONTERM_constrPattern
+ | 456 -> NONTERM_constrPattern
+ | 457 -> NONTERM_atomicPatsOrNamePatPairs
+ | 458 -> NONTERM_atomicPatsOrNamePatPairs
+ | 459 -> NONTERM_atomicPatterns
+ | 460 -> NONTERM_atomicPatterns
+ | 461 -> NONTERM_atomicPatterns
+ | 462 -> NONTERM_atomicPatterns
+ | 463 -> NONTERM_atomicPattern
+ | 464 -> NONTERM_atomicPattern
+ | 465 -> NONTERM_atomicPattern
+ | 466 -> NONTERM_atomicPattern
+ | 467 -> NONTERM_atomicPattern
+ | 468 -> NONTERM_atomicPattern
+ | 469 -> NONTERM_atomicPattern
+ | 470 -> NONTERM_atomicPattern
+ | 471 -> NONTERM_atomicPattern
+ | 472 -> NONTERM_atomicPattern
+ | 473 -> NONTERM_atomicPattern
+ | 474 -> NONTERM_atomicPattern
+ | 475 -> NONTERM_atomicPattern
+ | 476 -> NONTERM_atomicPattern
+ | 477 -> NONTERM_atomicPattern
+ | 478 -> NONTERM_atomicPattern
+ | 479 -> NONTERM_atomicPattern
+ | 480 -> NONTERM_atomicPattern
+ | 481 -> NONTERM_atomicPattern
+ | 482 -> NONTERM_atomicPattern
+ | 483 -> NONTERM_parenPatternBody
+ | 484 -> NONTERM_parenPatternBody
+ | 485 -> NONTERM_parenPattern
+ | 486 -> NONTERM_parenPattern
+ | 487 -> NONTERM_parenPattern
+ | 488 -> NONTERM_parenPattern
+ | 489 -> NONTERM_parenPattern
+ | 490 -> NONTERM_parenPattern
+ | 491 -> NONTERM_parenPattern
+ | 492 -> NONTERM_parenPattern
+ | 493 -> NONTERM_tupleParenPatternElements
+ | 494 -> NONTERM_tupleParenPatternElements
+ | 495 -> NONTERM_conjParenPatternElements
+ | 496 -> NONTERM_conjParenPatternElements
+ | 497 -> NONTERM_recordPatternElementsAux
+ | 498 -> NONTERM_recordPatternElementsAux
+ | 499 -> NONTERM_recordPatternElement
+ | 500 -> NONTERM_listPatternElements
+ | 501 -> NONTERM_listPatternElements
+ | 502 -> NONTERM_listPatternElements
+ | 503 -> NONTERM_typedSeqExprBlock
+ | 504 -> NONTERM_typedSeqExprBlock
+ | 505 -> NONTERM_typedSeqExprBlock
+ | 506 -> NONTERM_declExprBlock
+ | 507 -> NONTERM_declExprBlock
+ | 508 -> NONTERM_typedSeqExprBlockR
+ | 509 -> NONTERM_typedSeqExprBlockR
+ | 510 -> NONTERM_typedSeqExpr
+ | 511 -> NONTERM_typedSeqExpr
+ | 512 -> NONTERM_typedSeqExprEOF
+ | 513 -> NONTERM_seqExpr
+ | 514 -> NONTERM_seqExpr
+ | 515 -> NONTERM_seqExpr
+ | 516 -> NONTERM_seqExpr
+ | 517 -> NONTERM_seqExpr
+ | 518 -> NONTERM_seqExpr
+ | 519 -> NONTERM_recover
+ | 520 -> NONTERM_recover
+ | 521 -> NONTERM_declExpr
+ | 522 -> NONTERM_declExpr
+ | 523 -> NONTERM_declExpr
+ | 524 -> NONTERM_declExpr
+ | 525 -> NONTERM_declExpr
+ | 526 -> NONTERM_declExpr
+ | 527 -> NONTERM_declExpr
+ | 528 -> NONTERM_declExpr
+ | 529 -> NONTERM_declExpr
+ | 530 -> NONTERM_declExpr
+ | 531 -> NONTERM_declExpr
+ | 532 -> NONTERM_declExpr
+ | 533 -> NONTERM_declExpr
+ | 534 -> NONTERM_declExpr
+ | 535 -> NONTERM_declExpr
+ | 536 -> NONTERM_declExpr
+ | 537 -> NONTERM_declExpr
+ | 538 -> NONTERM_declExpr
+ | 539 -> NONTERM_declExpr
+ | 540 -> NONTERM_declExpr
+ | 541 -> NONTERM_declExpr
+ | 542 -> NONTERM_declExpr
+ | 543 -> NONTERM_declExpr
+ | 544 -> NONTERM_declExpr
+ | 545 -> NONTERM_declExpr
+ | 546 -> NONTERM_declExpr
+ | 547 -> NONTERM_declExpr
+ | 548 -> NONTERM_declExpr
+ | 549 -> NONTERM_declExpr
+ | 550 -> NONTERM_declExpr
+ | 551 -> NONTERM_declExpr
+ | 552 -> NONTERM_declExpr
+ | 553 -> NONTERM_declExpr
+ | 554 -> NONTERM_declExpr
+ | 555 -> NONTERM_declExpr
+ | 556 -> NONTERM_declExpr
+ | 557 -> NONTERM_declExpr
+ | 558 -> NONTERM_declExpr
+ | 559 -> NONTERM_declExpr
+ | 560 -> NONTERM_declExpr
+ | 561 -> NONTERM_declExpr
+ | 562 -> NONTERM_declExpr
+ | 563 -> NONTERM_declExpr
+ | 564 -> NONTERM_declExpr
+ | 565 -> NONTERM_declExpr
+ | 566 -> NONTERM_declExpr
+ | 567 -> NONTERM_declExpr
+ | 568 -> NONTERM_declExpr
+ | 569 -> NONTERM_declExpr
+ | 570 -> NONTERM_declExpr
+ | 571 -> NONTERM_declExpr
+ | 572 -> NONTERM_declExpr
+ | 573 -> NONTERM_declExpr
+ | 574 -> NONTERM_declExpr
+ | 575 -> NONTERM_declExpr
+ | 576 -> NONTERM_declExpr
+ | 577 -> NONTERM_declExpr
+ | 578 -> NONTERM_declExpr
+ | 579 -> NONTERM_declExpr
+ | 580 -> NONTERM_declExpr
+ | 581 -> NONTERM_declExpr
+ | 582 -> NONTERM_declExpr
+ | 583 -> NONTERM_declExpr
+ | 584 -> NONTERM_declExpr
+ | 585 -> NONTERM_declExpr
+ | 586 -> NONTERM_declExpr
+ | 587 -> NONTERM_declExpr
+ | 588 -> NONTERM_declExpr
+ | 589 -> NONTERM_declExpr
+ | 590 -> NONTERM_declExpr
+ | 591 -> NONTERM_declExpr
+ | 592 -> NONTERM_declExpr
+ | 593 -> NONTERM_declExpr
+ | 594 -> NONTERM_declExpr
+ | 595 -> NONTERM_declExpr
+ | 596 -> NONTERM_declExpr
+ | 597 -> NONTERM_declExpr
+ | 598 -> NONTERM_declExpr
+ | 599 -> NONTERM_declExpr
+ | 600 -> NONTERM_declExpr
+ | 601 -> NONTERM_declExpr
+ | 602 -> NONTERM_declExpr
+ | 603 -> NONTERM_declExpr
+ | 604 -> NONTERM_declExpr
+ | 605 -> NONTERM_declExpr
+ | 606 -> NONTERM_declExpr
+ | 607 -> NONTERM_declExpr
+ | 608 -> NONTERM_declExpr
+ | 609 -> NONTERM_declExpr
+ | 610 -> NONTERM_declExpr
+ | 611 -> NONTERM_declExpr
+ | 612 -> NONTERM_declExpr
+ | 613 -> NONTERM_declExpr
+ | 614 -> NONTERM_declExpr
+ | 615 -> NONTERM_declExpr
+ | 616 -> NONTERM_declExpr
+ | 617 -> NONTERM_declExpr
+ | 618 -> NONTERM_declExpr
+ | 619 -> NONTERM_declExpr
+ | 620 -> NONTERM_declExpr
+ | 621 -> NONTERM_declExpr
+ | 622 -> NONTERM_declExpr
+ | 623 -> NONTERM_declExpr
+ | 624 -> NONTERM_dynamicArg
+ | 625 -> NONTERM_dynamicArg
+ | 626 -> NONTERM_withClauses
+ | 627 -> NONTERM_withClauses
+ | 628 -> NONTERM_withClauses
+ | 629 -> NONTERM_withPatternClauses
+ | 630 -> NONTERM_withPatternClauses
+ | 631 -> NONTERM_withPatternClauses
+ | 632 -> NONTERM_withPatternClauses
+ | 633 -> NONTERM_patternAndGuard
+ | 634 -> NONTERM_patternClauses
+ | 635 -> NONTERM_patternClauses
+ | 636 -> NONTERM_patternClauses
+ | 637 -> NONTERM_patternClauses
+ | 638 -> NONTERM_patternClauses
+ | 639 -> NONTERM_patternGuard
+ | 640 -> NONTERM_patternGuard
+ | 641 -> NONTERM_patternResult
+ | 642 -> NONTERM_ifExprCases
+ | 643 -> NONTERM_ifExprThen
+ | 644 -> NONTERM_ifExprThen
+ | 645 -> NONTERM_ifExprThen
+ | 646 -> NONTERM_ifExprElifs
+ | 647 -> NONTERM_ifExprElifs
+ | 648 -> NONTERM_ifExprElifs
+ | 649 -> NONTERM_ifExprElifs
+ | 650 -> NONTERM_ifExprElifs
+ | 651 -> NONTERM_ifExprElifs
+ | 652 -> NONTERM_tupleExpr
+ | 653 -> NONTERM_tupleExpr
+ | 654 -> NONTERM_tupleExpr
+ | 655 -> NONTERM_tupleExpr
+ | 656 -> NONTERM_minusExpr
+ | 657 -> NONTERM_minusExpr
+ | 658 -> NONTERM_minusExpr
+ | 659 -> NONTERM_minusExpr
+ | 660 -> NONTERM_minusExpr
+ | 661 -> NONTERM_minusExpr
+ | 662 -> NONTERM_minusExpr
+ | 663 -> NONTERM_minusExpr
+ | 664 -> NONTERM_minusExpr
+ | 665 -> NONTERM_minusExpr
+ | 666 -> NONTERM_minusExpr
+ | 667 -> NONTERM_minusExpr
+ | 668 -> NONTERM_appExpr
+ | 669 -> NONTERM_appExpr
+ | 670 -> NONTERM_argExpr
+ | 671 -> NONTERM_argExpr
+ | 672 -> NONTERM_atomicExpr
+ | 673 -> NONTERM_atomicExpr
+ | 674 -> NONTERM_atomicExpr
+ | 675 -> NONTERM_atomicExpr
+ | 676 -> NONTERM_atomicExpr
+ | 677 -> NONTERM_atomicExpr
+ | 678 -> NONTERM_atomicExpr
+ | 679 -> NONTERM_atomicExpr
+ | 680 -> NONTERM_atomicExpr
+ | 681 -> NONTERM_atomicExpr
+ | 682 -> NONTERM_atomicExpr
+ | 683 -> NONTERM_atomicExpr
+ | 684 -> NONTERM_atomicExpr
+ | 685 -> NONTERM_atomicExpr
+ | 686 -> NONTERM_atomicExpr
+ | 687 -> NONTERM_atomicExpr
+ | 688 -> NONTERM_atomicExpr
+ | 689 -> NONTERM_atomicExprQualification
+ | 690 -> NONTERM_atomicExprQualification
+ | 691 -> NONTERM_atomicExprQualification
+ | 692 -> NONTERM_atomicExprQualification
+ | 693 -> NONTERM_atomicExprQualification
+ | 694 -> NONTERM_atomicExprQualification
+ | 695 -> NONTERM_atomicExprQualification
+ | 696 -> NONTERM_atomicExprQualification
+ | 697 -> NONTERM_atomicExprQualification
+ | 698 -> NONTERM_atomicExprQualification
+ | 699 -> NONTERM_atomicExprQualification
+ | 700 -> NONTERM_optRangeSeqExpr
+ | 701 -> NONTERM_optRangeSeqExpr
+ | 702 -> NONTERM_optRange
+ | 703 -> NONTERM_optRange
+ | 704 -> NONTERM_optRange
+ | 705 -> NONTERM_optRange
+ | 706 -> NONTERM_optRange
+ | 707 -> NONTERM_rangeDeclExpr
+ | 708 -> NONTERM_rangeDeclExpr
+ | 709 -> NONTERM_atomicExprAfterType
+ | 710 -> NONTERM_atomicExprAfterType
+ | 711 -> NONTERM_atomicExprAfterType
+ | 712 -> NONTERM_atomicExprAfterType
+ | 713 -> NONTERM_atomicExprAfterType
+ | 714 -> NONTERM_atomicExprAfterType
+ | 715 -> NONTERM_atomicExprAfterType
+ | 716 -> NONTERM_atomicExprAfterType
+ | 717 -> NONTERM_atomicExprAfterType
+ | 718 -> NONTERM_atomicExprAfterType
+ | 719 -> NONTERM_beginEndExpr
+ | 720 -> NONTERM_beginEndExpr
+ | 721 -> NONTERM_beginEndExpr
+ | 722 -> NONTERM_beginEndExpr
+ | 723 -> NONTERM_quoteExpr
+ | 724 -> NONTERM_quoteExpr
+ | 725 -> NONTERM_quoteExpr
+ | 726 -> NONTERM_quoteExpr
+ | 727 -> NONTERM_arrayExpr
+ | 728 -> NONTERM_arrayExpr
+ | 729 -> NONTERM_arrayExpr
+ | 730 -> NONTERM_arrayExpr
+ | 731 -> NONTERM_parenExpr
+ | 732 -> NONTERM_parenExpr
+ | 733 -> NONTERM_parenExpr
+ | 734 -> NONTERM_parenExpr
+ | 735 -> NONTERM_parenExpr
+ | 736 -> NONTERM_parenExpr
+ | 737 -> NONTERM_parenExpr
+ | 738 -> NONTERM_parenExpr
+ | 739 -> NONTERM_parenExpr
+ | 740 -> NONTERM_parenExprBody
+ | 741 -> NONTERM_parenExprBody
+ | 742 -> NONTERM_parenExprBody
+ | 743 -> NONTERM_staticallyKnownHeadTypars
+ | 744 -> NONTERM_staticallyKnownHeadTypars
+ | 745 -> NONTERM_staticallyKnownHeadTyparAlts
+ | 746 -> NONTERM_staticallyKnownHeadTyparAlts
+ | 747 -> NONTERM_braceExpr
+ | 748 -> NONTERM_braceExpr
+ | 749 -> NONTERM_braceExpr
+ | 750 -> NONTERM_braceExpr
+ | 751 -> NONTERM_braceExpr
+ | 752 -> NONTERM_braceExprBody
+ | 753 -> NONTERM_braceExprBody
+ | 754 -> NONTERM_braceExprBody
+ | 755 -> NONTERM_listExprElements
+ | 756 -> NONTERM_listExprElements
+ | 757 -> NONTERM_monadicExprInitial
+ | 758 -> NONTERM_monadicExprInitial
+ | 759 -> NONTERM_rangeSequenceExpr
+ | 760 -> NONTERM_rangeSequenceExpr
+ | 761 -> NONTERM_rangeSequenceExpr
+ | 762 -> NONTERM_arrowThenExprR
+ | 763 -> NONTERM_forLoopBinder
+ | 764 -> NONTERM_forLoopBinder
+ | 765 -> NONTERM_forLoopBinder
+ | 766 -> NONTERM_forLoopBinder
+ | 767 -> NONTERM_forLoopRange
+ | 768 -> NONTERM_forLoopRange
+ | 769 -> NONTERM_forLoopDirection
+ | 770 -> NONTERM_forLoopDirection
+ | 771 -> NONTERM_inlineAssemblyExpr
+ | 772 -> NONTERM_opt_curriedArgExprs
+ | 773 -> NONTERM_opt_curriedArgExprs
+ | 774 -> NONTERM_opt_atomicExprAfterType
+ | 775 -> NONTERM_opt_atomicExprAfterType
+ | 776 -> NONTERM_opt_inlineAssemblyTypeArg
+ | 777 -> NONTERM_opt_inlineAssemblyTypeArg
+ | 778 -> NONTERM_opt_inlineAssemblyReturnTypes
+ | 779 -> NONTERM_opt_inlineAssemblyReturnTypes
+ | 780 -> NONTERM_opt_inlineAssemblyReturnTypes
+ | 781 -> NONTERM_recdExpr
+ | 782 -> NONTERM_recdExpr
+ | 783 -> NONTERM_recdExprCore
+ | 784 -> NONTERM_recdExprCore
+ | 785 -> NONTERM_recdExprCore
+ | 786 -> NONTERM_recdExprCore
+ | 787 -> NONTERM_recdExprCore
+ | 788 -> NONTERM_recdExprCore
+ | 789 -> NONTERM_recdExprCore
+ | 790 -> NONTERM_opt_seps_recd
+ | 791 -> NONTERM_opt_seps_recd
+ | 792 -> NONTERM_seps_recd
+ | 793 -> NONTERM_seps_recd
+ | 794 -> NONTERM_seps_recd
+ | 795 -> NONTERM_seps_recd
+ | 796 -> NONTERM_pathOrUnderscore
+ | 797 -> NONTERM_pathOrUnderscore
+ | 798 -> NONTERM_recdExprBindings
+ | 799 -> NONTERM_recdExprBindings
+ | 800 -> NONTERM_recdBinding
+ | 801 -> NONTERM_recdBinding
+ | 802 -> NONTERM_recdBinding
+ | 803 -> NONTERM_recdBinding
+ | 804 -> NONTERM_recdBinding
+ | 805 -> NONTERM_objExpr
+ | 806 -> NONTERM_objExpr
+ | 807 -> NONTERM_objExpr
+ | 808 -> NONTERM_objExprBaseCall
+ | 809 -> NONTERM_objExprBaseCall
+ | 810 -> NONTERM_objExprBaseCall
+ | 811 -> NONTERM_opt_objExprBindings
+ | 812 -> NONTERM_opt_objExprBindings
+ | 813 -> NONTERM_objExprBindings
+ | 814 -> NONTERM_objExprBindings
+ | 815 -> NONTERM_objExprBindings
+ | 816 -> NONTERM_objExprInterfaces
+ | 817 -> NONTERM_opt_objExprInterfaces
+ | 818 -> NONTERM_opt_objExprInterfaces
+ | 819 -> NONTERM_opt_objExprInterfaces
+ | 820 -> NONTERM_objExprInterface
+ | 821 -> NONTERM_braceBarExpr
+ | 822 -> NONTERM_braceBarExpr
+ | 823 -> NONTERM_braceBarExprCore
+ | 824 -> NONTERM_braceBarExprCore
+ | 825 -> NONTERM_braceBarExprCore
+ | 826 -> NONTERM_braceBarExprCore
+ | 827 -> NONTERM_braceBarExprCore
+ | 828 -> NONTERM_anonLambdaExpr
+ | 829 -> NONTERM_anonLambdaExpr
+ | 830 -> NONTERM_anonLambdaExpr
+ | 831 -> NONTERM_anonLambdaExpr
+ | 832 -> NONTERM_anonLambdaExpr
+ | 833 -> NONTERM_anonLambdaExpr
+ | 834 -> NONTERM_anonLambdaExpr
+ | 835 -> NONTERM_anonLambdaExpr
+ | 836 -> NONTERM_anonMatchingExpr
+ | 837 -> NONTERM_anonMatchingExpr
+ | 838 -> NONTERM_typeWithTypeConstraints
+ | 839 -> NONTERM_typeWithTypeConstraints
+ | 840 -> NONTERM_topTypeWithTypeConstraints
+ | 841 -> NONTERM_topTypeWithTypeConstraints
+ | 842 -> NONTERM_opt_topReturnTypeWithTypeConstraints
+ | 843 -> NONTERM_opt_topReturnTypeWithTypeConstraints
+ | 844 -> NONTERM_topType
+ | 845 -> NONTERM_topType
+ | 846 -> NONTERM_topTupleType
+ | 847 -> NONTERM_topTupleType
+ | 848 -> NONTERM_topTupleTypeElements
+ | 849 -> NONTERM_topTupleTypeElements
+ | 850 -> NONTERM_topAppType
+ | 851 -> NONTERM_topAppType
+ | 852 -> NONTERM_topAppType
+ | 853 -> NONTERM_topAppType
+ | 854 -> NONTERM_topAppType
+ | 855 -> NONTERM_topAppType
+ | 856 -> NONTERM_typ
+ | 857 -> NONTERM_typ
+ | 858 -> NONTERM_typEOF
+ | 859 -> NONTERM_tupleType
+ | 860 -> NONTERM_tupleType
+ | 861 -> NONTERM_tupleType
+ | 862 -> NONTERM_tupleType
+ | 863 -> NONTERM_tupleOrQuotTypeElements
+ | 864 -> NONTERM_tupleOrQuotTypeElements
+ | 865 -> NONTERM_tupleOrQuotTypeElements
+ | 866 -> NONTERM_appTypeCon
+ | 867 -> NONTERM_appTypeCon
+ | 868 -> NONTERM_appTypeConPower
+ | 869 -> NONTERM_appTypeConPower
+ | 870 -> NONTERM_appType
+ | 871 -> NONTERM_appType
+ | 872 -> NONTERM_appType
+ | 873 -> NONTERM_appType
+ | 874 -> NONTERM_appType
+ | 875 -> NONTERM_appType
+ | 876 -> NONTERM_appType
+ | 877 -> NONTERM_arrayTypeSuffix
+ | 878 -> NONTERM_arrayTypeSuffix
+ | 879 -> NONTERM_arrayTypeSuffix
+ | 880 -> NONTERM_arrayTypeSuffix
+ | 881 -> NONTERM_appTypePrefixArguments
+ | 882 -> NONTERM_typeArgListElements
+ | 883 -> NONTERM_typeArgListElements
+ | 884 -> NONTERM_typeArgListElements
+ | 885 -> NONTERM_powerType
+ | 886 -> NONTERM_powerType
+ | 887 -> NONTERM_atomTypeNonAtomicDeprecated
+ | 888 -> NONTERM_atomTypeNonAtomicDeprecated
+ | 889 -> NONTERM_atomTypeOrAnonRecdType
+ | 890 -> NONTERM_atomTypeOrAnonRecdType
+ | 891 -> NONTERM_atomType
+ | 892 -> NONTERM_atomType
+ | 893 -> NONTERM_atomType
+ | 894 -> NONTERM_atomType
+ | 895 -> NONTERM_atomType
+ | 896 -> NONTERM_atomType
+ | 897 -> NONTERM_atomType
+ | 898 -> NONTERM_atomType
+ | 899 -> NONTERM_atomType
+ | 900 -> NONTERM_atomType
+ | 901 -> NONTERM_atomType
+ | 902 -> NONTERM_atomType
+ | 903 -> NONTERM_atomType
+ | 904 -> NONTERM_atomType
+ | 905 -> NONTERM_atomType
+ | 906 -> NONTERM_atomType
+ | 907 -> NONTERM_atomType
+ | 908 -> NONTERM_atomType
+ | 909 -> NONTERM_atomType
+ | 910 -> NONTERM_atomType
+ | 911 -> NONTERM_typeArgsNoHpaDeprecated
+ | 912 -> NONTERM_typeArgsNoHpaDeprecated
+ | 913 -> NONTERM_typeArgsActual
+ | 914 -> NONTERM_typeArgsActual
+ | 915 -> NONTERM_typeArgsActual
+ | 916 -> NONTERM_typeArgsActual
+ | 917 -> NONTERM_typeArgsActual
+ | 918 -> NONTERM_typeArgsActual
+ | 919 -> NONTERM_typeArgsActual
+ | 920 -> NONTERM_typeArgActual
+ | 921 -> NONTERM_typeArgActual
+ | 922 -> NONTERM_typeArgActual
+ | 923 -> NONTERM_typeArgActualOrDummyIfEmpty
+ | 924 -> NONTERM_typeArgActualOrDummyIfEmpty
+ | 925 -> NONTERM_dummyTypeArg
+ | 926 -> NONTERM_measureTypeArg
+ | 927 -> NONTERM_measureTypeArg
+ | 928 -> NONTERM_measureTypeAtom
+ | 929 -> NONTERM_measureTypeAtom
+ | 930 -> NONTERM_measureTypeAtom
+ | 931 -> NONTERM_measureTypePower
+ | 932 -> NONTERM_measureTypePower
+ | 933 -> NONTERM_measureTypePower
+ | 934 -> NONTERM_measureTypeSeq
+ | 935 -> NONTERM_measureTypeSeq
+ | 936 -> NONTERM_measureTypeExpr
+ | 937 -> NONTERM_measureTypeExpr
+ | 938 -> NONTERM_measureTypeExpr
+ | 939 -> NONTERM_measureTypeExpr
+ | 940 -> NONTERM_typar
+ | 941 -> NONTERM_typar
+ | 942 -> NONTERM_staticallyKnownHeadTypar
+ | 943 -> NONTERM_ident
+ | 944 -> NONTERM_path
+ | 945 -> NONTERM_path
+ | 946 -> NONTERM_path
+ | 947 -> NONTERM_path
+ | 948 -> NONTERM_opName
+ | 949 -> NONTERM_opName
+ | 950 -> NONTERM_opName
+ | 951 -> NONTERM_opName
+ | 952 -> NONTERM_opName
+ | 953 -> NONTERM_operatorName
+ | 954 -> NONTERM_operatorName
+ | 955 -> NONTERM_operatorName
+ | 956 -> NONTERM_operatorName
+ | 957 -> NONTERM_operatorName
+ | 958 -> NONTERM_operatorName
+ | 959 -> NONTERM_operatorName
+ | 960 -> NONTERM_operatorName
+ | 961 -> NONTERM_operatorName
+ | 962 -> NONTERM_operatorName
+ | 963 -> NONTERM_operatorName
+ | 964 -> NONTERM_operatorName
+ | 965 -> NONTERM_operatorName
+ | 966 -> NONTERM_operatorName
+ | 967 -> NONTERM_operatorName
+ | 968 -> NONTERM_operatorName
+ | 969 -> NONTERM_operatorName
+ | 970 -> NONTERM_operatorName
+ | 971 -> NONTERM_operatorName
+ | 972 -> NONTERM_operatorName
+ | 973 -> NONTERM_operatorName
+ | 974 -> NONTERM_operatorName
+ | 975 -> NONTERM_operatorName
+ | 976 -> NONTERM_operatorName
+ | 977 -> NONTERM_operatorName
+ | 978 -> NONTERM_operatorName
+ | 979 -> NONTERM_activePatternCaseName
+ | 980 -> NONTERM_activePatternCaseNames
+ | 981 -> NONTERM_activePatternCaseNames
+ | 982 -> NONTERM_identOrOp
+ | 983 -> NONTERM_identOrOp
+ | 984 -> NONTERM_pathOp
+ | 985 -> NONTERM_pathOp
+ | 986 -> NONTERM_pathOp
+ | 987 -> NONTERM_pathOp
+ | 988 -> NONTERM_nameop
+ | 989 -> NONTERM_topSeparator
+ | 990 -> NONTERM_topSeparator
+ | 991 -> NONTERM_topSeparator
+ | 992 -> NONTERM_topSeparators
+ | 993 -> NONTERM_topSeparators
+ | 994 -> NONTERM_opt_topSeparators
+ | 995 -> NONTERM_opt_topSeparators
+ | 996 -> NONTERM_seps
+ | 997 -> NONTERM_seps
+ | 998 -> NONTERM_seps
+ | 999 -> NONTERM_seps
+ | 1000 -> NONTERM_declEnd
+ | 1001 -> NONTERM_declEnd
+ | 1002 -> NONTERM_declEnd
+ | 1003 -> NONTERM_opt_declEnd
+ | 1004 -> NONTERM_opt_declEnd
+ | 1005 -> NONTERM_opt_declEnd
+ | 1006 -> NONTERM_opt_declEnd
+ | 1007 -> NONTERM_opt_ODECLEND
+ | 1008 -> NONTERM_opt_ODECLEND
+ | 1009 -> NONTERM_deprecated_opt_equals
+ | 1010 -> NONTERM_deprecated_opt_equals
+ | 1011 -> NONTERM_opt_OBLOCKSEP
+ | 1012 -> NONTERM_opt_OBLOCKSEP
+ | 1013 -> NONTERM_opt_seps
+ | 1014 -> NONTERM_opt_seps
+ | 1015 -> NONTERM_opt_rec
+ | 1016 -> NONTERM_opt_rec
+ | 1017 -> NONTERM_opt_bar
+ | 1018 -> NONTERM_opt_bar
+ | 1019 -> NONTERM_opt_inline
+ | 1020 -> NONTERM_opt_inline
+ | 1021 -> NONTERM_opt_mutable
+ | 1022 -> NONTERM_opt_mutable
+ | 1023 -> NONTERM_doToken
+ | 1024 -> NONTERM_doToken
+ | 1025 -> NONTERM_doneDeclEnd
+ | 1026 -> NONTERM_doneDeclEnd
+ | 1027 -> NONTERM_structOrBegin
+ | 1028 -> NONTERM_structOrBegin
+ | 1029 -> NONTERM_sigOrBegin
+ | 1030 -> NONTERM_sigOrBegin
+ | 1031 -> NONTERM_colonOrEquals
+ | 1032 -> NONTERM_colonOrEquals
+ | 1033 -> NONTERM_stringOrKeywordString
+ | 1034 -> NONTERM_stringOrKeywordString
+ | 1035 -> NONTERM_opt_HIGH_PRECEDENCE_APP
+ | 1036 -> NONTERM_opt_HIGH_PRECEDENCE_APP
+ | 1037 -> NONTERM_opt_HIGH_PRECEDENCE_APP
+ | 1038 -> NONTERM_opt_HIGH_PRECEDENCE_TYAPP
+ | 1039 -> NONTERM_opt_HIGH_PRECEDENCE_TYAPP
+ | 1040 -> NONTERM_typeKeyword
+ | 1041 -> NONTERM_typeKeyword
+ | 1042 -> NONTERM_typeKeyword
+ | 1043 -> NONTERM_moduleKeyword
+ | 1044 -> NONTERM_moduleKeyword
+ | 1045 -> NONTERM_moduleKeyword
+ | 1046 -> NONTERM_rbrace
+ | 1047 -> NONTERM_rbrace
+ | 1048 -> NONTERM_rbrace
+ | 1049 -> NONTERM_bar_rbrace
+ | 1050 -> NONTERM_rparen
+ | 1051 -> NONTERM_rparen
+ | 1052 -> NONTERM_rparen
+ | 1053 -> NONTERM_oblockend
+ | 1054 -> NONTERM_oblockend
+ | 1055 -> NONTERM_oblockend
+ | 1056 -> NONTERM_ends_other_than_rparen_coming_soon_or_recover
+ | 1057 -> NONTERM_ends_other_than_rparen_coming_soon_or_recover
+ | 1058 -> NONTERM_ends_other_than_rparen_coming_soon_or_recover
+ | 1059 -> NONTERM_ends_other_than_rparen_coming_soon_or_recover
+ | 1060 -> NONTERM_ends_other_than_rparen_coming_soon_or_recover
+ | 1061 -> NONTERM_ends_coming_soon_or_recover
+ | 1062 -> NONTERM_ends_coming_soon_or_recover
+ | 1063 -> NONTERM_ends_coming_soon_or_recover
+ | 1064 -> NONTERM_ends_coming_soon_or_recover
+ | 1065 -> NONTERM_ends_coming_soon_or_recover
+ | 1066 -> NONTERM_ends_coming_soon_or_recover
+ | _ -> failwith "prodIdxToNonTerminal: bad production index"
+
+let _fsyacc_endOfInputTag = 197
+let _fsyacc_tagOfErrorTerminal = 195
+
+// This function gets the name of a token as a string
+let token_to_string (t:token) =
+ match t with
+ | HASH_IF _ -> "HASH_IF"
+ | HASH_ELSE _ -> "HASH_ELSE"
+ | HASH_ENDIF _ -> "HASH_ENDIF"
+ | COMMENT _ -> "COMMENT"
+ | WHITESPACE _ -> "WHITESPACE"
+ | HASH_LINE _ -> "HASH_LINE"
+ | HASH_LIGHT _ -> "HASH_LIGHT"
+ | INACTIVECODE _ -> "INACTIVECODE"
+ | LINE_COMMENT _ -> "LINE_COMMENT"
+ | STRING_TEXT _ -> "STRING_TEXT"
+ | EOF _ -> "EOF"
+ | LEX_FAILURE _ -> "LEX_FAILURE"
+ | ODUMMY _ -> "ODUMMY"
+ | FIXED -> "FIXED"
+ | OINTERFACE_MEMBER -> "OINTERFACE_MEMBER"
+ | OBLOCKEND -> "OBLOCKEND"
+ | OBLOCKEND_COMING_SOON -> "OBLOCKEND_COMING_SOON"
+ | OBLOCKEND_IS_HERE -> "OBLOCKEND_IS_HERE"
+ | ORIGHT_BLOCK_END -> "ORIGHT_BLOCK_END"
+ | ODECLEND -> "ODECLEND"
+ | OEND -> "OEND"
+ | OBLOCKSEP -> "OBLOCKSEP"
+ | OBLOCKBEGIN -> "OBLOCKBEGIN"
+ | ORESET -> "ORESET"
+ | OFUN -> "OFUN"
+ | OFUNCTION -> "OFUNCTION"
+ | OWITH -> "OWITH"
+ | OELSE -> "OELSE"
+ | OTHEN -> "OTHEN"
+ | ODO_BANG -> "ODO_BANG"
+ | ODO -> "ODO"
+ | OBINDER _ -> "OBINDER"
+ | OLET _ -> "OLET"
+ | HIGH_PRECEDENCE_TYAPP -> "HIGH_PRECEDENCE_TYAPP"
+ | HIGH_PRECEDENCE_PAREN_APP -> "HIGH_PRECEDENCE_PAREN_APP"
+ | HIGH_PRECEDENCE_BRACK_APP -> "HIGH_PRECEDENCE_BRACK_APP"
+ | TYPE_COMING_SOON -> "TYPE_COMING_SOON"
+ | TYPE_IS_HERE -> "TYPE_IS_HERE"
+ | MODULE_COMING_SOON -> "MODULE_COMING_SOON"
+ | MODULE_IS_HERE -> "MODULE_IS_HERE"
+ | EXTERN -> "EXTERN"
+ | VOID -> "VOID"
+ | PUBLIC -> "PUBLIC"
+ | PRIVATE -> "PRIVATE"
+ | INTERNAL -> "INTERNAL"
+ | GLOBAL -> "GLOBAL"
+ | STATIC -> "STATIC"
+ | MEMBER -> "MEMBER"
+ | CLASS -> "CLASS"
+ | ABSTRACT -> "ABSTRACT"
+ | OVERRIDE -> "OVERRIDE"
+ | DEFAULT -> "DEFAULT"
+ | CONSTRUCTOR -> "CONSTRUCTOR"
+ | INHERIT -> "INHERIT"
+ | GREATER_RBRACK -> "GREATER_RBRACK"
+ | STRUCT -> "STRUCT"
+ | SIG -> "SIG"
+ | BAR -> "BAR"
+ | RBRACK -> "RBRACK"
+ | RBRACE -> "RBRACE"
+ | RBRACE_COMING_SOON -> "RBRACE_COMING_SOON"
+ | RBRACE_IS_HERE -> "RBRACE_IS_HERE"
+ | MINUS -> "MINUS"
+ | DOLLAR -> "DOLLAR"
+ | BAR_RBRACK -> "BAR_RBRACK"
+ | BAR_RBRACE -> "BAR_RBRACE"
+ | UNDERSCORE -> "UNDERSCORE"
+ | SEMICOLON_SEMICOLON -> "SEMICOLON_SEMICOLON"
+ | LARROW -> "LARROW"
+ | EQUALS -> "EQUALS"
+ | LBRACK -> "LBRACK"
+ | LBRACK_BAR -> "LBRACK_BAR"
+ | LBRACE_BAR -> "LBRACE_BAR"
+ | LBRACK_LESS -> "LBRACK_LESS"
+ | LBRACE -> "LBRACE"
+ | QMARK -> "QMARK"
+ | QMARK_QMARK -> "QMARK_QMARK"
+ | DOT -> "DOT"
+ | COLON -> "COLON"
+ | COLON_COLON -> "COLON_COLON"
+ | COLON_GREATER -> "COLON_GREATER"
+ | COLON_QMARK_GREATER -> "COLON_QMARK_GREATER"
+ | COLON_QMARK -> "COLON_QMARK"
+ | COLON_EQUALS -> "COLON_EQUALS"
+ | SEMICOLON -> "SEMICOLON"
+ | WHEN -> "WHEN"
+ | WHILE -> "WHILE"
+ | WITH -> "WITH"
+ | HASH -> "HASH"
+ | AMP -> "AMP"
+ | AMP_AMP -> "AMP_AMP"
+ | QUOTE -> "QUOTE"
+ | LPAREN -> "LPAREN"
+ | RPAREN -> "RPAREN"
+ | RPAREN_COMING_SOON -> "RPAREN_COMING_SOON"
+ | RPAREN_IS_HERE -> "RPAREN_IS_HERE"
+ | STAR -> "STAR"
+ | COMMA -> "COMMA"
+ | RARROW -> "RARROW"
+ | GREATER_BAR_RBRACK -> "GREATER_BAR_RBRACK"
+ | LPAREN_STAR_RPAREN -> "LPAREN_STAR_RPAREN"
+ | OPEN -> "OPEN"
+ | OR -> "OR"
+ | REC -> "REC"
+ | THEN -> "THEN"
+ | TO -> "TO"
+ | TRUE -> "TRUE"
+ | TRY -> "TRY"
+ | TYPE -> "TYPE"
+ | VAL -> "VAL"
+ | INLINE -> "INLINE"
+ | INTERFACE -> "INTERFACE"
+ | INSTANCE -> "INSTANCE"
+ | CONST -> "CONST"
+ | LAZY -> "LAZY"
+ | OLAZY -> "OLAZY"
+ | MATCH -> "MATCH"
+ | MATCH_BANG -> "MATCH_BANG"
+ | MUTABLE -> "MUTABLE"
+ | NEW -> "NEW"
+ | OF -> "OF"
+ | EXCEPTION -> "EXCEPTION"
+ | FALSE -> "FALSE"
+ | FOR -> "FOR"
+ | FUN -> "FUN"
+ | FUNCTION -> "FUNCTION"
+ | IF -> "IF"
+ | IN -> "IN"
+ | JOIN_IN -> "JOIN_IN"
+ | FINALLY -> "FINALLY"
+ | DO_BANG -> "DO_BANG"
+ | AND -> "AND"
+ | AS -> "AS"
+ | ASSERT -> "ASSERT"
+ | OASSERT -> "OASSERT"
+ | ASR -> "ASR"
+ | BEGIN -> "BEGIN"
+ | DO -> "DO"
+ | DONE -> "DONE"
+ | DOWNTO -> "DOWNTO"
+ | ELSE -> "ELSE"
+ | ELIF -> "ELIF"
+ | END -> "END"
+ | DOT_DOT -> "DOT_DOT"
+ | DOT_DOT_HAT -> "DOT_DOT_HAT"
+ | BAR_BAR -> "BAR_BAR"
+ | UPCAST -> "UPCAST"
+ | DOWNCAST -> "DOWNCAST"
+ | NULL -> "NULL"
+ | RESERVED -> "RESERVED"
+ | MODULE -> "MODULE"
+ | NAMESPACE -> "NAMESPACE"
+ | DELEGATE -> "DELEGATE"
+ | CONSTRAINT -> "CONSTRAINT"
+ | BASE -> "BASE"
+ | LQUOTE _ -> "LQUOTE"
+ | RQUOTE _ -> "RQUOTE"
+ | RQUOTE_DOT _ -> "RQUOTE_DOT"
+ | PERCENT_OP _ -> "PERCENT_OP"
+ | BINDER _ -> "BINDER"
+ | LESS _ -> "LESS"
+ | GREATER _ -> "GREATER"
+ | LET _ -> "LET"
+ | YIELD _ -> "YIELD"
+ | YIELD_BANG _ -> "YIELD_BANG"
+ | BIGNUM _ -> "BIGNUM"
+ | DECIMAL _ -> "DECIMAL"
+ | CHAR _ -> "CHAR"
+ | IEEE64 _ -> "IEEE64"
+ | IEEE32 _ -> "IEEE32"
+ | NATIVEINT _ -> "NATIVEINT"
+ | UNATIVEINT _ -> "UNATIVEINT"
+ | UINT64 _ -> "UINT64"
+ | UINT32 _ -> "UINT32"
+ | UINT16 _ -> "UINT16"
+ | UINT8 _ -> "UINT8"
+ | INT64 _ -> "INT64"
+ | INT32 _ -> "INT32"
+ | INT32_DOT_DOT _ -> "INT32_DOT_DOT"
+ | INT16 _ -> "INT16"
+ | INT8 _ -> "INT8"
+ | FUNKY_OPERATOR_NAME _ -> "FUNKY_OPERATOR_NAME"
+ | ADJACENT_PREFIX_OP _ -> "ADJACENT_PREFIX_OP"
+ | PLUS_MINUS_OP _ -> "PLUS_MINUS_OP"
+ | INFIX_AMP_OP _ -> "INFIX_AMP_OP"
+ | INFIX_STAR_DIV_MOD_OP _ -> "INFIX_STAR_DIV_MOD_OP"
+ | PREFIX_OP _ -> "PREFIX_OP"
+ | INFIX_BAR_OP _ -> "INFIX_BAR_OP"
+ | INFIX_AT_HAT_OP _ -> "INFIX_AT_HAT_OP"
+ | INFIX_COMPARE_OP _ -> "INFIX_COMPARE_OP"
+ | INFIX_STAR_STAR_OP _ -> "INFIX_STAR_STAR_OP"
+ | IDENT _ -> "IDENT"
+ | KEYWORD_STRING _ -> "KEYWORD_STRING"
+ | STRING _ -> "STRING"
+ | BYTEARRAY _ -> "BYTEARRAY"
+
+// This function gets the data carried by a token as an object
+let _fsyacc_dataOfToken (t:token) =
+ match t with
+ | HASH_IF _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | HASH_ELSE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | HASH_ENDIF _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | COMMENT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | WHITESPACE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | HASH_LINE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | HASH_LIGHT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INACTIVECODE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | LINE_COMMENT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | STRING_TEXT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | EOF _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | LEX_FAILURE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | ODUMMY _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | FIXED -> (null : System.Object)
+ | OINTERFACE_MEMBER -> (null : System.Object)
+ | OBLOCKEND -> (null : System.Object)
+ | OBLOCKEND_COMING_SOON -> (null : System.Object)
+ | OBLOCKEND_IS_HERE -> (null : System.Object)
+ | ORIGHT_BLOCK_END -> (null : System.Object)
+ | ODECLEND -> (null : System.Object)
+ | OEND -> (null : System.Object)
+ | OBLOCKSEP -> (null : System.Object)
+ | OBLOCKBEGIN -> (null : System.Object)
+ | ORESET -> (null : System.Object)
+ | OFUN -> (null : System.Object)
+ | OFUNCTION -> (null : System.Object)
+ | OWITH -> (null : System.Object)
+ | OELSE -> (null : System.Object)
+ | OTHEN -> (null : System.Object)
+ | ODO_BANG -> (null : System.Object)
+ | ODO -> (null : System.Object)
+ | OBINDER _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | OLET _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | HIGH_PRECEDENCE_TYAPP -> (null : System.Object)
+ | HIGH_PRECEDENCE_PAREN_APP -> (null : System.Object)
+ | HIGH_PRECEDENCE_BRACK_APP -> (null : System.Object)
+ | TYPE_COMING_SOON -> (null : System.Object)
+ | TYPE_IS_HERE -> (null : System.Object)
+ | MODULE_COMING_SOON -> (null : System.Object)
+ | MODULE_IS_HERE -> (null : System.Object)
+ | EXTERN -> (null : System.Object)
+ | VOID -> (null : System.Object)
+ | PUBLIC -> (null : System.Object)
+ | PRIVATE -> (null : System.Object)
+ | INTERNAL -> (null : System.Object)
+ | GLOBAL -> (null : System.Object)
+ | STATIC -> (null : System.Object)
+ | MEMBER -> (null : System.Object)
+ | CLASS -> (null : System.Object)
+ | ABSTRACT -> (null : System.Object)
+ | OVERRIDE -> (null : System.Object)
+ | DEFAULT -> (null : System.Object)
+ | CONSTRUCTOR -> (null : System.Object)
+ | INHERIT -> (null : System.Object)
+ | GREATER_RBRACK -> (null : System.Object)
+ | STRUCT -> (null : System.Object)
+ | SIG -> (null : System.Object)
+ | BAR -> (null : System.Object)
+ | RBRACK -> (null : System.Object)
+ | RBRACE -> (null : System.Object)
+ | RBRACE_COMING_SOON -> (null : System.Object)
+ | RBRACE_IS_HERE -> (null : System.Object)
+ | MINUS -> (null : System.Object)
+ | DOLLAR -> (null : System.Object)
+ | BAR_RBRACK -> (null : System.Object)
+ | BAR_RBRACE -> (null : System.Object)
+ | UNDERSCORE -> (null : System.Object)
+ | SEMICOLON_SEMICOLON -> (null : System.Object)
+ | LARROW -> (null : System.Object)
+ | EQUALS -> (null : System.Object)
+ | LBRACK -> (null : System.Object)
+ | LBRACK_BAR -> (null : System.Object)
+ | LBRACE_BAR -> (null : System.Object)
+ | LBRACK_LESS -> (null : System.Object)
+ | LBRACE -> (null : System.Object)
+ | QMARK -> (null : System.Object)
+ | QMARK_QMARK -> (null : System.Object)
+ | DOT -> (null : System.Object)
+ | COLON -> (null : System.Object)
+ | COLON_COLON -> (null : System.Object)
+ | COLON_GREATER -> (null : System.Object)
+ | COLON_QMARK_GREATER -> (null : System.Object)
+ | COLON_QMARK -> (null : System.Object)
+ | COLON_EQUALS -> (null : System.Object)
+ | SEMICOLON -> (null : System.Object)
+ | WHEN -> (null : System.Object)
+ | WHILE -> (null : System.Object)
+ | WITH -> (null : System.Object)
+ | HASH -> (null : System.Object)
+ | AMP -> (null : System.Object)
+ | AMP_AMP -> (null : System.Object)
+ | QUOTE -> (null : System.Object)
+ | LPAREN -> (null : System.Object)
+ | RPAREN -> (null : System.Object)
+ | RPAREN_COMING_SOON -> (null : System.Object)
+ | RPAREN_IS_HERE -> (null : System.Object)
+ | STAR -> (null : System.Object)
+ | COMMA -> (null : System.Object)
+ | RARROW -> (null : System.Object)
+ | GREATER_BAR_RBRACK -> (null : System.Object)
+ | LPAREN_STAR_RPAREN -> (null : System.Object)
+ | OPEN -> (null : System.Object)
+ | OR -> (null : System.Object)
+ | REC -> (null : System.Object)
+ | THEN -> (null : System.Object)
+ | TO -> (null : System.Object)
+ | TRUE -> (null : System.Object)
+ | TRY -> (null : System.Object)
+ | TYPE -> (null : System.Object)
+ | VAL -> (null : System.Object)
+ | INLINE -> (null : System.Object)
+ | INTERFACE -> (null : System.Object)
+ | INSTANCE -> (null : System.Object)
+ | CONST -> (null : System.Object)
+ | LAZY -> (null : System.Object)
+ | OLAZY -> (null : System.Object)
+ | MATCH -> (null : System.Object)
+ | MATCH_BANG -> (null : System.Object)
+ | MUTABLE -> (null : System.Object)
+ | NEW -> (null : System.Object)
+ | OF -> (null : System.Object)
+ | EXCEPTION -> (null : System.Object)
+ | FALSE -> (null : System.Object)
+ | FOR -> (null : System.Object)
+ | FUN -> (null : System.Object)
+ | FUNCTION -> (null : System.Object)
+ | IF -> (null : System.Object)
+ | IN -> (null : System.Object)
+ | JOIN_IN -> (null : System.Object)
+ | FINALLY -> (null : System.Object)
+ | DO_BANG -> (null : System.Object)
+ | AND -> (null : System.Object)
+ | AS -> (null : System.Object)
+ | ASSERT -> (null : System.Object)
+ | OASSERT -> (null : System.Object)
+ | ASR -> (null : System.Object)
+ | BEGIN -> (null : System.Object)
+ | DO -> (null : System.Object)
+ | DONE -> (null : System.Object)
+ | DOWNTO -> (null : System.Object)
+ | ELSE -> (null : System.Object)
+ | ELIF -> (null : System.Object)
+ | END -> (null : System.Object)
+ | DOT_DOT -> (null : System.Object)
+ | DOT_DOT_HAT -> (null : System.Object)
+ | BAR_BAR -> (null : System.Object)
+ | UPCAST -> (null : System.Object)
+ | DOWNCAST -> (null : System.Object)
+ | NULL -> (null : System.Object)
+ | RESERVED -> (null : System.Object)
+ | MODULE -> (null : System.Object)
+ | NAMESPACE -> (null : System.Object)
+ | DELEGATE -> (null : System.Object)
+ | CONSTRAINT -> (null : System.Object)
+ | BASE -> (null : System.Object)
+ | LQUOTE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | RQUOTE _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | RQUOTE_DOT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | PERCENT_OP _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | BINDER _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | LESS _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | GREATER _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | LET _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | YIELD _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | YIELD_BANG _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | BIGNUM _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | DECIMAL _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | CHAR _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | IEEE64 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | IEEE32 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | NATIVEINT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | UNATIVEINT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | UINT64 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | UINT32 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | UINT16 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | UINT8 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INT64 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INT32 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INT32_DOT_DOT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INT16 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INT8 _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | FUNKY_OPERATOR_NAME _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | ADJACENT_PREFIX_OP _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | PLUS_MINUS_OP _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INFIX_AMP_OP _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INFIX_STAR_DIV_MOD_OP _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | PREFIX_OP _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INFIX_BAR_OP _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INFIX_AT_HAT_OP _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INFIX_COMPARE_OP _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | INFIX_STAR_STAR_OP _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | IDENT _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | KEYWORD_STRING _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | STRING _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+ | BYTEARRAY _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+let _fsyacc_gotos = [| 0us; 65535us; 0us; 65535us; 0us; 65535us; 0us; 65535us; 0us; 65535us; 1us; 65535us; 4us; 5us; 7us; 65535us; 4us; 15us; 16us; 17us; 18us; 19us; 20us; 21us; 22us; 15us; 24us; 15us; 26us; 15us; 4us; 65535us; 4us; 10us; 22us; 23us; 24us; 25us; 26us; 27us; 5us; 65535us; 4us; 16us; 22us; 16us; 24us; 16us; 26us; 16us; 28us; 29us; 4us; 65535us; 4us; 18us; 22us; 18us; 24us; 18us; 26us; 18us; 4us; 65535us; 4us; 20us; 22us; 20us; 24us; 20us; 26us; 20us; 4us; 65535us; 16us; 22us; 18us; 24us; 20us; 26us; 34us; 35us; 4us; 65535us; 16us; 34us; 18us; 34us; 20us; 34us; 34us; 34us; 23us; 65535us; 0us; 84us; 2us; 257us; 4us; 33us; 22us; 33us; 24us; 33us; 26us; 33us; 61us; 84us; 65us; 84us; 69us; 84us; 79us; 84us; 82us; 84us; 112us; 84us; 115us; 84us; 119us; 84us; 224us; 257us; 228us; 257us; 231us; 257us; 243us; 257us; 247us; 257us; 249us; 257us; 254us; 257us; 278us; 257us; 288us; 257us; 1us; 65535us; 39us; 40us; 1us; 65535us; 40us; 41us; 1us; 65535us; 0us; 1us; 6us; 65535us; 31us; 269us; 64us; 65us; 87us; 88us; 227us; 228us; 241us; 269us; 259us; 269us; 4us; 65535us; 56us; 60us; 58us; 60us; 219us; 223us; 221us; 223us; 1us; 65535us; 0us; 43us; 2us; 65535us; 56us; 57us; 58us; 59us; 2us; 65535us; 56us; 58us; 58us; 58us; 2us; 65535us; 0us; 56us; 61us; 62us; 3us; 65535us; 0us; 67us; 61us; 67us; 65us; 66us; 6us; 65535us; 0us; 68us; 61us; 68us; 65us; 68us; 69us; 70us; 115us; 116us; 119us; 120us; 9us; 65535us; 0us; 76us; 61us; 76us; 65us; 76us; 69us; 76us; 79us; 80us; 82us; 83us; 112us; 113us; 115us; 76us; 119us; 76us; 9us; 65535us; 0us; 78us; 61us; 78us; 65us; 78us; 69us; 78us; 79us; 78us; 82us; 78us; 112us; 78us; 115us; 78us; 119us; 78us; 9us; 65535us; 0us; 85us; 61us; 85us; 65us; 85us; 69us; 85us; 79us; 85us; 82us; 85us; 112us; 85us; 115us; 85us; 119us; 85us; 2us; 65535us; 104us; 105us; 180us; 181us; 1us; 65535us; 89us; 91us; 2us; 65535us; 64us; 92us; 87us; 92us; 2us; 65535us; 122us; 123us; 125us; 126us; 3us; 65535us; 122us; 124us; 125us; 124us; 191us; 192us; 1us; 65535us; 128us; 129us; 2us; 65535us; 128us; 138us; 131us; 132us; 2us; 65535us; 128us; 141us; 131us; 141us; 2us; 65535us; 128us; 145us; 131us; 145us; 3us; 65535us; 146us; 147us; 156us; 157us; 210us; 211us; 8us; 65535us; 131us; 153us; 133us; 134us; 146us; 164us; 152us; 153us; 156us; 164us; 160us; 161us; 167us; 168us; 210us; 164us; 8us; 65535us; 131us; 165us; 133us; 165us; 146us; 165us; 152us; 165us; 156us; 165us; 160us; 165us; 167us; 165us; 210us; 165us; 11us; 65535us; 131us; 166us; 133us; 166us; 146us; 166us; 152us; 166us; 156us; 166us; 160us; 166us; 167us; 166us; 210us; 166us; 606us; 607us; 613us; 614us; 1379us; 1380us; 3us; 65535us; 179us; 180us; 431us; 432us; 461us; 462us; 2us; 65535us; 196us; 197us; 198us; 199us; 2us; 65535us; 171us; 173us; 172us; 173us; 2us; 65535us; 64us; 93us; 87us; 93us; 5us; 65535us; 127us; 130us; 134us; 135us; 136us; 137us; 138us; 139us; 208us; 209us; 1us; 65535us; 2us; 3us; 1us; 65535us; 2us; 213us; 2us; 65535us; 219us; 220us; 221us; 222us; 2us; 65535us; 219us; 221us; 221us; 221us; 2us; 65535us; 2us; 219us; 224us; 225us; 3us; 65535us; 2us; 230us; 224us; 230us; 228us; 229us; 5us; 65535us; 2us; 238us; 224us; 238us; 228us; 238us; 231us; 232us; 288us; 289us; 9us; 65535us; 2us; 239us; 224us; 239us; 228us; 239us; 231us; 239us; 243us; 244us; 249us; 250us; 254us; 255us; 278us; 282us; 288us; 239us; 10us; 65535us; 2us; 245us; 224us; 245us; 228us; 245us; 231us; 245us; 243us; 245us; 247us; 248us; 249us; 245us; 254us; 245us; 278us; 245us; 288us; 245us; 10us; 65535us; 2us; 247us; 224us; 247us; 228us; 247us; 231us; 247us; 243us; 247us; 247us; 247us; 249us; 247us; 254us; 247us; 278us; 247us; 288us; 247us; 15us; 65535us; 2us; 256us; 4us; 28us; 22us; 28us; 24us; 28us; 26us; 28us; 28us; 28us; 224us; 256us; 228us; 256us; 231us; 256us; 243us; 256us; 247us; 256us; 249us; 256us; 254us; 256us; 278us; 256us; 288us; 256us; 1us; 65535us; 89us; 90us; 1us; 65535us; 270us; 271us; 2us; 65535us; 270us; 286us; 278us; 279us; 1us; 65535us; 343us; 346us; 81us; 65535us; 0us; 63us; 2us; 226us; 4us; 30us; 22us; 30us; 24us; 30us; 26us; 30us; 28us; 258us; 61us; 63us; 65us; 86us; 69us; 86us; 79us; 86us; 82us; 86us; 96us; 97us; 112us; 86us; 115us; 86us; 119us; 86us; 122us; 337us; 125us; 337us; 128us; 523us; 131us; 170us; 133us; 169us; 146us; 169us; 152us; 169us; 156us; 169us; 160us; 169us; 167us; 169us; 191us; 337us; 210us; 169us; 224us; 226us; 228us; 240us; 231us; 240us; 243us; 240us; 247us; 258us; 249us; 240us; 254us; 240us; 265us; 337us; 278us; 240us; 288us; 240us; 293us; 414us; 340us; 337us; 343us; 347us; 344us; 523us; 352us; 523us; 354us; 415us; 356us; 414us; 370us; 414us; 374us; 414us; 376us; 414us; 380us; 414us; 386us; 414us; 389us; 414us; 400us; 401us; 447us; 337us; 482us; 510us; 485us; 414us; 502us; 510us; 508us; 510us; 535us; 673us; 544us; 673us; 564us; 573us; 569us; 573us; 570us; 573us; 576us; 573us; 581us; 573us; 606us; 169us; 613us; 169us; 622us; 632us; 625us; 632us; 630us; 632us; 670us; 673us; 683us; 684us; 696us; 747us; 702us; 747us; 714us; 741us; 719us; 728us; 724us; 728us; 726us; 728us; 744us; 747us; 1379us; 169us; 1483us; 511us; 1485us; 747us; 118us; 65535us; 0us; 296us; 2us; 272us; 4us; 272us; 22us; 272us; 24us; 272us; 26us; 272us; 28us; 272us; 61us; 296us; 65us; 296us; 69us; 296us; 79us; 296us; 82us; 296us; 96us; 296us; 103us; 1549us; 112us; 296us; 115us; 296us; 119us; 296us; 122us; 296us; 125us; 296us; 128us; 296us; 131us; 296us; 133us; 296us; 143us; 1549us; 146us; 296us; 152us; 296us; 156us; 296us; 160us; 296us; 167us; 296us; 178us; 1549us; 191us; 296us; 194us; 1549us; 210us; 296us; 224us; 272us; 228us; 272us; 231us; 272us; 243us; 272us; 247us; 272us; 249us; 272us; 254us; 272us; 265us; 296us; 278us; 272us; 288us; 272us; 293us; 296us; 297us; 298us; 340us; 296us; 343us; 296us; 344us; 296us; 352us; 296us; 354us; 296us; 356us; 296us; 367us; 1549us; 370us; 296us; 374us; 296us; 376us; 296us; 380us; 296us; 386us; 296us; 389us; 296us; 400us; 296us; 430us; 1549us; 447us; 296us; 482us; 296us; 485us; 296us; 502us; 296us; 508us; 296us; 535us; 296us; 544us; 296us; 564us; 296us; 569us; 296us; 570us; 296us; 576us; 296us; 581us; 296us; 606us; 296us; 613us; 296us; 622us; 296us; 625us; 296us; 630us; 296us; 639us; 1549us; 670us; 296us; 683us; 296us; 696us; 296us; 702us; 296us; 714us; 296us; 719us; 296us; 724us; 296us; 726us; 296us; 744us; 296us; 820us; 820us; 821us; 820us; 823us; 820us; 856us; 933us; 868us; 933us; 884us; 933us; 887us; 933us; 898us; 933us; 906us; 933us; 928us; 933us; 933us; 933us; 934us; 933us; 936us; 933us; 937us; 933us; 938us; 933us; 939us; 933us; 945us; 933us; 947us; 933us; 1043us; 933us; 1189us; 933us; 1191us; 933us; 1196us; 933us; 1203us; 933us; 1379us; 296us; 1483us; 296us; 1485us; 296us; 1529us; 933us; 1531us; 933us; 1538us; 1549us; 1541us; 1549us; 1544us; 1549us; 1547us; 1549us; 118us; 65535us; 0us; 297us; 2us; 297us; 4us; 297us; 22us; 297us; 24us; 297us; 26us; 297us; 28us; 297us; 61us; 297us; 65us; 297us; 69us; 297us; 79us; 297us; 82us; 297us; 96us; 297us; 103us; 297us; 112us; 297us; 115us; 297us; 119us; 297us; 122us; 297us; 125us; 297us; 128us; 297us; 131us; 297us; 133us; 297us; 143us; 297us; 146us; 297us; 152us; 297us; 156us; 297us; 160us; 297us; 167us; 297us; 178us; 297us; 191us; 297us; 194us; 297us; 210us; 297us; 224us; 297us; 228us; 297us; 231us; 297us; 243us; 297us; 247us; 297us; 249us; 297us; 254us; 297us; 265us; 297us; 278us; 297us; 288us; 297us; 293us; 297us; 297us; 297us; 340us; 297us; 343us; 297us; 344us; 297us; 352us; 297us; 354us; 297us; 356us; 297us; 367us; 297us; 370us; 297us; 374us; 297us; 376us; 297us; 380us; 297us; 386us; 297us; 389us; 297us; 400us; 297us; 430us; 297us; 447us; 297us; 482us; 297us; 485us; 297us; 502us; 297us; 508us; 297us; 535us; 297us; 544us; 297us; 564us; 297us; 569us; 297us; 570us; 297us; 576us; 297us; 581us; 297us; 606us; 297us; 613us; 297us; 622us; 297us; 625us; 297us; 630us; 297us; 639us; 297us; 670us; 297us; 683us; 297us; 696us; 297us; 702us; 297us; 714us; 297us; 719us; 297us; 724us; 297us; 726us; 297us; 744us; 297us; 820us; 297us; 821us; 297us; 823us; 297us; 856us; 297us; 868us; 297us; 884us; 297us; 887us; 297us; 898us; 297us; 906us; 297us; 928us; 297us; 933us; 297us; 934us; 297us; 936us; 297us; 937us; 297us; 938us; 297us; 939us; 297us; 945us; 297us; 947us; 297us; 1043us; 297us; 1189us; 297us; 1191us; 297us; 1196us; 297us; 1203us; 297us; 1379us; 297us; 1483us; 297us; 1485us; 297us; 1529us; 297us; 1531us; 297us; 1538us; 297us; 1541us; 297us; 1544us; 297us; 1547us; 297us; 1us; 65535us; 299us; 300us; 2us; 65535us; 299us; 309us; 310us; 311us; 2us; 65535us; 299us; 315us; 310us; 315us; 4us; 65535us; 171us; 205us; 172us; 205us; 416us; 420us; 417us; 420us; 6us; 65535us; 122us; 127us; 125us; 127us; 191us; 127us; 265us; 343us; 340us; 343us; 447us; 343us; 2us; 65535us; 266us; 267us; 341us; 342us; 3us; 65535us; 265us; 266us; 340us; 341us; 447us; 448us; 2us; 65535us; 344us; 345us; 352us; 353us; 3us; 65535us; 344us; 362us; 352us; 362us; 354us; 355us; 3us; 65535us; 344us; 365us; 352us; 365us; 354us; 365us; 3us; 65535us; 344us; 369us; 352us; 369us; 354us; 369us; 3us; 65535us; 293us; 294us; 370us; 371us; 485us; 486us; 10us; 65535us; 293us; 384us; 354us; 377us; 356us; 357us; 370us; 384us; 374us; 387us; 376us; 377us; 380us; 381us; 386us; 387us; 389us; 390us; 485us; 384us; 10us; 65535us; 293us; 385us; 354us; 385us; 356us; 385us; 370us; 385us; 374us; 385us; 376us; 385us; 380us; 385us; 386us; 385us; 389us; 385us; 485us; 385us; 1us; 65535us; 408us; 411us; 2us; 65535us; 391us; 392us; 393us; 394us; 3us; 65535us; 391us; 397us; 393us; 397us; 398us; 399us; 3us; 65535us; 420us; 421us; 512us; 513us; 518us; 519us; 2us; 65535us; 416us; 426us; 417us; 426us; 10us; 65535us; 293us; 388us; 354us; 388us; 356us; 388us; 370us; 388us; 374us; 388us; 376us; 388us; 380us; 388us; 386us; 388us; 389us; 388us; 485us; 388us; 3us; 65535us; 332us; 437us; 416us; 435us; 417us; 435us; 2us; 65535us; 420us; 439us; 512us; 515us; 1us; 65535us; 458us; 459us; 42us; 65535us; 401us; 858us; 406us; 858us; 441us; 893us; 751us; 858us; 841us; 858us; 842us; 858us; 846us; 858us; 847us; 858us; 848us; 858us; 849us; 858us; 856us; 858us; 859us; 893us; 861us; 893us; 863us; 893us; 868us; 858us; 872us; 893us; 874us; 893us; 876us; 893us; 884us; 858us; 887us; 858us; 898us; 858us; 906us; 858us; 928us; 858us; 933us; 858us; 934us; 858us; 936us; 858us; 937us; 858us; 938us; 858us; 939us; 858us; 945us; 858us; 947us; 858us; 1043us; 858us; 1070us; 858us; 1076us; 858us; 1189us; 858us; 1191us; 858us; 1196us; 858us; 1203us; 858us; 1511us; 893us; 1516us; 893us; 1529us; 858us; 1531us; 858us; 10us; 65535us; 49us; 50us; 99us; 100us; 174us; 175us; 337us; 558us; 450us; 451us; 456us; 457us; 632us; 633us; 675us; 676us; 684us; 685us; 715us; 716us; 64us; 65535us; 30us; 481us; 49us; 477us; 63us; 481us; 86us; 481us; 99us; 477us; 169us; 481us; 170us; 481us; 174us; 477us; 226us; 481us; 240us; 481us; 258us; 481us; 337us; 477us; 347us; 481us; 401us; 472us; 406us; 472us; 414us; 481us; 415us; 481us; 441us; 472us; 450us; 477us; 456us; 477us; 523us; 481us; 632us; 477us; 675us; 477us; 684us; 477us; 715us; 477us; 751us; 472us; 841us; 472us; 842us; 472us; 846us; 472us; 847us; 472us; 848us; 472us; 849us; 472us; 856us; 472us; 859us; 472us; 861us; 472us; 863us; 472us; 868us; 472us; 872us; 472us; 874us; 472us; 876us; 472us; 884us; 472us; 887us; 472us; 898us; 472us; 906us; 472us; 928us; 472us; 933us; 472us; 934us; 472us; 936us; 472us; 937us; 472us; 938us; 472us; 939us; 472us; 945us; 472us; 947us; 472us; 1043us; 472us; 1070us; 472us; 1076us; 472us; 1189us; 472us; 1191us; 472us; 1196us; 472us; 1203us; 472us; 1511us; 472us; 1516us; 472us; 1529us; 472us; 1531us; 472us; 12us; 65535us; 30us; 31us; 63us; 64us; 86us; 87us; 169us; 171us; 170us; 172us; 226us; 227us; 240us; 241us; 258us; 259us; 347us; 348us; 414us; 416us; 415us; 417us; 523us; 524us; 1us; 65535us; 424us; 425us; 4us; 65535us; 357us; 358us; 359us; 360us; 362us; 363us; 680us; 681us; 2us; 65535us; 416us; 434us; 417us; 434us; 2us; 65535us; 350us; 351us; 442us; 443us; 2us; 65535us; 350us; 495us; 442us; 495us; 2us; 65535us; 489us; 490us; 492us; 493us; 3us; 65535us; 489us; 498us; 492us; 498us; 1257us; 1481us; 2us; 65535us; 482us; 483us; 1483us; 1488us; 4us; 65535us; 482us; 506us; 502us; 503us; 508us; 509us; 1483us; 506us; 4us; 65535us; 482us; 507us; 502us; 507us; 508us; 507us; 1483us; 507us; 2us; 65535us; 510us; 512us; 511us; 512us; 5us; 65535us; 128us; 140us; 131us; 140us; 344us; 364us; 352us; 364us; 354us; 364us; 6us; 65535us; 172us; 531us; 417us; 531us; 524us; 531us; 636us; 667us; 658us; 667us; 689us; 667us; 66us; 65535us; 8us; 1628us; 103us; 1628us; 143us; 1628us; 172us; 1628us; 178us; 1628us; 182us; 1628us; 184us; 1628us; 194us; 1628us; 367us; 1628us; 417us; 1628us; 423us; 1628us; 430us; 1628us; 453us; 1628us; 463us; 1628us; 524us; 1628us; 532us; 1628us; 596us; 1628us; 599us; 1628us; 609us; 1628us; 619us; 1628us; 636us; 1628us; 639us; 1628us; 658us; 1628us; 661us; 1628us; 664us; 1628us; 678us; 1628us; 689us; 1628us; 774us; 1628us; 818us; 1628us; 865us; 1628us; 931us; 1628us; 961us; 1628us; 1132us; 1628us; 1134us; 1628us; 1136us; 1628us; 1427us; 1628us; 1430us; 1628us; 1432us; 1628us; 1496us; 1628us; 1538us; 1628us; 1541us; 1628us; 1544us; 1628us; 1547us; 1628us; 1549us; 1628us; 1551us; 1628us; 1555us; 1628us; 1558us; 1628us; 1562us; 1628us; 1565us; 1628us; 1570us; 1628us; 1572us; 1628us; 1574us; 1628us; 1577us; 1628us; 1579us; 1628us; 1593us; 1628us; 1598us; 1628us; 1601us; 1628us; 1612us; 1628us; 1616us; 1628us; 1622us; 1628us; 1633us; 1628us; 1639us; 1628us; 1640us; 1628us; 1663us; 1628us; 1665us; 1628us; 1676us; 1628us; 67us; 65535us; 8us; 543us; 103us; 543us; 143us; 543us; 172us; 543us; 178us; 543us; 182us; 543us; 184us; 543us; 194us; 543us; 367us; 543us; 417us; 543us; 423us; 543us; 430us; 543us; 453us; 543us; 463us; 543us; 524us; 543us; 532us; 543us; 541us; 542us; 596us; 543us; 599us; 543us; 609us; 543us; 619us; 543us; 636us; 543us; 639us; 543us; 658us; 543us; 661us; 543us; 664us; 543us; 678us; 543us; 689us; 543us; 774us; 543us; 818us; 543us; 865us; 543us; 931us; 543us; 961us; 543us; 1132us; 543us; 1134us; 543us; 1136us; 543us; 1427us; 543us; 1430us; 543us; 1432us; 543us; 1496us; 543us; 1538us; 543us; 1541us; 543us; 1544us; 543us; 1547us; 543us; 1549us; 543us; 1551us; 543us; 1555us; 543us; 1558us; 543us; 1562us; 543us; 1565us; 543us; 1570us; 543us; 1572us; 543us; 1574us; 543us; 1577us; 543us; 1579us; 543us; 1593us; 543us; 1598us; 543us; 1601us; 543us; 1612us; 543us; 1616us; 543us; 1622us; 543us; 1633us; 543us; 1639us; 543us; 1640us; 543us; 1663us; 543us; 1665us; 543us; 1676us; 543us; 1us; 65535us; 532us; 533us; 5us; 65535us; 128us; 146us; 131us; 146us; 344us; 370us; 352us; 370us; 354us; 370us; 9us; 65535us; 171us; 182us; 172us; 182us; 416us; 423us; 417us; 423us; 1477us; 1496us; 1479us; 1496us; 1490us; 1496us; 1492us; 1496us; 1494us; 1496us; 1us; 65535us; 337us; 338us; 1us; 65535us; 558us; 560us; 3us; 65535us; 564us; 565us; 576us; 567us; 581us; 568us; 5us; 65535us; 564us; 572us; 569us; 571us; 570us; 571us; 576us; 572us; 581us; 572us; 1us; 65535us; 559us; 562us; 1us; 65535us; 581us; 582us; 4us; 65535us; 101us; 585us; 176us; 585us; 428us; 585us; 858us; 586us; 3us; 65535us; 101us; 102us; 176us; 177us; 428us; 429us; 1us; 65535us; 858us; 859us; 3us; 65535us; 338us; 339us; 567us; 577us; 582us; 583us; 3us; 65535us; 587us; 588us; 1535us; 589us; 1537us; 590us; 4us; 65535us; 587us; 593us; 591us; 592us; 1535us; 593us; 1537us; 593us; 1us; 65535us; 609us; 610us; 3us; 65535us; 172us; 530us; 417us; 530us; 524us; 530us; 5us; 65535us; 172us; 622us; 417us; 622us; 524us; 622us; 624us; 625us; 629us; 630us; 3us; 65535us; 622us; 623us; 625us; 626us; 630us; 631us; 3us; 65535us; 622us; 629us; 625us; 629us; 630us; 629us; 1us; 65535us; 633us; 634us; 3us; 65535us; 172us; 624us; 417us; 624us; 524us; 624us; 3us; 65535us; 172us; 627us; 417us; 627us; 524us; 627us; 4us; 65535us; 636us; 668us; 658us; 668us; 661us; 662us; 689us; 668us; 4us; 65535us; 636us; 660us; 658us; 660us; 661us; 660us; 689us; 660us; 3us; 65535us; 636us; 637us; 658us; 659us; 689us; 690us; 3us; 65535us; 535us; 536us; 544us; 545us; 670us; 671us; 3us; 65535us; 535us; 669us; 544us; 669us; 670us; 669us; 3us; 65535us; 186us; 187us; 189us; 190us; 673us; 674us; 4us; 65535us; 31us; 268us; 227us; 268us; 241us; 268us; 259us; 268us; 6us; 65535us; 31us; 683us; 64us; 683us; 87us; 683us; 227us; 683us; 241us; 683us; 259us; 683us; 6us; 65535us; 31us; 680us; 64us; 208us; 87us; 208us; 227us; 680us; 241us; 680us; 259us; 680us; 1us; 65535us; 685us; 686us; 1us; 65535us; 686us; 687us; 15us; 65535us; 2us; 274us; 4us; 274us; 22us; 274us; 24us; 274us; 26us; 274us; 28us; 274us; 224us; 274us; 228us; 274us; 231us; 274us; 243us; 274us; 247us; 274us; 249us; 274us; 254us; 274us; 278us; 274us; 288us; 274us; 114us; 65535us; 6us; 992us; 31us; 261us; 106us; 992us; 108us; 992us; 227us; 261us; 241us; 261us; 259us; 260us; 263us; 992us; 332us; 708us; 404us; 992us; 409us; 992us; 416us; 708us; 417us; 708us; 444us; 992us; 460us; 992us; 699us; 992us; 705us; 992us; 754us; 992us; 758us; 992us; 768us; 992us; 949us; 992us; 954us; 992us; 968us; 992us; 970us; 992us; 973us; 992us; 976us; 992us; 993us; 992us; 996us; 992us; 999us; 992us; 1005us; 992us; 1009us; 992us; 1013us; 992us; 1017us; 992us; 1019us; 992us; 1024us; 992us; 1026us; 992us; 1028us; 992us; 1030us; 992us; 1032us; 992us; 1034us; 992us; 1045us; 992us; 1053us; 992us; 1060us; 992us; 1066us; 992us; 1068us; 992us; 1071us; 992us; 1074us; 992us; 1077us; 992us; 1080us; 992us; 1083us; 992us; 1086us; 992us; 1088us; 992us; 1093us; 992us; 1095us; 992us; 1138us; 992us; 1140us; 992us; 1144us; 992us; 1145us; 992us; 1146us; 992us; 1147us; 992us; 1148us; 992us; 1149us; 992us; 1150us; 992us; 1151us; 992us; 1152us; 992us; 1153us; 992us; 1154us; 992us; 1156us; 992us; 1157us; 992us; 1158us; 992us; 1159us; 992us; 1160us; 992us; 1161us; 992us; 1162us; 992us; 1163us; 992us; 1164us; 992us; 1186us; 992us; 1208us; 992us; 1209us; 992us; 1213us; 992us; 1215us; 992us; 1219us; 992us; 1221us; 992us; 1225us; 992us; 1228us; 992us; 1230us; 992us; 1294us; 992us; 1301us; 992us; 1308us; 992us; 1315us; 992us; 1324us; 992us; 1327us; 992us; 1329us; 992us; 1332us; 992us; 1343us; 992us; 1350us; 992us; 1351us; 992us; 1357us; 992us; 1363us; 992us; 1364us; 992us; 1365us; 992us; 1381us; 992us; 1391us; 992us; 1404us; 992us; 1405us; 992us; 1407us; 992us; 1409us; 992us; 1413us; 992us; 1414us; 992us; 1441us; 992us; 1446us; 992us; 1471us; 992us; 1513us; 992us; 1518us; 992us; 7us; 65535us; 31us; 264us; 227us; 264us; 241us; 264us; 259us; 264us; 332us; 709us; 416us; 709us; 417us; 709us; 114us; 65535us; 6us; 976us; 31us; 263us; 106us; 996us; 108us; 996us; 227us; 263us; 241us; 263us; 259us; 262us; 263us; 976us; 332us; 710us; 404us; 976us; 409us; 976us; 416us; 710us; 417us; 710us; 444us; 976us; 460us; 976us; 699us; 976us; 705us; 976us; 754us; 976us; 758us; 976us; 768us; 976us; 949us; 976us; 954us; 976us; 968us; 976us; 970us; 976us; 973us; 976us; 976us; 976us; 993us; 976us; 996us; 976us; 999us; 976us; 1005us; 976us; 1009us; 976us; 1013us; 976us; 1017us; 976us; 1019us; 996us; 1024us; 996us; 1026us; 996us; 1028us; 996us; 1030us; 996us; 1032us; 996us; 1034us; 976us; 1045us; 976us; 1053us; 976us; 1060us; 976us; 1066us; 996us; 1068us; 996us; 1071us; 976us; 1074us; 976us; 1077us; 976us; 1080us; 976us; 1083us; 976us; 1086us; 976us; 1088us; 976us; 1093us; 996us; 1095us; 976us; 1138us; 996us; 1140us; 996us; 1144us; 996us; 1145us; 996us; 1146us; 996us; 1147us; 996us; 1148us; 996us; 1149us; 996us; 1150us; 996us; 1151us; 996us; 1152us; 996us; 1153us; 996us; 1154us; 996us; 1156us; 996us; 1157us; 996us; 1158us; 996us; 1159us; 996us; 1160us; 996us; 1161us; 996us; 1162us; 996us; 1163us; 996us; 1164us; 996us; 1186us; 976us; 1208us; 996us; 1209us; 976us; 1213us; 996us; 1215us; 976us; 1219us; 996us; 1221us; 976us; 1225us; 996us; 1228us; 996us; 1230us; 996us; 1294us; 976us; 1301us; 996us; 1308us; 976us; 1315us; 976us; 1324us; 996us; 1327us; 996us; 1329us; 996us; 1332us; 996us; 1343us; 976us; 1350us; 976us; 1351us; 976us; 1357us; 976us; 1363us; 976us; 1364us; 976us; 1365us; 976us; 1381us; 976us; 1391us; 976us; 1404us; 996us; 1405us; 996us; 1407us; 976us; 1409us; 996us; 1413us; 996us; 1414us; 996us; 1441us; 996us; 1446us; 996us; 1471us; 996us; 1513us; 976us; 1518us; 976us; 113us; 65535us; 6us; 1002us; 31us; 1002us; 106us; 1002us; 108us; 1002us; 227us; 1002us; 241us; 1002us; 263us; 1002us; 332us; 711us; 404us; 1002us; 409us; 1002us; 416us; 711us; 417us; 711us; 444us; 1002us; 460us; 1002us; 699us; 1002us; 705us; 1002us; 754us; 1002us; 758us; 1002us; 768us; 1002us; 949us; 1002us; 954us; 1002us; 968us; 1002us; 970us; 1002us; 973us; 1002us; 976us; 1002us; 993us; 1002us; 996us; 1002us; 999us; 1002us; 1005us; 1002us; 1009us; 1002us; 1013us; 1002us; 1017us; 1002us; 1019us; 1002us; 1024us; 1002us; 1026us; 1002us; 1028us; 1002us; 1030us; 1002us; 1032us; 1002us; 1034us; 1002us; 1045us; 1002us; 1053us; 1002us; 1060us; 1002us; 1066us; 1002us; 1068us; 1002us; 1071us; 1002us; 1074us; 1002us; 1077us; 1002us; 1080us; 1002us; 1083us; 1002us; 1086us; 1002us; 1088us; 1002us; 1093us; 1002us; 1095us; 1002us; 1138us; 1002us; 1140us; 1002us; 1144us; 1002us; 1145us; 1002us; 1146us; 1002us; 1147us; 1002us; 1148us; 1002us; 1149us; 1002us; 1150us; 1002us; 1151us; 1002us; 1152us; 1002us; 1153us; 1002us; 1154us; 1002us; 1156us; 1002us; 1157us; 1002us; 1158us; 1002us; 1159us; 1002us; 1160us; 1002us; 1161us; 1002us; 1162us; 1002us; 1163us; 1002us; 1164us; 1002us; 1186us; 1002us; 1208us; 1002us; 1209us; 1002us; 1213us; 1002us; 1215us; 1002us; 1219us; 1002us; 1221us; 1002us; 1225us; 1002us; 1228us; 1002us; 1230us; 1002us; 1294us; 1002us; 1301us; 1002us; 1308us; 1002us; 1315us; 1002us; 1324us; 1002us; 1327us; 1002us; 1329us; 1002us; 1332us; 1002us; 1343us; 1002us; 1350us; 1002us; 1351us; 1002us; 1357us; 1002us; 1363us; 1002us; 1364us; 1002us; 1365us; 1002us; 1381us; 1002us; 1391us; 1002us; 1404us; 1002us; 1405us; 1002us; 1407us; 1002us; 1409us; 1002us; 1413us; 1002us; 1414us; 1002us; 1441us; 1002us; 1446us; 1002us; 1471us; 1002us; 1513us; 1002us; 1518us; 1002us; 3us; 65535us; 332us; 419us; 416us; 418us; 417us; 418us; 4us; 65535us; 703us; 704us; 706us; 707us; 1078us; 1079us; 1089us; 1090us; 114us; 65535us; 6us; 698us; 31us; 698us; 106us; 698us; 108us; 698us; 227us; 698us; 241us; 698us; 259us; 698us; 263us; 698us; 332us; 698us; 404us; 698us; 409us; 698us; 416us; 698us; 417us; 698us; 444us; 698us; 460us; 698us; 699us; 698us; 705us; 698us; 754us; 698us; 758us; 698us; 768us; 698us; 949us; 698us; 954us; 698us; 968us; 698us; 970us; 698us; 973us; 698us; 976us; 698us; 993us; 698us; 996us; 698us; 999us; 698us; 1005us; 698us; 1009us; 698us; 1013us; 698us; 1017us; 698us; 1019us; 698us; 1024us; 698us; 1026us; 698us; 1028us; 698us; 1030us; 698us; 1032us; 698us; 1034us; 698us; 1045us; 698us; 1053us; 698us; 1060us; 698us; 1066us; 698us; 1068us; 698us; 1071us; 698us; 1074us; 698us; 1077us; 698us; 1080us; 698us; 1083us; 698us; 1086us; 698us; 1088us; 698us; 1093us; 698us; 1095us; 698us; 1138us; 698us; 1140us; 698us; 1144us; 698us; 1145us; 698us; 1146us; 698us; 1147us; 698us; 1148us; 698us; 1149us; 698us; 1150us; 698us; 1151us; 698us; 1152us; 698us; 1153us; 698us; 1154us; 698us; 1156us; 698us; 1157us; 698us; 1158us; 698us; 1159us; 698us; 1160us; 698us; 1161us; 698us; 1162us; 698us; 1163us; 698us; 1164us; 698us; 1186us; 698us; 1208us; 698us; 1209us; 698us; 1213us; 698us; 1215us; 698us; 1219us; 698us; 1221us; 698us; 1225us; 698us; 1228us; 698us; 1230us; 698us; 1294us; 698us; 1301us; 698us; 1308us; 698us; 1315us; 698us; 1324us; 698us; 1327us; 698us; 1329us; 698us; 1332us; 698us; 1343us; 698us; 1350us; 698us; 1351us; 698us; 1357us; 698us; 1363us; 698us; 1364us; 698us; 1365us; 698us; 1381us; 698us; 1391us; 698us; 1404us; 698us; 1405us; 698us; 1407us; 698us; 1409us; 698us; 1413us; 698us; 1414us; 698us; 1441us; 698us; 1446us; 698us; 1471us; 698us; 1513us; 698us; 1518us; 698us; 1us; 65535us; 719us; 720us; 1us; 65535us; 719us; 722us; 3us; 65535us; 719us; 723us; 724us; 725us; 726us; 727us; 2us; 65535us; 728us; 729us; 741us; 732us; 1us; 65535us; 714us; 715us; 4us; 65535us; 696us; 697us; 702us; 703us; 1483us; 1484us; 1485us; 1486us; 2us; 65535us; 742us; 743us; 745us; 746us; 5us; 65535us; 696us; 742us; 702us; 742us; 744us; 745us; 1483us; 742us; 1485us; 742us; 2us; 65535us; 511us; 748us; 747us; 748us; 1us; 65535us; 754us; 755us; 2us; 65535us; 754us; 762us; 758us; 759us; 1us; 65535us; 763us; 764us; 1us; 65535us; 764us; 765us; 1us; 65535us; 766us; 767us; 2us; 65535us; 766us; 772us; 770us; 771us; 258us; 65535us; 6us; 809us; 8us; 1647us; 31us; 809us; 103us; 1647us; 106us; 809us; 108us; 809us; 143us; 1647us; 172us; 1647us; 178us; 1647us; 182us; 1647us; 184us; 1647us; 194us; 1647us; 227us; 809us; 241us; 809us; 263us; 809us; 313us; 809us; 317us; 809us; 322us; 809us; 367us; 1647us; 401us; 809us; 404us; 809us; 406us; 809us; 409us; 809us; 417us; 1647us; 423us; 1647us; 430us; 1647us; 441us; 809us; 444us; 809us; 453us; 1647us; 460us; 809us; 463us; 1647us; 488us; 1647us; 491us; 809us; 524us; 1647us; 532us; 1647us; 550us; 1647us; 596us; 1647us; 599us; 1647us; 609us; 1647us; 619us; 1647us; 636us; 1647us; 639us; 1647us; 642us; 809us; 654us; 809us; 658us; 1647us; 661us; 1647us; 664us; 1647us; 678us; 1647us; 689us; 1647us; 699us; 809us; 705us; 809us; 751us; 809us; 754us; 809us; 758us; 809us; 768us; 809us; 774us; 1647us; 818us; 1647us; 841us; 809us; 842us; 809us; 846us; 809us; 847us; 809us; 848us; 809us; 849us; 809us; 856us; 809us; 859us; 809us; 861us; 809us; 863us; 809us; 865us; 1647us; 868us; 809us; 872us; 809us; 874us; 809us; 876us; 809us; 884us; 809us; 887us; 809us; 898us; 809us; 906us; 809us; 928us; 809us; 931us; 1647us; 933us; 809us; 934us; 809us; 936us; 809us; 937us; 809us; 938us; 809us; 939us; 809us; 945us; 809us; 947us; 809us; 949us; 809us; 954us; 809us; 961us; 1647us; 968us; 809us; 970us; 809us; 973us; 809us; 976us; 809us; 993us; 809us; 996us; 809us; 999us; 809us; 1005us; 809us; 1009us; 809us; 1013us; 809us; 1017us; 809us; 1019us; 809us; 1024us; 809us; 1026us; 809us; 1028us; 809us; 1030us; 809us; 1032us; 809us; 1034us; 809us; 1043us; 809us; 1045us; 809us; 1053us; 809us; 1060us; 809us; 1066us; 809us; 1068us; 809us; 1070us; 809us; 1071us; 809us; 1074us; 809us; 1076us; 809us; 1077us; 809us; 1080us; 809us; 1083us; 809us; 1086us; 809us; 1088us; 809us; 1093us; 809us; 1095us; 809us; 1132us; 1647us; 1134us; 1647us; 1136us; 1647us; 1138us; 809us; 1140us; 809us; 1144us; 809us; 1145us; 809us; 1146us; 809us; 1147us; 809us; 1148us; 809us; 1149us; 809us; 1150us; 809us; 1151us; 809us; 1152us; 809us; 1153us; 809us; 1154us; 809us; 1156us; 809us; 1157us; 809us; 1158us; 809us; 1159us; 809us; 1160us; 809us; 1161us; 809us; 1162us; 809us; 1163us; 809us; 1164us; 809us; 1186us; 809us; 1189us; 809us; 1191us; 809us; 1196us; 809us; 1203us; 809us; 1208us; 809us; 1209us; 809us; 1213us; 809us; 1215us; 809us; 1219us; 809us; 1221us; 809us; 1225us; 809us; 1228us; 809us; 1230us; 809us; 1232us; 809us; 1233us; 809us; 1235us; 809us; 1236us; 809us; 1238us; 809us; 1239us; 809us; 1241us; 809us; 1242us; 809us; 1244us; 809us; 1245us; 809us; 1247us; 809us; 1248us; 809us; 1250us; 1647us; 1251us; 1647us; 1254us; 809us; 1255us; 809us; 1260us; 809us; 1262us; 809us; 1264us; 809us; 1265us; 809us; 1266us; 809us; 1269us; 809us; 1276us; 809us; 1277us; 809us; 1280us; 809us; 1281us; 809us; 1294us; 809us; 1301us; 809us; 1308us; 809us; 1315us; 809us; 1324us; 809us; 1327us; 809us; 1329us; 809us; 1332us; 809us; 1343us; 809us; 1350us; 809us; 1351us; 809us; 1357us; 809us; 1363us; 809us; 1364us; 809us; 1365us; 809us; 1381us; 809us; 1391us; 809us; 1404us; 809us; 1405us; 809us; 1407us; 809us; 1409us; 809us; 1413us; 809us; 1414us; 809us; 1421us; 809us; 1427us; 1647us; 1430us; 1647us; 1432us; 1647us; 1434us; 1647us; 1436us; 809us; 1441us; 809us; 1446us; 809us; 1471us; 809us; 1496us; 1647us; 1504us; 809us; 1511us; 809us; 1513us; 809us; 1516us; 809us; 1518us; 809us; 1529us; 809us; 1531us; 809us; 1538us; 1647us; 1541us; 1647us; 1544us; 1647us; 1547us; 1647us; 1549us; 1647us; 1551us; 1647us; 1555us; 1647us; 1558us; 1647us; 1562us; 1647us; 1565us; 1647us; 1570us; 1647us; 1572us; 1647us; 1574us; 1647us; 1577us; 1647us; 1579us; 1647us; 1593us; 1647us; 1598us; 1647us; 1601us; 1647us; 1612us; 1647us; 1616us; 1647us; 1622us; 1647us; 1629us; 1647us; 1633us; 1647us; 1639us; 1647us; 1640us; 1647us; 1649us; 809us; 1663us; 1647us; 1665us; 1647us; 1676us; 1647us; 1us; 65535us; 803us; 804us; 4us; 65535us; 807us; 808us; 1586us; 806us; 1620us; 806us; 1691us; 806us; 3us; 65535us; 1586us; 1587us; 1620us; 1621us; 1691us; 1692us; 186us; 65535us; 6us; 1333us; 31us; 1333us; 106us; 1333us; 108us; 1333us; 227us; 1333us; 241us; 1333us; 263us; 1333us; 313us; 1333us; 317us; 1333us; 322us; 1333us; 401us; 894us; 404us; 1333us; 406us; 894us; 409us; 1333us; 441us; 894us; 444us; 1333us; 460us; 1333us; 491us; 1333us; 642us; 643us; 654us; 655us; 699us; 1333us; 705us; 1333us; 751us; 894us; 754us; 1333us; 758us; 1333us; 768us; 1333us; 841us; 894us; 842us; 894us; 846us; 894us; 847us; 894us; 848us; 894us; 849us; 894us; 856us; 894us; 859us; 894us; 861us; 894us; 863us; 894us; 868us; 894us; 872us; 894us; 874us; 894us; 876us; 894us; 884us; 894us; 887us; 894us; 898us; 894us; 906us; 894us; 928us; 894us; 933us; 894us; 934us; 894us; 936us; 894us; 937us; 894us; 938us; 894us; 939us; 894us; 945us; 894us; 947us; 894us; 949us; 1333us; 954us; 1333us; 968us; 1333us; 970us; 1333us; 973us; 1333us; 976us; 1333us; 993us; 1333us; 996us; 1333us; 999us; 1333us; 1005us; 1333us; 1009us; 1333us; 1013us; 1333us; 1017us; 1333us; 1019us; 1333us; 1024us; 1333us; 1026us; 1333us; 1028us; 1333us; 1030us; 1333us; 1032us; 1333us; 1034us; 1333us; 1043us; 894us; 1045us; 1333us; 1053us; 1333us; 1060us; 1333us; 1066us; 1333us; 1068us; 1333us; 1070us; 894us; 1071us; 1333us; 1074us; 1333us; 1076us; 894us; 1077us; 1333us; 1080us; 1333us; 1083us; 1333us; 1086us; 1333us; 1088us; 1333us; 1093us; 1333us; 1095us; 1333us; 1138us; 1333us; 1140us; 1333us; 1144us; 1333us; 1145us; 1333us; 1146us; 1333us; 1147us; 1333us; 1148us; 1333us; 1149us; 1333us; 1150us; 1333us; 1151us; 1333us; 1152us; 1333us; 1153us; 1333us; 1154us; 1333us; 1156us; 1333us; 1157us; 1333us; 1158us; 1333us; 1159us; 1333us; 1160us; 1333us; 1161us; 1333us; 1162us; 1333us; 1163us; 1333us; 1164us; 1333us; 1186us; 1333us; 1189us; 894us; 1191us; 894us; 1196us; 894us; 1203us; 894us; 1208us; 1333us; 1209us; 1333us; 1213us; 1333us; 1215us; 1333us; 1219us; 1333us; 1221us; 1333us; 1225us; 1333us; 1228us; 1333us; 1230us; 1333us; 1232us; 1333us; 1233us; 1333us; 1235us; 1333us; 1236us; 1333us; 1238us; 1333us; 1239us; 1333us; 1241us; 1333us; 1242us; 1333us; 1244us; 1333us; 1245us; 1333us; 1247us; 1333us; 1248us; 1333us; 1254us; 1333us; 1255us; 1333us; 1260us; 1333us; 1262us; 1333us; 1264us; 1333us; 1265us; 1333us; 1266us; 1333us; 1269us; 1333us; 1276us; 1333us; 1277us; 1333us; 1280us; 1333us; 1281us; 1333us; 1294us; 1333us; 1301us; 1333us; 1308us; 1333us; 1315us; 1333us; 1324us; 1333us; 1327us; 1333us; 1329us; 1333us; 1332us; 1333us; 1343us; 1333us; 1350us; 1333us; 1351us; 1333us; 1357us; 1333us; 1363us; 1333us; 1364us; 1333us; 1365us; 1333us; 1381us; 1333us; 1391us; 1333us; 1404us; 1333us; 1405us; 1333us; 1407us; 1333us; 1409us; 1333us; 1413us; 1333us; 1414us; 1333us; 1421us; 1333us; 1436us; 1333us; 1441us; 1333us; 1446us; 1333us; 1471us; 1333us; 1504us; 1333us; 1511us; 894us; 1513us; 1333us; 1516us; 894us; 1518us; 1333us; 1529us; 894us; 1531us; 894us; 1649us; 1333us; 3us; 65535us; 401us; 402us; 406us; 407us; 751us; 752us; 3us; 65535us; 820us; 816us; 821us; 817us; 823us; 817us; 2us; 65535us; 821us; 822us; 823us; 824us; 1us; 65535us; 349us; 350us; 11us; 65535us; 401us; 812us; 406us; 812us; 751us; 812us; 841us; 831us; 842us; 832us; 846us; 833us; 847us; 834us; 848us; 835us; 849us; 836us; 1070us; 837us; 1076us; 838us; 11us; 65535us; 401us; 843us; 406us; 843us; 751us; 843us; 841us; 843us; 842us; 843us; 846us; 843us; 847us; 843us; 848us; 843us; 849us; 843us; 1070us; 843us; 1076us; 843us; 11us; 65535us; 401us; 844us; 406us; 844us; 751us; 844us; 841us; 844us; 842us; 844us; 846us; 844us; 847us; 844us; 848us; 844us; 849us; 844us; 1070us; 844us; 1076us; 844us; 2us; 65535us; 852us; 853us; 868us; 869us; 2us; 65535us; 852us; 850us; 868us; 850us; 33us; 65535us; 401us; 845us; 406us; 845us; 751us; 845us; 841us; 845us; 842us; 845us; 846us; 845us; 847us; 845us; 848us; 845us; 849us; 845us; 856us; 935us; 868us; 935us; 884us; 935us; 887us; 935us; 898us; 935us; 906us; 935us; 928us; 935us; 933us; 935us; 934us; 935us; 936us; 935us; 937us; 935us; 938us; 935us; 939us; 935us; 945us; 935us; 947us; 935us; 1043us; 935us; 1070us; 845us; 1076us; 845us; 1189us; 935us; 1191us; 935us; 1196us; 935us; 1203us; 935us; 1529us; 935us; 1531us; 935us; 3us; 65535us; 859us; 860us; 861us; 862us; 863us; 864us; 8us; 65535us; 859us; 871us; 861us; 871us; 863us; 871us; 872us; 873us; 874us; 875us; 876us; 877us; 1511us; 1512us; 1516us; 1517us; 42us; 65535us; 401us; 867us; 406us; 867us; 441us; 442us; 751us; 867us; 841us; 867us; 842us; 867us; 846us; 867us; 847us; 867us; 848us; 867us; 849us; 867us; 856us; 867us; 859us; 872us; 861us; 872us; 863us; 872us; 868us; 867us; 872us; 872us; 874us; 872us; 876us; 872us; 884us; 867us; 887us; 867us; 898us; 867us; 906us; 867us; 928us; 867us; 933us; 867us; 934us; 867us; 936us; 867us; 937us; 867us; 938us; 867us; 939us; 867us; 945us; 867us; 947us; 867us; 1043us; 867us; 1070us; 867us; 1076us; 867us; 1189us; 867us; 1191us; 867us; 1196us; 867us; 1203us; 867us; 1511us; 872us; 1516us; 872us; 1529us; 867us; 1531us; 867us; 2us; 65535us; 868us; 899us; 898us; 899us; 22us; 65535us; 856us; 857us; 868us; 913us; 884us; 923us; 887us; 923us; 898us; 913us; 906us; 920us; 928us; 914us; 933us; 915us; 934us; 916us; 936us; 917us; 937us; 918us; 938us; 919us; 939us; 921us; 945us; 922us; 947us; 923us; 1043us; 924us; 1189us; 925us; 1191us; 925us; 1196us; 925us; 1203us; 925us; 1529us; 925us; 1531us; 925us; 22us; 65535us; 856us; 929us; 868us; 929us; 884us; 929us; 887us; 929us; 898us; 929us; 906us; 907us; 928us; 929us; 933us; 929us; 934us; 929us; 936us; 929us; 937us; 929us; 938us; 929us; 939us; 929us; 945us; 929us; 947us; 929us; 1043us; 929us; 1189us; 929us; 1191us; 929us; 1196us; 929us; 1203us; 929us; 1529us; 929us; 1531us; 929us; 22us; 65535us; 856us; 930us; 868us; 930us; 884us; 930us; 887us; 930us; 898us; 930us; 906us; 930us; 928us; 930us; 933us; 930us; 934us; 930us; 936us; 930us; 937us; 930us; 938us; 930us; 939us; 930us; 945us; 930us; 947us; 930us; 1043us; 930us; 1189us; 930us; 1191us; 930us; 1196us; 930us; 1203us; 930us; 1529us; 930us; 1531us; 930us; 2us; 65535us; 881us; 882us; 942us; 943us; 2us; 65535us; 881us; 940us; 942us; 940us; 3us; 65535us; 884us; 885us; 887us; 888us; 947us; 948us; 23us; 65535us; 263us; 997us; 404us; 405us; 409us; 410us; 444us; 445us; 460us; 461us; 699us; 700us; 705us; 706us; 768us; 769us; 976us; 997us; 996us; 997us; 999us; 1000us; 1017us; 1018us; 1034us; 1035us; 1045us; 1046us; 1053us; 1054us; 1060us; 1061us; 1071us; 1072us; 1074us; 1075us; 1077us; 1078us; 1080us; 1081us; 1086us; 1087us; 1088us; 1089us; 1513us; 1514us; 6us; 65535us; 1028us; 1029us; 1030us; 1031us; 1140us; 1141us; 1441us; 1442us; 1446us; 1447us; 1471us; 1472us; 5us; 65535us; 1013us; 1014us; 1095us; 1096us; 1209us; 1210us; 1407us; 1408us; 1518us; 1519us; 50us; 65535us; 6us; 963us; 263us; 953us; 404us; 953us; 409us; 953us; 444us; 953us; 460us; 953us; 699us; 953us; 705us; 953us; 754us; 763us; 758us; 763us; 768us; 953us; 949us; 950us; 954us; 955us; 973us; 974us; 976us; 953us; 993us; 994us; 996us; 953us; 999us; 953us; 1005us; 1006us; 1009us; 1010us; 1013us; 958us; 1017us; 953us; 1034us; 953us; 1045us; 953us; 1053us; 953us; 1060us; 953us; 1071us; 953us; 1074us; 953us; 1077us; 953us; 1080us; 953us; 1083us; 1084us; 1086us; 953us; 1088us; 953us; 1095us; 958us; 1186us; 1187us; 1209us; 958us; 1215us; 1216us; 1221us; 1222us; 1308us; 1313us; 1315us; 1316us; 1343us; 1344us; 1350us; 1352us; 1351us; 1352us; 1363us; 1383us; 1364us; 1383us; 1365us; 1383us; 1381us; 1382us; 1407us; 958us; 1513us; 953us; 1518us; 958us; 1us; 65535us; 6us; 7us; 55us; 65535us; 6us; 960us; 263us; 960us; 404us; 960us; 409us; 960us; 444us; 960us; 460us; 960us; 699us; 960us; 705us; 960us; 754us; 960us; 758us; 960us; 768us; 960us; 949us; 960us; 954us; 960us; 968us; 969us; 970us; 971us; 973us; 960us; 976us; 960us; 993us; 960us; 996us; 960us; 999us; 960us; 1005us; 960us; 1009us; 960us; 1013us; 960us; 1017us; 960us; 1034us; 960us; 1045us; 960us; 1053us; 960us; 1060us; 960us; 1071us; 960us; 1074us; 960us; 1077us; 960us; 1080us; 960us; 1083us; 960us; 1086us; 960us; 1088us; 960us; 1095us; 960us; 1186us; 960us; 1209us; 960us; 1215us; 960us; 1221us; 960us; 1294us; 1402us; 1308us; 960us; 1315us; 960us; 1343us; 960us; 1350us; 960us; 1351us; 960us; 1357us; 1402us; 1363us; 960us; 1364us; 960us; 1365us; 960us; 1381us; 960us; 1391us; 1402us; 1407us; 960us; 1513us; 960us; 1518us; 960us; 98us; 65535us; 70us; 73us; 147us; 149us; 153us; 155us; 157us; 159us; 161us; 163us; 232us; 235us; 272us; 273us; 279us; 281us; 282us; 284us; 289us; 291us; 299us; 1838us; 301us; 1838us; 358us; 361us; 371us; 373us; 377us; 378us; 381us; 382us; 488us; 1838us; 503us; 505us; 527us; 528us; 536us; 538us; 545us; 547us; 703us; 713us; 706us; 713us; 753us; 757us; 759us; 761us; 823us; 830us; 824us; 827us; 868us; 904us; 898us; 904us; 899us; 901us; 906us; 912us; 907us; 909us; 924us; 1065us; 950us; 952us; 1006us; 1008us; 1010us; 1012us; 1014us; 1016us; 1019us; 1023us; 1020us; 1022us; 1032us; 1041us; 1033us; 1040us; 1035us; 1037us; 1043us; 1838us; 1044us; 1838us; 1045us; 1838us; 1046us; 1838us; 1052us; 1059us; 1053us; 1058us; 1054us; 1056us; 1078us; 713us; 1089us; 713us; 1121us; 1227us; 1143us; 1303us; 1154us; 1155us; 1192us; 1194us; 1216us; 1218us; 1222us; 1224us; 1228us; 1838us; 1230us; 1838us; 1282us; 1307us; 1285us; 1307us; 1294us; 1299us; 1295us; 1297us; 1315us; 1322us; 1316us; 1317us; 1318us; 1320us; 1344us; 1346us; 1350us; 1356us; 1351us; 1356us; 1352us; 1354us; 1357us; 1362us; 1358us; 1360us; 1363us; 1376us; 1364us; 1376us; 1365us; 1376us; 1367us; 1832us; 1391us; 1396us; 1392us; 1394us; 1404us; 1406us; 1409us; 1838us; 1470us; 1838us; 1471us; 1838us; 1504us; 1509us; 1505us; 1507us; 1518us; 1524us; 1519us; 1521us; 1588us; 1645us; 1615us; 1668us; 1634us; 1637us; 1635us; 1637us; 1639us; 1646us; 1640us; 1644us; 1641us; 1643us; 1658us; 1838us; 1663us; 1674us; 1665us; 1838us; 1670us; 1838us; 1712us; 1838us; 110us; 65535us; 6us; 965us; 31us; 32us; 106us; 107us; 108us; 109us; 227us; 242us; 241us; 242us; 263us; 965us; 404us; 965us; 409us; 965us; 444us; 965us; 460us; 965us; 699us; 965us; 705us; 965us; 754us; 965us; 758us; 965us; 768us; 965us; 949us; 965us; 954us; 965us; 968us; 965us; 970us; 965us; 973us; 965us; 976us; 965us; 993us; 965us; 996us; 965us; 999us; 965us; 1005us; 965us; 1009us; 965us; 1013us; 965us; 1017us; 965us; 1019us; 1020us; 1024us; 1025us; 1026us; 1027us; 1028us; 957us; 1030us; 957us; 1032us; 1033us; 1034us; 965us; 1045us; 965us; 1053us; 965us; 1060us; 965us; 1066us; 1067us; 1068us; 1069us; 1071us; 965us; 1074us; 965us; 1077us; 965us; 1080us; 965us; 1083us; 965us; 1086us; 965us; 1088us; 965us; 1093us; 1094us; 1095us; 965us; 1138us; 1097us; 1140us; 957us; 1144us; 1098us; 1145us; 1099us; 1146us; 1100us; 1147us; 1101us; 1148us; 1102us; 1149us; 1103us; 1150us; 1104us; 1151us; 1105us; 1152us; 1106us; 1153us; 1107us; 1154us; 1108us; 1156us; 1109us; 1157us; 1110us; 1158us; 1111us; 1159us; 1112us; 1160us; 1113us; 1161us; 1114us; 1162us; 1115us; 1163us; 1116us; 1164us; 1117us; 1186us; 965us; 1208us; 1118us; 1209us; 965us; 1213us; 1119us; 1215us; 965us; 1219us; 1120us; 1221us; 965us; 1225us; 1121us; 1228us; 1122us; 1230us; 1124us; 1294us; 967us; 1301us; 1123us; 1308us; 965us; 1315us; 966us; 1324us; 1125us; 1327us; 1125us; 1329us; 1125us; 1332us; 1126us; 1343us; 965us; 1350us; 965us; 1351us; 965us; 1357us; 967us; 1363us; 965us; 1364us; 965us; 1365us; 965us; 1381us; 965us; 1391us; 967us; 1404us; 1129us; 1405us; 1130us; 1407us; 965us; 1409us; 1127us; 1413us; 1128us; 1414us; 1131us; 1441us; 957us; 1446us; 957us; 1471us; 957us; 1513us; 965us; 1518us; 965us; 1us; 65535us; 1290us; 1291us; 3us; 65535us; 1006us; 1007us; 1010us; 1011us; 1014us; 1015us; 4us; 65535us; 1189us; 1190us; 1191us; 1192us; 1529us; 1530us; 1531us; 1532us; 6us; 65535us; 1189us; 1201us; 1191us; 1201us; 1196us; 1201us; 1203us; 1201us; 1529us; 1201us; 1531us; 1201us; 6us; 65535us; 1189us; 1195us; 1191us; 1195us; 1196us; 1197us; 1203us; 1204us; 1529us; 1195us; 1531us; 1195us; 1us; 65535us; 925us; 1200us; 1us; 65535us; 1201us; 1202us; 2us; 65535us; 1020us; 1021us; 1121us; 1226us; 2us; 65535us; 1020us; 1211us; 1121us; 1211us; 1us; 65535us; 1211us; 1212us; 110us; 65535us; 6us; 1142us; 31us; 1142us; 106us; 1142us; 108us; 1142us; 227us; 1142us; 241us; 1142us; 263us; 1142us; 404us; 1142us; 409us; 1142us; 444us; 1142us; 460us; 1142us; 699us; 1142us; 705us; 1142us; 754us; 1142us; 758us; 1142us; 768us; 1142us; 949us; 1142us; 954us; 1142us; 968us; 1142us; 970us; 1142us; 973us; 1142us; 976us; 1142us; 993us; 1142us; 996us; 1142us; 999us; 1142us; 1005us; 1142us; 1009us; 1142us; 1013us; 1142us; 1017us; 1142us; 1019us; 1142us; 1024us; 1142us; 1026us; 1142us; 1028us; 1142us; 1030us; 1142us; 1032us; 1142us; 1034us; 1142us; 1045us; 1142us; 1053us; 1142us; 1060us; 1142us; 1066us; 1142us; 1068us; 1142us; 1071us; 1142us; 1074us; 1142us; 1077us; 1142us; 1080us; 1142us; 1083us; 1142us; 1086us; 1142us; 1088us; 1142us; 1093us; 1142us; 1095us; 1142us; 1138us; 1142us; 1140us; 1142us; 1144us; 1142us; 1145us; 1142us; 1146us; 1142us; 1147us; 1142us; 1148us; 1142us; 1149us; 1142us; 1150us; 1142us; 1151us; 1142us; 1152us; 1142us; 1153us; 1142us; 1154us; 1142us; 1156us; 1142us; 1157us; 1142us; 1158us; 1142us; 1159us; 1142us; 1160us; 1142us; 1161us; 1142us; 1162us; 1142us; 1163us; 1142us; 1164us; 1142us; 1186us; 1142us; 1208us; 1142us; 1209us; 1142us; 1213us; 1142us; 1215us; 1142us; 1219us; 1142us; 1221us; 1142us; 1225us; 1142us; 1228us; 1142us; 1230us; 1142us; 1294us; 1142us; 1301us; 1143us; 1308us; 1142us; 1315us; 1142us; 1324us; 1142us; 1327us; 1142us; 1329us; 1142us; 1332us; 1142us; 1343us; 1142us; 1350us; 1142us; 1351us; 1142us; 1357us; 1142us; 1363us; 1142us; 1364us; 1142us; 1365us; 1142us; 1381us; 1142us; 1391us; 1142us; 1404us; 1142us; 1405us; 1142us; 1407us; 1142us; 1409us; 1142us; 1413us; 1142us; 1414us; 1142us; 1441us; 1142us; 1446us; 1142us; 1471us; 1142us; 1513us; 1142us; 1518us; 1142us; 124us; 65535us; 6us; 1139us; 31us; 1139us; 106us; 1139us; 108us; 1139us; 227us; 1139us; 241us; 1139us; 263us; 1139us; 404us; 1139us; 409us; 1139us; 444us; 1139us; 460us; 1139us; 699us; 1139us; 705us; 1139us; 754us; 1139us; 758us; 1139us; 768us; 1139us; 949us; 1139us; 954us; 1139us; 968us; 1139us; 970us; 1139us; 973us; 1139us; 976us; 1139us; 993us; 1139us; 996us; 1139us; 999us; 1139us; 1005us; 1139us; 1009us; 1139us; 1013us; 1139us; 1017us; 1139us; 1019us; 1139us; 1024us; 1139us; 1026us; 1139us; 1028us; 1139us; 1030us; 1139us; 1032us; 1139us; 1034us; 1139us; 1045us; 1139us; 1053us; 1139us; 1060us; 1139us; 1066us; 1139us; 1068us; 1139us; 1071us; 1139us; 1074us; 1139us; 1077us; 1139us; 1080us; 1139us; 1083us; 1139us; 1086us; 1139us; 1088us; 1139us; 1093us; 1139us; 1095us; 1139us; 1138us; 1139us; 1140us; 1139us; 1144us; 1139us; 1145us; 1139us; 1146us; 1139us; 1147us; 1139us; 1148us; 1139us; 1149us; 1139us; 1150us; 1139us; 1151us; 1139us; 1152us; 1139us; 1153us; 1139us; 1154us; 1139us; 1156us; 1139us; 1157us; 1139us; 1158us; 1139us; 1159us; 1139us; 1160us; 1139us; 1161us; 1139us; 1162us; 1139us; 1163us; 1139us; 1164us; 1139us; 1186us; 1139us; 1208us; 1139us; 1209us; 1139us; 1213us; 1139us; 1215us; 1139us; 1219us; 1139us; 1221us; 1139us; 1225us; 1139us; 1228us; 1139us; 1230us; 1139us; 1232us; 1234us; 1233us; 1234us; 1235us; 1237us; 1236us; 1237us; 1238us; 1240us; 1239us; 1240us; 1241us; 1243us; 1242us; 1243us; 1244us; 1246us; 1245us; 1246us; 1247us; 1249us; 1248us; 1249us; 1260us; 1261us; 1262us; 1263us; 1294us; 1139us; 1301us; 1139us; 1308us; 1139us; 1315us; 1139us; 1324us; 1139us; 1327us; 1139us; 1329us; 1139us; 1332us; 1139us; 1343us; 1139us; 1350us; 1139us; 1351us; 1139us; 1357us; 1139us; 1363us; 1139us; 1364us; 1139us; 1365us; 1139us; 1381us; 1139us; 1391us; 1139us; 1404us; 1139us; 1405us; 1139us; 1407us; 1139us; 1409us; 1139us; 1413us; 1139us; 1414us; 1139us; 1441us; 1139us; 1446us; 1139us; 1471us; 1139us; 1513us; 1139us; 1518us; 1139us; 125us; 65535us; 6us; 1264us; 31us; 1264us; 106us; 1264us; 108us; 1264us; 227us; 1264us; 241us; 1264us; 263us; 1264us; 404us; 1264us; 409us; 1264us; 444us; 1264us; 460us; 1264us; 699us; 1264us; 705us; 1264us; 754us; 1264us; 758us; 1264us; 768us; 1264us; 949us; 1264us; 954us; 1264us; 968us; 1264us; 970us; 1264us; 973us; 1264us; 976us; 1264us; 993us; 1264us; 996us; 1264us; 999us; 1264us; 1005us; 1264us; 1009us; 1264us; 1013us; 1264us; 1017us; 1264us; 1019us; 1264us; 1024us; 1264us; 1026us; 1264us; 1028us; 1264us; 1030us; 1264us; 1032us; 1264us; 1034us; 1264us; 1045us; 1264us; 1053us; 1264us; 1060us; 1264us; 1066us; 1264us; 1068us; 1264us; 1071us; 1264us; 1074us; 1264us; 1077us; 1264us; 1080us; 1264us; 1083us; 1264us; 1086us; 1264us; 1088us; 1264us; 1093us; 1264us; 1095us; 1264us; 1138us; 1264us; 1140us; 1264us; 1144us; 1264us; 1145us; 1264us; 1146us; 1264us; 1147us; 1264us; 1148us; 1264us; 1149us; 1264us; 1150us; 1264us; 1151us; 1264us; 1152us; 1264us; 1153us; 1264us; 1154us; 1264us; 1156us; 1264us; 1157us; 1264us; 1158us; 1264us; 1159us; 1264us; 1160us; 1264us; 1161us; 1264us; 1162us; 1264us; 1163us; 1264us; 1164us; 1264us; 1186us; 1264us; 1208us; 1264us; 1209us; 1264us; 1213us; 1264us; 1215us; 1264us; 1219us; 1264us; 1221us; 1264us; 1225us; 1264us; 1228us; 1264us; 1230us; 1264us; 1232us; 1264us; 1233us; 1264us; 1235us; 1264us; 1236us; 1264us; 1238us; 1264us; 1239us; 1264us; 1241us; 1264us; 1242us; 1264us; 1244us; 1264us; 1245us; 1264us; 1247us; 1264us; 1248us; 1264us; 1260us; 1264us; 1262us; 1264us; 1294us; 1264us; 1301us; 1264us; 1308us; 1264us; 1315us; 1264us; 1324us; 1264us; 1327us; 1264us; 1329us; 1264us; 1332us; 1264us; 1343us; 1264us; 1350us; 1264us; 1351us; 1264us; 1357us; 1264us; 1363us; 1264us; 1364us; 1264us; 1365us; 1264us; 1381us; 1264us; 1391us; 1265us; 1404us; 1264us; 1405us; 1264us; 1407us; 1264us; 1409us; 1264us; 1413us; 1264us; 1414us; 1264us; 1441us; 1264us; 1446us; 1264us; 1471us; 1264us; 1504us; 1266us; 1513us; 1264us; 1518us; 1264us; 4us; 65535us; 1264us; 1267us; 1265us; 1267us; 1266us; 1267us; 1421us; 1424us; 135us; 65535us; 6us; 1268us; 31us; 1268us; 106us; 1268us; 108us; 1268us; 227us; 1268us; 241us; 1268us; 263us; 1268us; 404us; 1268us; 409us; 1268us; 444us; 1268us; 460us; 1268us; 699us; 1268us; 705us; 1268us; 754us; 1268us; 758us; 1268us; 768us; 1268us; 949us; 1268us; 954us; 1268us; 968us; 1268us; 970us; 1268us; 973us; 1268us; 976us; 1268us; 993us; 1268us; 996us; 1268us; 999us; 1268us; 1005us; 1268us; 1009us; 1268us; 1013us; 1268us; 1017us; 1268us; 1019us; 1268us; 1024us; 1268us; 1026us; 1268us; 1028us; 1268us; 1030us; 1268us; 1032us; 1268us; 1034us; 1268us; 1045us; 1268us; 1053us; 1268us; 1060us; 1268us; 1066us; 1268us; 1068us; 1268us; 1071us; 1268us; 1074us; 1268us; 1077us; 1268us; 1080us; 1268us; 1083us; 1268us; 1086us; 1268us; 1088us; 1268us; 1093us; 1268us; 1095us; 1268us; 1138us; 1268us; 1140us; 1268us; 1144us; 1268us; 1145us; 1268us; 1146us; 1268us; 1147us; 1268us; 1148us; 1268us; 1149us; 1268us; 1150us; 1268us; 1151us; 1268us; 1152us; 1268us; 1153us; 1268us; 1154us; 1268us; 1156us; 1268us; 1157us; 1268us; 1158us; 1268us; 1159us; 1268us; 1160us; 1268us; 1161us; 1268us; 1162us; 1268us; 1163us; 1268us; 1164us; 1268us; 1186us; 1268us; 1208us; 1268us; 1209us; 1268us; 1213us; 1268us; 1215us; 1268us; 1219us; 1268us; 1221us; 1268us; 1225us; 1268us; 1228us; 1268us; 1230us; 1268us; 1232us; 1268us; 1233us; 1268us; 1235us; 1268us; 1236us; 1268us; 1238us; 1268us; 1239us; 1268us; 1241us; 1268us; 1242us; 1268us; 1244us; 1268us; 1245us; 1268us; 1247us; 1268us; 1248us; 1268us; 1260us; 1268us; 1262us; 1268us; 1264us; 1271us; 1265us; 1271us; 1266us; 1271us; 1269us; 1270us; 1276us; 1272us; 1277us; 1273us; 1280us; 1274us; 1281us; 1274us; 1294us; 1268us; 1301us; 1268us; 1308us; 1268us; 1315us; 1268us; 1324us; 1268us; 1327us; 1268us; 1329us; 1268us; 1332us; 1268us; 1343us; 1268us; 1350us; 1268us; 1351us; 1268us; 1357us; 1268us; 1363us; 1268us; 1364us; 1268us; 1365us; 1268us; 1381us; 1268us; 1391us; 1268us; 1404us; 1268us; 1405us; 1268us; 1407us; 1268us; 1409us; 1268us; 1413us; 1268us; 1414us; 1268us; 1421us; 1271us; 1441us; 1268us; 1446us; 1268us; 1471us; 1268us; 1504us; 1268us; 1513us; 1268us; 1518us; 1268us; 1649us; 1275us; 2us; 65535us; 1282us; 1283us; 1285us; 1286us; 2us; 65535us; 1315us; 1318us; 1324us; 1325us; 2us; 65535us; 1315us; 1323us; 1324us; 1323us; 4us; 65535us; 1315us; 1326us; 1324us; 1326us; 1327us; 1328us; 1329us; 1330us; 142us; 65535us; 6us; 1304us; 31us; 1304us; 106us; 1304us; 108us; 1304us; 227us; 1304us; 241us; 1304us; 263us; 1304us; 313us; 1425us; 317us; 1425us; 322us; 1425us; 404us; 1304us; 409us; 1304us; 444us; 1304us; 460us; 1304us; 491us; 492us; 699us; 1304us; 705us; 1304us; 754us; 1304us; 758us; 1304us; 768us; 1304us; 949us; 1304us; 954us; 1304us; 968us; 1304us; 970us; 1304us; 973us; 1304us; 976us; 1304us; 993us; 1304us; 996us; 1304us; 999us; 1304us; 1005us; 1304us; 1009us; 1304us; 1013us; 1304us; 1017us; 1304us; 1019us; 1304us; 1024us; 1304us; 1026us; 1304us; 1028us; 1304us; 1030us; 1304us; 1032us; 1304us; 1034us; 1304us; 1045us; 1304us; 1053us; 1304us; 1060us; 1304us; 1066us; 1304us; 1068us; 1304us; 1071us; 1304us; 1074us; 1304us; 1077us; 1304us; 1080us; 1304us; 1083us; 1304us; 1086us; 1304us; 1088us; 1304us; 1093us; 1304us; 1095us; 1304us; 1138us; 1304us; 1140us; 1304us; 1144us; 1304us; 1145us; 1304us; 1146us; 1304us; 1147us; 1304us; 1148us; 1304us; 1149us; 1304us; 1150us; 1304us; 1151us; 1304us; 1152us; 1304us; 1153us; 1304us; 1154us; 1304us; 1156us; 1304us; 1157us; 1304us; 1158us; 1304us; 1159us; 1304us; 1160us; 1304us; 1161us; 1304us; 1162us; 1304us; 1163us; 1304us; 1164us; 1304us; 1186us; 1304us; 1208us; 1304us; 1209us; 1304us; 1213us; 1304us; 1215us; 1304us; 1219us; 1304us; 1221us; 1304us; 1225us; 1304us; 1228us; 1304us; 1230us; 1304us; 1232us; 1304us; 1233us; 1304us; 1235us; 1304us; 1236us; 1304us; 1238us; 1304us; 1239us; 1304us; 1241us; 1304us; 1242us; 1304us; 1244us; 1304us; 1245us; 1304us; 1247us; 1304us; 1248us; 1304us; 1254us; 1256us; 1255us; 1257us; 1260us; 1304us; 1262us; 1304us; 1264us; 1304us; 1265us; 1304us; 1266us; 1304us; 1269us; 1304us; 1276us; 1304us; 1277us; 1304us; 1280us; 1304us; 1281us; 1304us; 1294us; 1304us; 1301us; 1304us; 1308us; 1304us; 1315us; 1304us; 1324us; 1304us; 1327us; 1304us; 1329us; 1304us; 1332us; 1304us; 1343us; 1304us; 1350us; 1304us; 1351us; 1304us; 1357us; 1304us; 1363us; 1304us; 1364us; 1304us; 1365us; 1304us; 1381us; 1304us; 1391us; 1304us; 1404us; 1304us; 1405us; 1304us; 1407us; 1304us; 1409us; 1304us; 1413us; 1304us; 1414us; 1304us; 1421us; 1304us; 1436us; 1425us; 1441us; 1304us; 1446us; 1304us; 1471us; 1304us; 1504us; 1304us; 1513us; 1304us; 1518us; 1304us; 1649us; 1304us; 142us; 65535us; 6us; 1342us; 31us; 1342us; 106us; 1342us; 108us; 1342us; 227us; 1342us; 241us; 1342us; 263us; 1342us; 313us; 1342us; 317us; 1342us; 322us; 1342us; 404us; 1342us; 409us; 1342us; 444us; 1342us; 460us; 1342us; 491us; 1342us; 699us; 1342us; 705us; 1342us; 754us; 1342us; 758us; 1342us; 768us; 1342us; 949us; 1342us; 954us; 1342us; 968us; 1342us; 970us; 1342us; 973us; 1342us; 976us; 1342us; 993us; 1342us; 996us; 1342us; 999us; 1342us; 1005us; 1342us; 1009us; 1342us; 1013us; 1342us; 1017us; 1342us; 1019us; 1342us; 1024us; 1342us; 1026us; 1342us; 1028us; 1342us; 1030us; 1342us; 1032us; 1342us; 1034us; 1342us; 1045us; 1342us; 1053us; 1342us; 1060us; 1342us; 1066us; 1342us; 1068us; 1342us; 1071us; 1342us; 1074us; 1342us; 1077us; 1342us; 1080us; 1342us; 1083us; 1342us; 1086us; 1342us; 1088us; 1342us; 1093us; 1342us; 1095us; 1342us; 1138us; 1342us; 1140us; 1342us; 1144us; 1342us; 1145us; 1342us; 1146us; 1342us; 1147us; 1342us; 1148us; 1342us; 1149us; 1342us; 1150us; 1342us; 1151us; 1342us; 1152us; 1342us; 1153us; 1342us; 1154us; 1342us; 1156us; 1342us; 1157us; 1342us; 1158us; 1342us; 1159us; 1342us; 1160us; 1342us; 1161us; 1342us; 1162us; 1342us; 1163us; 1342us; 1164us; 1342us; 1186us; 1342us; 1208us; 1342us; 1209us; 1342us; 1213us; 1342us; 1215us; 1342us; 1219us; 1342us; 1221us; 1342us; 1225us; 1342us; 1228us; 1342us; 1230us; 1342us; 1232us; 1342us; 1233us; 1342us; 1235us; 1342us; 1236us; 1342us; 1238us; 1342us; 1239us; 1342us; 1241us; 1342us; 1242us; 1342us; 1244us; 1342us; 1245us; 1342us; 1247us; 1342us; 1248us; 1342us; 1254us; 1342us; 1255us; 1342us; 1260us; 1342us; 1262us; 1342us; 1264us; 1342us; 1265us; 1342us; 1266us; 1342us; 1269us; 1342us; 1276us; 1342us; 1277us; 1342us; 1280us; 1342us; 1281us; 1342us; 1294us; 1342us; 1301us; 1342us; 1308us; 1342us; 1315us; 1342us; 1324us; 1342us; 1327us; 1342us; 1329us; 1342us; 1332us; 1342us; 1343us; 1342us; 1350us; 1342us; 1351us; 1342us; 1357us; 1342us; 1363us; 1342us; 1364us; 1342us; 1365us; 1342us; 1381us; 1342us; 1391us; 1342us; 1404us; 1342us; 1405us; 1342us; 1407us; 1342us; 1409us; 1342us; 1413us; 1342us; 1414us; 1342us; 1421us; 1342us; 1436us; 1342us; 1441us; 1342us; 1446us; 1342us; 1471us; 1342us; 1504us; 1342us; 1513us; 1342us; 1518us; 1342us; 1649us; 1342us; 184us; 65535us; 6us; 1340us; 31us; 1340us; 106us; 1340us; 108us; 1340us; 227us; 1340us; 241us; 1340us; 263us; 1340us; 313us; 1340us; 317us; 1340us; 322us; 1340us; 401us; 878us; 404us; 1340us; 406us; 878us; 409us; 1340us; 441us; 878us; 444us; 1340us; 460us; 1340us; 491us; 1340us; 699us; 1340us; 705us; 1340us; 751us; 878us; 754us; 1340us; 758us; 1340us; 768us; 1340us; 841us; 878us; 842us; 878us; 846us; 878us; 847us; 878us; 848us; 878us; 849us; 878us; 856us; 878us; 859us; 878us; 861us; 878us; 863us; 878us; 868us; 878us; 872us; 878us; 874us; 878us; 876us; 878us; 884us; 878us; 887us; 878us; 898us; 878us; 906us; 878us; 928us; 878us; 933us; 878us; 934us; 878us; 936us; 878us; 937us; 878us; 938us; 878us; 939us; 878us; 945us; 878us; 947us; 878us; 949us; 1340us; 954us; 1340us; 968us; 1340us; 970us; 1340us; 973us; 1340us; 976us; 1340us; 993us; 1340us; 996us; 1340us; 999us; 1340us; 1005us; 1340us; 1009us; 1340us; 1013us; 1340us; 1017us; 1340us; 1019us; 1340us; 1024us; 1340us; 1026us; 1340us; 1028us; 1340us; 1030us; 1340us; 1032us; 1340us; 1034us; 1340us; 1043us; 878us; 1045us; 1340us; 1053us; 1340us; 1060us; 1340us; 1066us; 1340us; 1068us; 1340us; 1070us; 878us; 1071us; 1340us; 1074us; 1340us; 1076us; 878us; 1077us; 1340us; 1080us; 1340us; 1083us; 1340us; 1086us; 1340us; 1088us; 1340us; 1093us; 1340us; 1095us; 1340us; 1138us; 1340us; 1140us; 1340us; 1144us; 1340us; 1145us; 1340us; 1146us; 1340us; 1147us; 1340us; 1148us; 1340us; 1149us; 1340us; 1150us; 1340us; 1151us; 1340us; 1152us; 1340us; 1153us; 1340us; 1154us; 1340us; 1156us; 1340us; 1157us; 1340us; 1158us; 1340us; 1159us; 1340us; 1160us; 1340us; 1161us; 1340us; 1162us; 1340us; 1163us; 1340us; 1164us; 1340us; 1186us; 1340us; 1189us; 878us; 1191us; 878us; 1196us; 878us; 1203us; 878us; 1208us; 1340us; 1209us; 1340us; 1213us; 1340us; 1215us; 1340us; 1219us; 1340us; 1221us; 1340us; 1225us; 1340us; 1228us; 1340us; 1230us; 1340us; 1232us; 1340us; 1233us; 1340us; 1235us; 1340us; 1236us; 1340us; 1238us; 1340us; 1239us; 1340us; 1241us; 1340us; 1242us; 1340us; 1244us; 1340us; 1245us; 1340us; 1247us; 1340us; 1248us; 1340us; 1254us; 1340us; 1255us; 1340us; 1260us; 1340us; 1262us; 1340us; 1264us; 1340us; 1265us; 1340us; 1266us; 1340us; 1269us; 1340us; 1276us; 1340us; 1277us; 1340us; 1280us; 1340us; 1281us; 1340us; 1294us; 1340us; 1301us; 1340us; 1308us; 1340us; 1315us; 1340us; 1324us; 1340us; 1327us; 1340us; 1329us; 1340us; 1332us; 1340us; 1343us; 1340us; 1350us; 1340us; 1351us; 1340us; 1357us; 1340us; 1363us; 1340us; 1364us; 1340us; 1365us; 1340us; 1381us; 1340us; 1391us; 1340us; 1404us; 1340us; 1405us; 1340us; 1407us; 1340us; 1409us; 1340us; 1413us; 1340us; 1414us; 1340us; 1421us; 1340us; 1436us; 1340us; 1441us; 1340us; 1446us; 1340us; 1471us; 1340us; 1504us; 1340us; 1511us; 878us; 1513us; 1340us; 1516us; 878us; 1518us; 1340us; 1529us; 878us; 1531us; 878us; 1649us; 1340us; 142us; 65535us; 6us; 1341us; 31us; 1341us; 106us; 1341us; 108us; 1341us; 227us; 1341us; 241us; 1341us; 263us; 1341us; 313us; 1341us; 317us; 1341us; 322us; 1341us; 404us; 1341us; 409us; 1341us; 444us; 1341us; 460us; 1341us; 491us; 1341us; 699us; 1341us; 705us; 1341us; 754us; 1341us; 758us; 1341us; 768us; 1341us; 949us; 1341us; 954us; 1341us; 968us; 1341us; 970us; 1341us; 973us; 1341us; 976us; 1341us; 993us; 1341us; 996us; 1341us; 999us; 1341us; 1005us; 1341us; 1009us; 1341us; 1013us; 1341us; 1017us; 1341us; 1019us; 1341us; 1024us; 1341us; 1026us; 1341us; 1028us; 1341us; 1030us; 1341us; 1032us; 1341us; 1034us; 1341us; 1045us; 1341us; 1053us; 1341us; 1060us; 1341us; 1066us; 1341us; 1068us; 1341us; 1071us; 1341us; 1074us; 1341us; 1077us; 1341us; 1080us; 1341us; 1083us; 1341us; 1086us; 1341us; 1088us; 1341us; 1093us; 1341us; 1095us; 1341us; 1138us; 1341us; 1140us; 1341us; 1144us; 1341us; 1145us; 1341us; 1146us; 1341us; 1147us; 1341us; 1148us; 1341us; 1149us; 1341us; 1150us; 1341us; 1151us; 1341us; 1152us; 1341us; 1153us; 1341us; 1154us; 1341us; 1156us; 1341us; 1157us; 1341us; 1158us; 1341us; 1159us; 1341us; 1160us; 1341us; 1161us; 1341us; 1162us; 1341us; 1163us; 1341us; 1164us; 1341us; 1186us; 1341us; 1208us; 1341us; 1209us; 1341us; 1213us; 1341us; 1215us; 1341us; 1219us; 1341us; 1221us; 1341us; 1225us; 1341us; 1228us; 1341us; 1230us; 1341us; 1232us; 1341us; 1233us; 1341us; 1235us; 1341us; 1236us; 1341us; 1238us; 1341us; 1239us; 1341us; 1241us; 1341us; 1242us; 1341us; 1244us; 1341us; 1245us; 1341us; 1247us; 1341us; 1248us; 1341us; 1254us; 1341us; 1255us; 1341us; 1260us; 1341us; 1262us; 1341us; 1264us; 1341us; 1265us; 1341us; 1266us; 1341us; 1269us; 1341us; 1276us; 1341us; 1277us; 1341us; 1280us; 1341us; 1281us; 1341us; 1294us; 1341us; 1301us; 1341us; 1308us; 1341us; 1315us; 1341us; 1324us; 1341us; 1327us; 1341us; 1329us; 1341us; 1332us; 1341us; 1343us; 1341us; 1350us; 1341us; 1351us; 1341us; 1357us; 1341us; 1363us; 1341us; 1364us; 1341us; 1365us; 1341us; 1381us; 1341us; 1391us; 1341us; 1404us; 1341us; 1405us; 1341us; 1407us; 1341us; 1409us; 1341us; 1413us; 1341us; 1414us; 1341us; 1421us; 1341us; 1436us; 1341us; 1441us; 1341us; 1446us; 1341us; 1471us; 1341us; 1504us; 1341us; 1513us; 1341us; 1518us; 1341us; 1649us; 1341us; 142us; 65535us; 6us; 1334us; 31us; 1334us; 106us; 1334us; 108us; 1334us; 227us; 1334us; 241us; 1334us; 263us; 1334us; 313us; 1334us; 317us; 1334us; 322us; 1334us; 404us; 1334us; 409us; 1334us; 444us; 1334us; 460us; 1334us; 491us; 1334us; 699us; 1334us; 705us; 1334us; 754us; 1334us; 758us; 1334us; 768us; 1334us; 949us; 1334us; 954us; 1334us; 968us; 1334us; 970us; 1334us; 973us; 1334us; 976us; 1334us; 993us; 1334us; 996us; 1334us; 999us; 1334us; 1005us; 1334us; 1009us; 1334us; 1013us; 1334us; 1017us; 1334us; 1019us; 1334us; 1024us; 1334us; 1026us; 1334us; 1028us; 1334us; 1030us; 1334us; 1032us; 1334us; 1034us; 1334us; 1045us; 1334us; 1053us; 1334us; 1060us; 1334us; 1066us; 1334us; 1068us; 1334us; 1071us; 1334us; 1074us; 1334us; 1077us; 1334us; 1080us; 1334us; 1083us; 1334us; 1086us; 1334us; 1088us; 1334us; 1093us; 1334us; 1095us; 1334us; 1138us; 1334us; 1140us; 1334us; 1144us; 1334us; 1145us; 1334us; 1146us; 1334us; 1147us; 1334us; 1148us; 1334us; 1149us; 1334us; 1150us; 1334us; 1151us; 1334us; 1152us; 1334us; 1153us; 1334us; 1154us; 1334us; 1156us; 1334us; 1157us; 1334us; 1158us; 1334us; 1159us; 1334us; 1160us; 1334us; 1161us; 1334us; 1162us; 1334us; 1163us; 1334us; 1164us; 1334us; 1186us; 1334us; 1208us; 1334us; 1209us; 1334us; 1213us; 1334us; 1215us; 1334us; 1219us; 1334us; 1221us; 1334us; 1225us; 1334us; 1228us; 1334us; 1230us; 1334us; 1232us; 1334us; 1233us; 1334us; 1235us; 1334us; 1236us; 1334us; 1238us; 1334us; 1239us; 1334us; 1241us; 1334us; 1242us; 1334us; 1244us; 1334us; 1245us; 1334us; 1247us; 1334us; 1248us; 1334us; 1254us; 1334us; 1255us; 1334us; 1260us; 1334us; 1262us; 1334us; 1264us; 1334us; 1265us; 1334us; 1266us; 1334us; 1269us; 1334us; 1276us; 1334us; 1277us; 1334us; 1280us; 1334us; 1281us; 1334us; 1294us; 1334us; 1301us; 1334us; 1308us; 1334us; 1315us; 1334us; 1324us; 1334us; 1327us; 1334us; 1329us; 1334us; 1332us; 1334us; 1343us; 1334us; 1350us; 1334us; 1351us; 1334us; 1357us; 1334us; 1363us; 1334us; 1364us; 1334us; 1365us; 1334us; 1381us; 1334us; 1391us; 1334us; 1404us; 1334us; 1405us; 1334us; 1407us; 1334us; 1409us; 1334us; 1413us; 1334us; 1414us; 1334us; 1421us; 1334us; 1436us; 1334us; 1441us; 1334us; 1446us; 1334us; 1471us; 1334us; 1504us; 1334us; 1513us; 1334us; 1518us; 1334us; 1649us; 1334us; 3us; 65535us; 1363us; 1367us; 1364us; 1367us; 1365us; 1367us; 3us; 65535us; 1363us; 1377us; 1364us; 1377us; 1365us; 1377us; 1us; 65535us; 1364us; 1387us; 142us; 65535us; 6us; 1335us; 31us; 1335us; 106us; 1335us; 108us; 1335us; 227us; 1335us; 241us; 1335us; 263us; 1335us; 313us; 1335us; 317us; 1335us; 322us; 1335us; 404us; 1335us; 409us; 1335us; 444us; 1335us; 460us; 1335us; 491us; 1335us; 699us; 1335us; 705us; 1335us; 754us; 1335us; 758us; 1335us; 768us; 1335us; 949us; 1335us; 954us; 1335us; 968us; 1335us; 970us; 1335us; 973us; 1335us; 976us; 1335us; 993us; 1335us; 996us; 1335us; 999us; 1335us; 1005us; 1335us; 1009us; 1335us; 1013us; 1335us; 1017us; 1335us; 1019us; 1335us; 1024us; 1335us; 1026us; 1335us; 1028us; 1335us; 1030us; 1335us; 1032us; 1335us; 1034us; 1335us; 1045us; 1335us; 1053us; 1335us; 1060us; 1335us; 1066us; 1335us; 1068us; 1335us; 1071us; 1335us; 1074us; 1335us; 1077us; 1335us; 1080us; 1335us; 1083us; 1335us; 1086us; 1335us; 1088us; 1335us; 1093us; 1335us; 1095us; 1335us; 1138us; 1335us; 1140us; 1335us; 1144us; 1335us; 1145us; 1335us; 1146us; 1335us; 1147us; 1335us; 1148us; 1335us; 1149us; 1335us; 1150us; 1335us; 1151us; 1335us; 1152us; 1335us; 1153us; 1335us; 1154us; 1335us; 1156us; 1335us; 1157us; 1335us; 1158us; 1335us; 1159us; 1335us; 1160us; 1335us; 1161us; 1335us; 1162us; 1335us; 1163us; 1335us; 1164us; 1335us; 1186us; 1335us; 1208us; 1335us; 1209us; 1335us; 1213us; 1335us; 1215us; 1335us; 1219us; 1335us; 1221us; 1335us; 1225us; 1335us; 1228us; 1335us; 1230us; 1335us; 1232us; 1335us; 1233us; 1335us; 1235us; 1335us; 1236us; 1335us; 1238us; 1335us; 1239us; 1335us; 1241us; 1335us; 1242us; 1335us; 1244us; 1335us; 1245us; 1335us; 1247us; 1335us; 1248us; 1335us; 1254us; 1335us; 1255us; 1335us; 1260us; 1335us; 1262us; 1335us; 1264us; 1335us; 1265us; 1335us; 1266us; 1335us; 1269us; 1335us; 1276us; 1335us; 1277us; 1335us; 1280us; 1335us; 1281us; 1335us; 1294us; 1335us; 1301us; 1335us; 1308us; 1335us; 1315us; 1335us; 1324us; 1335us; 1327us; 1335us; 1329us; 1335us; 1332us; 1335us; 1343us; 1335us; 1350us; 1335us; 1351us; 1335us; 1357us; 1335us; 1363us; 1335us; 1364us; 1335us; 1365us; 1335us; 1381us; 1335us; 1391us; 1335us; 1404us; 1335us; 1405us; 1335us; 1407us; 1335us; 1409us; 1335us; 1413us; 1335us; 1414us; 1335us; 1421us; 1335us; 1436us; 1335us; 1441us; 1335us; 1446us; 1335us; 1471us; 1335us; 1504us; 1335us; 1513us; 1335us; 1518us; 1335us; 1649us; 1335us; 1us; 65535us; 1391us; 1392us; 2us; 65535us; 1294us; 1295us; 1357us; 1358us; 3us; 65535us; 1294us; 1401us; 1357us; 1401us; 1391us; 1400us; 5us; 65535us; 1294us; 1403us; 1357us; 1403us; 1391us; 1403us; 1409us; 1410us; 1413us; 1415us; 1us; 65535us; 1091us; 1092us; 1us; 65535us; 1043us; 1044us; 1us; 65535us; 1043us; 1052us; 1us; 65535us; 1128us; 1414us; 3us; 65535us; 1363us; 1384us; 1364us; 1384us; 1365us; 1384us; 1us; 65535us; 1420us; 1421us; 4us; 65535us; 313us; 314us; 317us; 318us; 322us; 323us; 1436us; 1437us; 1us; 65535us; 1419us; 1420us; 1us; 65535us; 1421us; 1422us; 1us; 65535us; 1391us; 1398us; 2us; 65535us; 1391us; 1440us; 1504us; 1505us; 6us; 65535us; 1438us; 1439us; 1443us; 1444us; 1448us; 1449us; 1452us; 1453us; 1454us; 1455us; 1458us; 1459us; 6us; 65535us; 1438us; 1462us; 1443us; 1462us; 1448us; 1462us; 1452us; 1462us; 1454us; 1461us; 1458us; 1462us; 3us; 65535us; 1450us; 1470us; 1454us; 1470us; 1462us; 1470us; 5us; 65535us; 1437us; 1438us; 1442us; 1443us; 1447us; 1448us; 1451us; 1452us; 1457us; 1458us; 3us; 65535us; 1450us; 1451us; 1454us; 1457us; 1462us; 1469us; 1us; 65535us; 1391us; 1399us; 1us; 65535us; 1391us; 1475us; 1us; 65535us; 1497us; 1498us; 2us; 65535us; 1475us; 1476us; 1497us; 1482us; 1us; 65535us; 1479us; 1480us; 4us; 65535us; 1477us; 1478us; 1490us; 1491us; 1492us; 1493us; 1494us; 1495us; 5us; 65535us; 1477us; 1492us; 1479us; 1490us; 1490us; 1492us; 1492us; 1492us; 1494us; 1492us; 142us; 65535us; 6us; 1336us; 31us; 1336us; 106us; 1336us; 108us; 1336us; 227us; 1336us; 241us; 1336us; 263us; 1336us; 313us; 1336us; 317us; 1336us; 322us; 1336us; 404us; 1336us; 409us; 1336us; 444us; 1336us; 460us; 1336us; 491us; 1336us; 699us; 1336us; 705us; 1336us; 754us; 1336us; 758us; 1336us; 768us; 1336us; 949us; 1336us; 954us; 1336us; 968us; 1336us; 970us; 1336us; 973us; 1336us; 976us; 1336us; 993us; 1336us; 996us; 1336us; 999us; 1336us; 1005us; 1336us; 1009us; 1336us; 1013us; 1336us; 1017us; 1336us; 1019us; 1336us; 1024us; 1336us; 1026us; 1336us; 1028us; 1336us; 1030us; 1336us; 1032us; 1336us; 1034us; 1336us; 1045us; 1336us; 1053us; 1336us; 1060us; 1336us; 1066us; 1336us; 1068us; 1336us; 1071us; 1336us; 1074us; 1336us; 1077us; 1336us; 1080us; 1336us; 1083us; 1336us; 1086us; 1336us; 1088us; 1336us; 1093us; 1336us; 1095us; 1336us; 1138us; 1336us; 1140us; 1336us; 1144us; 1336us; 1145us; 1336us; 1146us; 1336us; 1147us; 1336us; 1148us; 1336us; 1149us; 1336us; 1150us; 1336us; 1151us; 1336us; 1152us; 1336us; 1153us; 1336us; 1154us; 1336us; 1156us; 1336us; 1157us; 1336us; 1158us; 1336us; 1159us; 1336us; 1160us; 1336us; 1161us; 1336us; 1162us; 1336us; 1163us; 1336us; 1164us; 1336us; 1186us; 1336us; 1208us; 1336us; 1209us; 1336us; 1213us; 1336us; 1215us; 1336us; 1219us; 1336us; 1221us; 1336us; 1225us; 1336us; 1228us; 1336us; 1230us; 1336us; 1232us; 1336us; 1233us; 1336us; 1235us; 1336us; 1236us; 1336us; 1238us; 1336us; 1239us; 1336us; 1241us; 1336us; 1242us; 1336us; 1244us; 1336us; 1245us; 1336us; 1247us; 1336us; 1248us; 1336us; 1254us; 1336us; 1255us; 1336us; 1260us; 1336us; 1262us; 1336us; 1264us; 1336us; 1265us; 1336us; 1266us; 1336us; 1269us; 1336us; 1276us; 1336us; 1277us; 1336us; 1280us; 1336us; 1281us; 1336us; 1294us; 1336us; 1301us; 1336us; 1308us; 1336us; 1315us; 1336us; 1324us; 1336us; 1327us; 1336us; 1329us; 1336us; 1332us; 1336us; 1343us; 1336us; 1350us; 1336us; 1351us; 1336us; 1357us; 1336us; 1363us; 1336us; 1364us; 1336us; 1365us; 1336us; 1381us; 1336us; 1391us; 1336us; 1404us; 1336us; 1405us; 1336us; 1407us; 1336us; 1409us; 1336us; 1413us; 1336us; 1414us; 1336us; 1421us; 1336us; 1436us; 1336us; 1441us; 1336us; 1446us; 1336us; 1471us; 1336us; 1504us; 1336us; 1513us; 1336us; 1518us; 1336us; 1649us; 1336us; 144us; 65535us; 6us; 1503us; 31us; 1503us; 106us; 1503us; 108us; 1503us; 227us; 1503us; 241us; 1503us; 263us; 1503us; 313us; 1503us; 317us; 1503us; 322us; 1503us; 404us; 1503us; 409us; 1503us; 444us; 1503us; 460us; 1503us; 491us; 1503us; 699us; 1503us; 705us; 1503us; 754us; 1503us; 758us; 1503us; 768us; 1503us; 949us; 1503us; 954us; 1503us; 968us; 1503us; 970us; 1503us; 973us; 1503us; 976us; 1503us; 993us; 1503us; 996us; 1503us; 999us; 1503us; 1005us; 1503us; 1009us; 1503us; 1013us; 1503us; 1017us; 1503us; 1019us; 1503us; 1024us; 1503us; 1026us; 1503us; 1028us; 1503us; 1030us; 1503us; 1032us; 1503us; 1034us; 1503us; 1045us; 1503us; 1053us; 1503us; 1060us; 1503us; 1066us; 1503us; 1068us; 1503us; 1071us; 1503us; 1074us; 1503us; 1077us; 1503us; 1080us; 1503us; 1083us; 1503us; 1086us; 1503us; 1088us; 1503us; 1093us; 1503us; 1095us; 1503us; 1138us; 1503us; 1140us; 1503us; 1144us; 1503us; 1145us; 1503us; 1146us; 1503us; 1147us; 1503us; 1148us; 1503us; 1149us; 1503us; 1150us; 1503us; 1151us; 1503us; 1152us; 1503us; 1153us; 1503us; 1154us; 1503us; 1156us; 1503us; 1157us; 1503us; 1158us; 1503us; 1159us; 1503us; 1160us; 1503us; 1161us; 1503us; 1162us; 1503us; 1163us; 1503us; 1164us; 1503us; 1186us; 1503us; 1208us; 1503us; 1209us; 1503us; 1213us; 1503us; 1215us; 1503us; 1219us; 1503us; 1221us; 1503us; 1225us; 1503us; 1228us; 1503us; 1230us; 1503us; 1232us; 1503us; 1233us; 1503us; 1235us; 1503us; 1236us; 1503us; 1238us; 1503us; 1239us; 1503us; 1241us; 1503us; 1242us; 1503us; 1244us; 1503us; 1245us; 1503us; 1247us; 1503us; 1248us; 1503us; 1254us; 1503us; 1255us; 1503us; 1260us; 1503us; 1262us; 1503us; 1264us; 1503us; 1265us; 1503us; 1266us; 1503us; 1269us; 1503us; 1276us; 1503us; 1277us; 1503us; 1280us; 1503us; 1281us; 1503us; 1294us; 1503us; 1300us; 1502us; 1301us; 1503us; 1308us; 1503us; 1315us; 1503us; 1324us; 1503us; 1327us; 1503us; 1329us; 1503us; 1332us; 1503us; 1343us; 1503us; 1350us; 1503us; 1351us; 1503us; 1357us; 1503us; 1363us; 1503us; 1364us; 1503us; 1365us; 1503us; 1381us; 1503us; 1391us; 1503us; 1404us; 1503us; 1405us; 1503us; 1407us; 1503us; 1409us; 1503us; 1413us; 1503us; 1414us; 1503us; 1421us; 1503us; 1436us; 1503us; 1441us; 1503us; 1446us; 1503us; 1471us; 1503us; 1501us; 1502us; 1504us; 1503us; 1513us; 1503us; 1518us; 1503us; 1649us; 1503us; 110us; 65535us; 6us; 1004us; 31us; 1004us; 106us; 1004us; 108us; 1004us; 227us; 1004us; 241us; 1004us; 263us; 1004us; 404us; 1004us; 409us; 1004us; 444us; 1004us; 460us; 1004us; 699us; 1004us; 705us; 1004us; 754us; 1004us; 758us; 1004us; 768us; 1004us; 949us; 1004us; 954us; 1004us; 968us; 1004us; 970us; 1004us; 973us; 1004us; 976us; 1004us; 993us; 1004us; 996us; 1004us; 999us; 1004us; 1005us; 1004us; 1009us; 1004us; 1013us; 1004us; 1017us; 1004us; 1019us; 1004us; 1024us; 1004us; 1026us; 1004us; 1028us; 1004us; 1030us; 1004us; 1032us; 1004us; 1034us; 1004us; 1045us; 1004us; 1053us; 1004us; 1060us; 1004us; 1066us; 1004us; 1068us; 1004us; 1071us; 1004us; 1074us; 1004us; 1077us; 1004us; 1080us; 1004us; 1083us; 1004us; 1086us; 1004us; 1088us; 1004us; 1093us; 1004us; 1095us; 1004us; 1138us; 1004us; 1140us; 1004us; 1144us; 1004us; 1145us; 1004us; 1146us; 1004us; 1147us; 1004us; 1148us; 1004us; 1149us; 1004us; 1150us; 1004us; 1151us; 1004us; 1152us; 1004us; 1153us; 1004us; 1154us; 1004us; 1156us; 1004us; 1157us; 1004us; 1158us; 1004us; 1159us; 1004us; 1160us; 1004us; 1161us; 1004us; 1162us; 1004us; 1163us; 1004us; 1164us; 1004us; 1186us; 1004us; 1208us; 1004us; 1209us; 1004us; 1213us; 1004us; 1215us; 1004us; 1219us; 1004us; 1221us; 1004us; 1225us; 1004us; 1228us; 1004us; 1230us; 1004us; 1294us; 1004us; 1301us; 1004us; 1308us; 1004us; 1315us; 1004us; 1324us; 1004us; 1327us; 1004us; 1329us; 1004us; 1332us; 1004us; 1343us; 1004us; 1350us; 1004us; 1351us; 1004us; 1357us; 1004us; 1363us; 1004us; 1364us; 1004us; 1365us; 1004us; 1381us; 1004us; 1391us; 1004us; 1404us; 1004us; 1405us; 1004us; 1407us; 1004us; 1409us; 1004us; 1413us; 1004us; 1414us; 1004us; 1441us; 1004us; 1446us; 1004us; 1471us; 1004us; 1513us; 1004us; 1518us; 1004us; 110us; 65535us; 6us; 1003us; 31us; 1003us; 106us; 1003us; 108us; 1003us; 227us; 1003us; 241us; 1003us; 263us; 1003us; 404us; 1003us; 409us; 1003us; 444us; 1003us; 460us; 1003us; 699us; 1003us; 705us; 1003us; 754us; 1003us; 758us; 1003us; 768us; 1003us; 949us; 1003us; 954us; 1003us; 968us; 1003us; 970us; 1003us; 973us; 1003us; 976us; 1003us; 993us; 1003us; 996us; 1003us; 999us; 1003us; 1005us; 1003us; 1009us; 1003us; 1013us; 1003us; 1017us; 1003us; 1019us; 1003us; 1024us; 1003us; 1026us; 1003us; 1028us; 1003us; 1030us; 1003us; 1032us; 1003us; 1034us; 1003us; 1045us; 1003us; 1053us; 1003us; 1060us; 1003us; 1066us; 1003us; 1068us; 1003us; 1071us; 1003us; 1074us; 1003us; 1077us; 1003us; 1080us; 1003us; 1083us; 1003us; 1086us; 1003us; 1088us; 1003us; 1093us; 1003us; 1095us; 1003us; 1138us; 1003us; 1140us; 1003us; 1144us; 1003us; 1145us; 1003us; 1146us; 1003us; 1147us; 1003us; 1148us; 1003us; 1149us; 1003us; 1150us; 1003us; 1151us; 1003us; 1152us; 1003us; 1153us; 1003us; 1154us; 1003us; 1156us; 1003us; 1157us; 1003us; 1158us; 1003us; 1159us; 1003us; 1160us; 1003us; 1161us; 1003us; 1162us; 1003us; 1163us; 1003us; 1164us; 1003us; 1186us; 1003us; 1208us; 1003us; 1209us; 1003us; 1213us; 1003us; 1215us; 1003us; 1219us; 1003us; 1221us; 1003us; 1225us; 1003us; 1228us; 1003us; 1230us; 1003us; 1294us; 1003us; 1301us; 1003us; 1308us; 1003us; 1315us; 1003us; 1324us; 1003us; 1327us; 1003us; 1329us; 1003us; 1332us; 1003us; 1343us; 1003us; 1350us; 1003us; 1351us; 1003us; 1357us; 1003us; 1363us; 1003us; 1364us; 1003us; 1365us; 1003us; 1381us; 1003us; 1391us; 1003us; 1404us; 1003us; 1405us; 1003us; 1407us; 1003us; 1409us; 1003us; 1413us; 1003us; 1414us; 1003us; 1441us; 1003us; 1446us; 1003us; 1471us; 1003us; 1513us; 1003us; 1518us; 1003us; 3us; 65535us; 818us; 819us; 931us; 932us; 961us; 962us; 5us; 65535us; 103us; 104us; 178us; 179us; 194us; 195us; 430us; 431us; 1538us; 1539us; 3us; 65535us; 402us; 403us; 407us; 408us; 752us; 753us; 9us; 65535us; 103us; 1536us; 143us; 144us; 178us; 1536us; 194us; 1536us; 367us; 368us; 430us; 1536us; 639us; 640us; 1538us; 1536us; 1541us; 1542us; 9us; 65535us; 103us; 1540us; 143us; 1540us; 178us; 1540us; 194us; 1540us; 367us; 1540us; 430us; 1540us; 639us; 1540us; 1538us; 1540us; 1541us; 1540us; 2us; 65535us; 1544us; 1545us; 1547us; 1548us; 11us; 65535us; 103us; 1543us; 143us; 1543us; 178us; 1543us; 194us; 1543us; 367us; 1543us; 430us; 1543us; 639us; 1543us; 1538us; 1543us; 1541us; 1543us; 1544us; 1546us; 1547us; 1546us; 31us; 65535us; 8us; 1567us; 172us; 529us; 417us; 529us; 453us; 454us; 463us; 464us; 524us; 529us; 532us; 1635us; 596us; 597us; 599us; 600us; 678us; 679us; 774us; 775us; 818us; 1534us; 931us; 1534us; 961us; 1534us; 1132us; 1133us; 1134us; 1135us; 1136us; 1137us; 1427us; 1428us; 1430us; 1431us; 1432us; 1635us; 1565us; 1566us; 1593us; 1635us; 1598us; 1599us; 1601us; 1602us; 1612us; 1675us; 1616us; 1675us; 1622us; 1635us; 1633us; 1634us; 1663us; 1675us; 1665us; 1675us; 1676us; 1677us; 1us; 65535us; 8us; 9us; 31us; 65535us; 8us; 1564us; 172us; 1564us; 417us; 1564us; 453us; 1564us; 463us; 1564us; 524us; 1564us; 532us; 1564us; 596us; 1564us; 599us; 1564us; 678us; 1564us; 774us; 1564us; 818us; 1564us; 931us; 1564us; 961us; 1564us; 1132us; 1564us; 1134us; 1564us; 1136us; 1564us; 1427us; 1564us; 1430us; 1564us; 1432us; 1564us; 1565us; 1564us; 1593us; 1564us; 1598us; 1564us; 1601us; 1564us; 1612us; 1564us; 1616us; 1564us; 1622us; 1564us; 1633us; 1564us; 1663us; 1564us; 1665us; 1564us; 1676us; 1564us; 6us; 65535us; 1570us; 1571us; 1572us; 1573us; 1574us; 1575us; 1577us; 1578us; 1579us; 1580us; 1640us; 1641us; 91us; 65535us; 8us; 1585us; 103us; 1585us; 143us; 1585us; 172us; 1585us; 178us; 1585us; 182us; 1585us; 183us; 1584us; 184us; 1585us; 185us; 1584us; 194us; 1585us; 367us; 1585us; 417us; 1585us; 423us; 1585us; 424us; 1584us; 430us; 1585us; 453us; 1585us; 463us; 1585us; 488us; 1585us; 524us; 1585us; 532us; 1585us; 550us; 1585us; 596us; 1585us; 599us; 1585us; 609us; 1585us; 619us; 1585us; 620us; 1584us; 621us; 1584us; 636us; 1585us; 639us; 1585us; 658us; 1585us; 661us; 1585us; 664us; 1585us; 665us; 1584us; 666us; 1584us; 678us; 1585us; 689us; 1585us; 774us; 1585us; 818us; 1585us; 865us; 1585us; 931us; 1585us; 961us; 1585us; 1132us; 1585us; 1134us; 1585us; 1136us; 1585us; 1250us; 1585us; 1251us; 1585us; 1427us; 1585us; 1430us; 1585us; 1432us; 1585us; 1434us; 1585us; 1496us; 1585us; 1497us; 1584us; 1538us; 1585us; 1541us; 1585us; 1544us; 1585us; 1547us; 1585us; 1549us; 1585us; 1550us; 1584us; 1551us; 1585us; 1552us; 1584us; 1555us; 1585us; 1556us; 1584us; 1557us; 1584us; 1558us; 1585us; 1559us; 1584us; 1562us; 1585us; 1563us; 1584us; 1565us; 1585us; 1569us; 1584us; 1570us; 1585us; 1572us; 1585us; 1574us; 1585us; 1576us; 1584us; 1577us; 1585us; 1579us; 1585us; 1588us; 1584us; 1593us; 1585us; 1595us; 1584us; 1598us; 1585us; 1601us; 1585us; 1612us; 1585us; 1616us; 1585us; 1622us; 1585us; 1624us; 1584us; 1629us; 1585us; 1633us; 1585us; 1639us; 1585us; 1640us; 1585us; 1663us; 1585us; 1665us; 1585us; 1676us; 1585us; 91us; 65535us; 8us; 1631us; 103us; 1631us; 143us; 1631us; 172us; 1631us; 178us; 1631us; 182us; 1631us; 183us; 1592us; 184us; 1631us; 185us; 1592us; 194us; 1631us; 367us; 1631us; 417us; 1631us; 423us; 1631us; 424us; 1592us; 430us; 1631us; 453us; 1631us; 463us; 1631us; 488us; 1631us; 524us; 1631us; 532us; 1631us; 550us; 1631us; 596us; 1631us; 599us; 1631us; 609us; 1631us; 619us; 1631us; 620us; 1592us; 621us; 1592us; 636us; 1631us; 639us; 1631us; 658us; 1631us; 661us; 1631us; 664us; 1631us; 665us; 1592us; 666us; 1592us; 678us; 1631us; 689us; 1631us; 774us; 1631us; 818us; 1631us; 865us; 1631us; 931us; 1631us; 961us; 1631us; 1132us; 1631us; 1134us; 1631us; 1136us; 1631us; 1250us; 1631us; 1251us; 1631us; 1427us; 1631us; 1430us; 1631us; 1432us; 1631us; 1434us; 1631us; 1496us; 1631us; 1497us; 1592us; 1538us; 1631us; 1541us; 1631us; 1544us; 1631us; 1547us; 1631us; 1549us; 1631us; 1550us; 1592us; 1551us; 1631us; 1552us; 1592us; 1555us; 1631us; 1556us; 1592us; 1557us; 1592us; 1558us; 1631us; 1559us; 1592us; 1562us; 1631us; 1563us; 1592us; 1565us; 1631us; 1569us; 1592us; 1570us; 1631us; 1572us; 1631us; 1574us; 1631us; 1576us; 1592us; 1577us; 1631us; 1579us; 1631us; 1588us; 1592us; 1593us; 1631us; 1595us; 1596us; 1598us; 1631us; 1601us; 1631us; 1612us; 1631us; 1616us; 1631us; 1622us; 1631us; 1624us; 1625us; 1629us; 1631us; 1633us; 1631us; 1639us; 1631us; 1640us; 1631us; 1663us; 1631us; 1665us; 1631us; 1676us; 1631us; 65us; 65535us; 8us; 1569us; 103us; 1557us; 143us; 1557us; 172us; 1569us; 178us; 1557us; 182us; 183us; 184us; 185us; 194us; 1557us; 367us; 1557us; 417us; 1569us; 423us; 424us; 430us; 1557us; 453us; 1569us; 463us; 1569us; 524us; 1569us; 532us; 1569us; 596us; 1569us; 599us; 1569us; 609us; 621us; 619us; 620us; 636us; 666us; 639us; 1557us; 658us; 666us; 661us; 666us; 664us; 665us; 678us; 1569us; 689us; 666us; 774us; 1569us; 818us; 1569us; 931us; 1569us; 961us; 1569us; 1132us; 1569us; 1134us; 1569us; 1136us; 1569us; 1427us; 1569us; 1430us; 1569us; 1432us; 1569us; 1496us; 1497us; 1538us; 1557us; 1541us; 1557us; 1544us; 1557us; 1547us; 1557us; 1549us; 1550us; 1551us; 1552us; 1555us; 1556us; 1558us; 1559us; 1562us; 1563us; 1565us; 1569us; 1570us; 1576us; 1572us; 1576us; 1574us; 1576us; 1577us; 1576us; 1579us; 1576us; 1593us; 1569us; 1598us; 1569us; 1601us; 1569us; 1612us; 1569us; 1616us; 1569us; 1622us; 1569us; 1633us; 1569us; 1639us; 1588us; 1640us; 1576us; 1663us; 1569us; 1665us; 1569us; 1676us; 1569us; 18us; 65535us; 183us; 1589us; 185us; 1589us; 424us; 1589us; 620us; 1589us; 621us; 1589us; 665us; 1589us; 666us; 1589us; 1497us; 1589us; 1550us; 1589us; 1552us; 1589us; 1556us; 1589us; 1557us; 1589us; 1559us; 1589us; 1563us; 1589us; 1569us; 1589us; 1576us; 1589us; 1588us; 1589us; 1590us; 1591us; 4us; 65535us; 532us; 1594us; 1432us; 1594us; 1593us; 1594us; 1622us; 1623us; 2us; 65535us; 1613us; 1614us; 1666us; 1615us; 65us; 65535us; 8us; 1597us; 103us; 1597us; 143us; 1597us; 172us; 1597us; 178us; 1597us; 182us; 1597us; 184us; 1597us; 194us; 1597us; 367us; 1597us; 417us; 1597us; 423us; 1597us; 430us; 1597us; 453us; 1597us; 463us; 1597us; 524us; 1597us; 532us; 1597us; 596us; 1597us; 599us; 1597us; 609us; 1597us; 619us; 1597us; 636us; 1597us; 639us; 1597us; 658us; 1597us; 661us; 1597us; 664us; 1597us; 678us; 1597us; 689us; 1597us; 774us; 1597us; 818us; 1597us; 931us; 1597us; 961us; 1597us; 1132us; 1597us; 1134us; 1597us; 1136us; 1597us; 1427us; 1597us; 1430us; 1597us; 1432us; 1597us; 1496us; 1597us; 1538us; 1597us; 1541us; 1597us; 1544us; 1597us; 1547us; 1597us; 1549us; 1597us; 1551us; 1597us; 1555us; 1597us; 1558us; 1597us; 1562us; 1597us; 1565us; 1597us; 1570us; 1597us; 1572us; 1597us; 1574us; 1597us; 1577us; 1597us; 1579us; 1597us; 1593us; 1597us; 1598us; 1597us; 1601us; 1597us; 1612us; 1597us; 1616us; 1597us; 1622us; 1597us; 1633us; 1597us; 1639us; 1597us; 1640us; 1597us; 1663us; 1597us; 1665us; 1597us; 1676us; 1597us; 4us; 65535us; 488us; 489us; 1250us; 1252us; 1251us; 1253us; 1434us; 1435us; 66us; 65535us; 8us; 1619us; 103us; 1619us; 143us; 1619us; 172us; 1619us; 178us; 1619us; 182us; 1619us; 184us; 1619us; 194us; 1619us; 367us; 1619us; 417us; 1619us; 423us; 1619us; 430us; 1619us; 453us; 1619us; 463us; 1619us; 524us; 1619us; 532us; 1619us; 596us; 1619us; 599us; 1619us; 609us; 1619us; 619us; 1619us; 636us; 1619us; 639us; 1619us; 658us; 1619us; 661us; 1619us; 664us; 1619us; 678us; 1619us; 689us; 1619us; 774us; 1619us; 818us; 1619us; 865us; 866us; 931us; 1619us; 961us; 1619us; 1132us; 1619us; 1134us; 1619us; 1136us; 1619us; 1427us; 1619us; 1430us; 1619us; 1432us; 1619us; 1496us; 1619us; 1538us; 1619us; 1541us; 1619us; 1544us; 1619us; 1547us; 1619us; 1549us; 1619us; 1551us; 1619us; 1555us; 1619us; 1558us; 1619us; 1562us; 1619us; 1565us; 1619us; 1570us; 1619us; 1572us; 1619us; 1574us; 1619us; 1577us; 1619us; 1579us; 1619us; 1593us; 1619us; 1598us; 1619us; 1601us; 1619us; 1612us; 1619us; 1616us; 1619us; 1622us; 1619us; 1633us; 1619us; 1639us; 1619us; 1640us; 1619us; 1663us; 1619us; 1665us; 1619us; 1676us; 1619us; 72us; 65535us; 8us; 1627us; 103us; 1627us; 143us; 1627us; 172us; 1627us; 178us; 1627us; 182us; 1627us; 184us; 1627us; 194us; 1627us; 367us; 1627us; 417us; 1627us; 423us; 1627us; 430us; 1627us; 453us; 1627us; 463us; 1627us; 488us; 1626us; 524us; 1627us; 532us; 1627us; 550us; 1630us; 596us; 1627us; 599us; 1627us; 609us; 1627us; 619us; 1627us; 636us; 1627us; 639us; 1627us; 658us; 1627us; 661us; 1627us; 664us; 1627us; 678us; 1627us; 689us; 1627us; 774us; 1627us; 818us; 1627us; 865us; 1627us; 931us; 1627us; 961us; 1627us; 1132us; 1627us; 1134us; 1627us; 1136us; 1627us; 1250us; 1626us; 1251us; 1626us; 1427us; 1627us; 1430us; 1627us; 1432us; 1627us; 1434us; 1626us; 1496us; 1627us; 1538us; 1627us; 1541us; 1627us; 1544us; 1627us; 1547us; 1627us; 1549us; 1627us; 1551us; 1627us; 1555us; 1627us; 1558us; 1627us; 1562us; 1627us; 1565us; 1627us; 1570us; 1627us; 1572us; 1627us; 1574us; 1627us; 1577us; 1627us; 1579us; 1627us; 1593us; 1627us; 1598us; 1627us; 1601us; 1627us; 1612us; 1627us; 1616us; 1627us; 1622us; 1627us; 1629us; 1630us; 1633us; 1627us; 1639us; 1627us; 1640us; 1627us; 1663us; 1627us; 1665us; 1627us; 1676us; 1627us; 4us; 65535us; 603us; 618us; 616us; 617us; 1585us; 1654us; 1656us; 1657us; 6us; 65535us; 603us; 1660us; 616us; 1660us; 1278us; 1279us; 1585us; 1660us; 1656us; 1660us; 1661us; 1662us; 8us; 65535us; 532us; 1611us; 1432us; 1611us; 1593us; 1611us; 1612us; 1613us; 1616us; 1617us; 1622us; 1611us; 1663us; 1670us; 1665us; 1678us; 2us; 65535us; 1663us; 1664us; 1665us; 1666us; 3us; 65535us; 1616us; 1618us; 1663us; 1679us; 1665us; 1679us; 1us; 65535us; 810us; 811us; 6us; 65535us; 1680us; 1690us; 1687us; 1690us; 1694us; 1690us; 1700us; 1690us; 1701us; 1690us; 1702us; 1690us; 6us; 65535us; 1680us; 1694us; 1687us; 1694us; 1694us; 1694us; 1700us; 1694us; 1701us; 1694us; 1702us; 1694us; 6us; 65535us; 1680us; 1696us; 1687us; 1696us; 1694us; 1695us; 1700us; 1696us; 1701us; 1696us; 1702us; 1696us; 5us; 65535us; 1680us; 1681us; 1687us; 1688us; 1700us; 1697us; 1701us; 1698us; 1702us; 1699us; 106us; 65535us; 8us; 1583us; 103us; 1583us; 143us; 1583us; 172us; 1583us; 178us; 1583us; 182us; 1583us; 183us; 1582us; 184us; 1583us; 185us; 1582us; 194us; 1583us; 367us; 1583us; 417us; 1583us; 423us; 1583us; 424us; 1582us; 430us; 1583us; 453us; 1583us; 463us; 1583us; 488us; 1582us; 524us; 1583us; 532us; 1583us; 550us; 1582us; 558us; 563us; 573us; 574us; 587us; 598us; 591us; 598us; 594us; 595us; 596us; 1583us; 599us; 1583us; 609us; 1583us; 619us; 1583us; 620us; 1582us; 621us; 1582us; 636us; 1583us; 639us; 1583us; 658us; 1583us; 661us; 1583us; 664us; 1583us; 665us; 1582us; 666us; 1582us; 678us; 1583us; 689us; 1583us; 766us; 773us; 770us; 773us; 774us; 1583us; 818us; 1583us; 865us; 1582us; 931us; 1583us; 961us; 1583us; 1132us; 1583us; 1134us; 1583us; 1136us; 1583us; 1250us; 1582us; 1251us; 1582us; 1427us; 1583us; 1430us; 1583us; 1432us; 1583us; 1434us; 1582us; 1496us; 1583us; 1497us; 1582us; 1535us; 598us; 1537us; 598us; 1538us; 1583us; 1541us; 1583us; 1544us; 1583us; 1547us; 1583us; 1549us; 1583us; 1550us; 1582us; 1551us; 1583us; 1552us; 1582us; 1555us; 1583us; 1556us; 1582us; 1557us; 1582us; 1558us; 1583us; 1559us; 1582us; 1562us; 1583us; 1563us; 1582us; 1565us; 1583us; 1569us; 1582us; 1570us; 1583us; 1572us; 1583us; 1574us; 1583us; 1576us; 1582us; 1577us; 1583us; 1579us; 1583us; 1588us; 1582us; 1593us; 1583us; 1595us; 1582us; 1598us; 1583us; 1601us; 1583us; 1612us; 1583us; 1616us; 1583us; 1622us; 1583us; 1624us; 1582us; 1629us; 1582us; 1633us; 1583us; 1639us; 1583us; 1640us; 1583us; 1663us; 1583us; 1665us; 1583us; 1676us; 1583us; 1680us; 1686us; 1687us; 1686us; 1694us; 1686us; 1700us; 1686us; 1701us; 1686us; 1702us; 1686us; 110us; 65535us; 8us; 1705us; 103us; 1705us; 143us; 1705us; 172us; 1705us; 178us; 1705us; 182us; 1705us; 183us; 1705us; 184us; 1705us; 185us; 1705us; 194us; 1705us; 367us; 1705us; 417us; 1705us; 423us; 1705us; 424us; 1705us; 430us; 1705us; 453us; 1705us; 463us; 1705us; 488us; 1705us; 524us; 1705us; 532us; 1705us; 550us; 1705us; 558us; 1705us; 573us; 1705us; 587us; 1705us; 591us; 1705us; 594us; 1705us; 596us; 1705us; 599us; 1705us; 609us; 1705us; 619us; 1705us; 620us; 1705us; 621us; 1705us; 636us; 1705us; 639us; 1705us; 658us; 1705us; 661us; 1705us; 664us; 1705us; 665us; 1705us; 666us; 1705us; 678us; 1705us; 689us; 1705us; 766us; 1705us; 770us; 1705us; 774us; 1705us; 818us; 1705us; 865us; 1705us; 931us; 1705us; 961us; 1705us; 1132us; 1705us; 1134us; 1705us; 1136us; 1705us; 1250us; 1705us; 1251us; 1705us; 1363us; 1385us; 1364us; 1386us; 1365us; 1385us; 1389us; 1390us; 1427us; 1705us; 1430us; 1705us; 1432us; 1705us; 1434us; 1705us; 1496us; 1705us; 1497us; 1705us; 1535us; 1705us; 1537us; 1705us; 1538us; 1705us; 1541us; 1705us; 1544us; 1705us; 1547us; 1705us; 1549us; 1705us; 1550us; 1705us; 1551us; 1705us; 1552us; 1705us; 1555us; 1705us; 1556us; 1705us; 1557us; 1705us; 1558us; 1705us; 1559us; 1705us; 1562us; 1705us; 1563us; 1705us; 1565us; 1705us; 1569us; 1705us; 1570us; 1705us; 1572us; 1705us; 1574us; 1705us; 1576us; 1705us; 1577us; 1705us; 1579us; 1705us; 1588us; 1705us; 1593us; 1705us; 1595us; 1705us; 1598us; 1705us; 1601us; 1705us; 1612us; 1705us; 1616us; 1705us; 1622us; 1705us; 1624us; 1705us; 1629us; 1705us; 1633us; 1705us; 1639us; 1705us; 1640us; 1705us; 1663us; 1705us; 1665us; 1705us; 1676us; 1705us; 1680us; 1705us; 1687us; 1705us; 1694us; 1705us; 1700us; 1705us; 1701us; 1705us; 1702us; 1705us; 335us; 65535us; 6us; 1758us; 8us; 1711us; 31us; 1758us; 51us; 1711us; 54us; 1711us; 89us; 1711us; 94us; 1711us; 100us; 1758us; 103us; 1711us; 106us; 1758us; 108us; 1758us; 112us; 1711us; 143us; 1711us; 172us; 652us; 175us; 1758us; 178us; 1711us; 182us; 1711us; 183us; 1711us; 184us; 1711us; 185us; 1711us; 194us; 1711us; 196us; 1758us; 198us; 1758us; 203us; 1758us; 227us; 1758us; 241us; 1758us; 263us; 1758us; 270us; 1711us; 299us; 328us; 310us; 328us; 315us; 1711us; 319us; 1711us; 367us; 1711us; 401us; 1760us; 404us; 1758us; 406us; 1760us; 409us; 1758us; 417us; 652us; 423us; 1711us; 424us; 1711us; 427us; 1758us; 430us; 1711us; 441us; 1760us; 444us; 1758us; 451us; 452us; 453us; 1711us; 457us; 458us; 460us; 1758us; 463us; 1711us; 466us; 1760us; 469us; 1760us; 472us; 1760us; 474us; 1760us; 488us; 1711us; 496us; 497us; 499us; 500us; 524us; 652us; 532us; 1711us; 550us; 1711us; 558us; 1711us; 560us; 1711us; 596us; 1711us; 599us; 1711us; 609us; 1711us; 619us; 1711us; 620us; 1711us; 621us; 1711us; 633us; 1758us; 636us; 663us; 639us; 1711us; 658us; 663us; 661us; 663us; 664us; 1711us; 665us; 1711us; 666us; 1711us; 676us; 677us; 678us; 1711us; 685us; 688us; 689us; 663us; 691us; 1711us; 693us; 1711us; 699us; 1758us; 705us; 1758us; 716us; 717us; 728us; 1711us; 729us; 730us; 741us; 1711us; 751us; 1760us; 754us; 1758us; 758us; 1758us; 768us; 1758us; 774us; 1711us; 814us; 815us; 818us; 1711us; 820us; 813us; 821us; 813us; 823us; 813us; 839us; 840us; 841us; 1760us; 842us; 1760us; 846us; 1760us; 847us; 1760us; 848us; 1760us; 849us; 1760us; 852us; 854us; 856us; 1760us; 859us; 1760us; 861us; 1760us; 863us; 1760us; 865us; 1711us; 868us; 855us; 872us; 1760us; 874us; 1760us; 876us; 1760us; 881us; 1711us; 884us; 1760us; 887us; 1760us; 890us; 892us; 891us; 892us; 898us; 1760us; 906us; 1760us; 926us; 927us; 928us; 1760us; 931us; 1711us; 933us; 1760us; 934us; 1760us; 936us; 1760us; 937us; 1760us; 938us; 1760us; 939us; 1760us; 942us; 1711us; 945us; 1760us; 947us; 1760us; 949us; 1758us; 954us; 1758us; 961us; 1711us; 968us; 1758us; 970us; 1758us; 973us; 1758us; 976us; 1758us; 993us; 1758us; 996us; 1758us; 999us; 1758us; 1005us; 1758us; 1009us; 1758us; 1013us; 1758us; 1017us; 1758us; 1019us; 1758us; 1024us; 1758us; 1026us; 1758us; 1028us; 1758us; 1030us; 1758us; 1032us; 1758us; 1034us; 1758us; 1043us; 1760us; 1045us; 1758us; 1053us; 1758us; 1060us; 1758us; 1066us; 1758us; 1068us; 1758us; 1070us; 1760us; 1071us; 1758us; 1074us; 1758us; 1076us; 1760us; 1077us; 1758us; 1080us; 1758us; 1083us; 1758us; 1086us; 1758us; 1088us; 1758us; 1093us; 1758us; 1095us; 1758us; 1132us; 1711us; 1134us; 1711us; 1136us; 1711us; 1138us; 1758us; 1140us; 1758us; 1144us; 1758us; 1145us; 1758us; 1146us; 1758us; 1147us; 1758us; 1148us; 1758us; 1149us; 1758us; 1150us; 1758us; 1151us; 1758us; 1152us; 1758us; 1153us; 1758us; 1154us; 1758us; 1156us; 1758us; 1157us; 1758us; 1158us; 1758us; 1159us; 1758us; 1160us; 1758us; 1161us; 1758us; 1162us; 1758us; 1163us; 1758us; 1164us; 1758us; 1186us; 1758us; 1189us; 1760us; 1191us; 1760us; 1196us; 1760us; 1203us; 1760us; 1208us; 1758us; 1209us; 1758us; 1213us; 1758us; 1215us; 1758us; 1219us; 1758us; 1221us; 1758us; 1225us; 1758us; 1228us; 1758us; 1230us; 1758us; 1232us; 1758us; 1233us; 1758us; 1235us; 1758us; 1236us; 1758us; 1238us; 1758us; 1239us; 1758us; 1241us; 1758us; 1242us; 1758us; 1244us; 1758us; 1245us; 1758us; 1247us; 1758us; 1248us; 1758us; 1250us; 1711us; 1251us; 1711us; 1260us; 1758us; 1262us; 1758us; 1264us; 1758us; 1265us; 1758us; 1266us; 1758us; 1269us; 1758us; 1276us; 1758us; 1277us; 1758us; 1280us; 1758us; 1281us; 1758us; 1282us; 1758us; 1285us; 1758us; 1287us; 1758us; 1288us; 1758us; 1294us; 1758us; 1301us; 1758us; 1308us; 1758us; 1315us; 1758us; 1324us; 1758us; 1327us; 1758us; 1329us; 1758us; 1332us; 1758us; 1343us; 1758us; 1350us; 1758us; 1351us; 1758us; 1357us; 1758us; 1363us; 1758us; 1364us; 1758us; 1365us; 1758us; 1381us; 1758us; 1391us; 1758us; 1404us; 1758us; 1405us; 1758us; 1407us; 1758us; 1409us; 1758us; 1413us; 1758us; 1414us; 1758us; 1421us; 1758us; 1427us; 1711us; 1430us; 1711us; 1432us; 1711us; 1434us; 1711us; 1441us; 1758us; 1446us; 1758us; 1450us; 1711us; 1454us; 1711us; 1462us; 1711us; 1471us; 1758us; 1496us; 1711us; 1497us; 1711us; 1504us; 1758us; 1511us; 1760us; 1513us; 1758us; 1516us; 1760us; 1518us; 1758us; 1529us; 1760us; 1531us; 1760us; 1538us; 1711us; 1541us; 1711us; 1544us; 1711us; 1547us; 1711us; 1549us; 1711us; 1550us; 1711us; 1551us; 1711us; 1552us; 1711us; 1553us; 1554us; 1555us; 1711us; 1556us; 1711us; 1557us; 1711us; 1558us; 1711us; 1559us; 1711us; 1560us; 1561us; 1562us; 1711us; 1563us; 1711us; 1565us; 1711us; 1569us; 1711us; 1570us; 1711us; 1572us; 1711us; 1574us; 1711us; 1576us; 1711us; 1577us; 1711us; 1579us; 1711us; 1588us; 1711us; 1593us; 1711us; 1595us; 1711us; 1598us; 1711us; 1601us; 1711us; 1612us; 1711us; 1616us; 1711us; 1622us; 1711us; 1624us; 1711us; 1629us; 1711us; 1633us; 1711us; 1639us; 1711us; 1640us; 1711us; 1649us; 1758us; 1655us; 1711us; 1663us; 1711us; 1665us; 1711us; 1676us; 1711us; 1680us; 1711us; 1687us; 1711us; 1694us; 1711us; 1700us; 1711us; 1701us; 1711us; 1702us; 1711us; 1703us; 1704us; 1706us; 1708us; 1707us; 1708us; 1712us; 1713us; 1762us; 1760us; 119us; 65535us; 8us; 1581us; 51us; 52us; 54us; 55us; 89us; 277us; 94us; 95us; 103us; 1581us; 112us; 275us; 143us; 1581us; 172us; 525us; 178us; 1581us; 182us; 1581us; 183us; 1581us; 184us; 1581us; 185us; 1581us; 194us; 1581us; 270us; 287us; 299us; 312us; 310us; 312us; 315us; 316us; 319us; 320us; 367us; 1581us; 417us; 525us; 423us; 1581us; 424us; 1581us; 430us; 1581us; 453us; 1581us; 463us; 1581us; 488us; 1581us; 524us; 525us; 532us; 1581us; 550us; 1581us; 558us; 559us; 560us; 561us; 596us; 1581us; 599us; 1581us; 609us; 1581us; 619us; 1581us; 620us; 1581us; 621us; 1581us; 636us; 1581us; 639us; 1581us; 658us; 1581us; 661us; 1581us; 664us; 1581us; 665us; 1581us; 666us; 1581us; 678us; 1581us; 689us; 1581us; 691us; 692us; 693us; 694us; 728us; 731us; 741us; 731us; 774us; 1581us; 818us; 1581us; 865us; 1581us; 881us; 944us; 931us; 1581us; 942us; 944us; 961us; 1581us; 1132us; 1581us; 1134us; 1581us; 1136us; 1581us; 1250us; 1581us; 1251us; 1581us; 1427us; 1581us; 1430us; 1581us; 1432us; 1581us; 1434us; 1581us; 1450us; 1467us; 1454us; 1467us; 1462us; 1467us; 1496us; 1581us; 1497us; 1581us; 1538us; 1581us; 1541us; 1581us; 1544us; 1581us; 1547us; 1581us; 1549us; 1581us; 1550us; 1581us; 1551us; 1581us; 1552us; 1581us; 1555us; 1581us; 1556us; 1581us; 1557us; 1581us; 1558us; 1581us; 1559us; 1581us; 1562us; 1581us; 1563us; 1581us; 1565us; 1581us; 1569us; 1581us; 1570us; 1581us; 1572us; 1581us; 1574us; 1581us; 1576us; 1581us; 1577us; 1581us; 1579us; 1581us; 1588us; 1581us; 1593us; 1581us; 1595us; 1581us; 1598us; 1581us; 1601us; 1581us; 1612us; 1581us; 1616us; 1581us; 1622us; 1581us; 1624us; 1581us; 1629us; 1581us; 1633us; 1581us; 1639us; 1581us; 1640us; 1581us; 1655us; 1656us; 1663us; 1581us; 1665us; 1581us; 1676us; 1581us; 1680us; 1685us; 1687us; 1685us; 1694us; 1685us; 1700us; 1685us; 1701us; 1685us; 1702us; 1685us; 193us; 65535us; 6us; 1759us; 31us; 1759us; 100us; 1759us; 106us; 1759us; 108us; 1759us; 175us; 1759us; 196us; 1759us; 198us; 1759us; 203us; 1759us; 227us; 1759us; 241us; 1759us; 263us; 1759us; 401us; 1761us; 404us; 1759us; 406us; 1761us; 409us; 1759us; 427us; 1759us; 441us; 1761us; 444us; 1759us; 460us; 1759us; 466us; 1761us; 469us; 1761us; 472us; 1761us; 474us; 1761us; 633us; 1759us; 699us; 1759us; 705us; 1759us; 751us; 1761us; 754us; 1759us; 758us; 1759us; 768us; 1759us; 841us; 1761us; 842us; 1761us; 846us; 1761us; 847us; 1761us; 848us; 1761us; 849us; 1761us; 856us; 1761us; 859us; 1761us; 861us; 1761us; 863us; 1761us; 868us; 1761us; 872us; 1761us; 874us; 1761us; 876us; 1761us; 884us; 1761us; 887us; 1761us; 898us; 1761us; 906us; 1761us; 928us; 1761us; 933us; 1761us; 934us; 1761us; 936us; 1761us; 937us; 1761us; 938us; 1761us; 939us; 1761us; 945us; 1761us; 947us; 1761us; 949us; 1759us; 954us; 1759us; 968us; 1759us; 970us; 1759us; 973us; 1759us; 976us; 1759us; 993us; 1759us; 996us; 1759us; 999us; 1759us; 1005us; 1759us; 1009us; 1759us; 1013us; 1759us; 1017us; 1759us; 1019us; 1759us; 1024us; 1759us; 1026us; 1759us; 1028us; 1759us; 1030us; 1759us; 1032us; 1759us; 1034us; 1759us; 1043us; 1761us; 1045us; 1759us; 1053us; 1759us; 1060us; 1759us; 1066us; 1759us; 1068us; 1759us; 1070us; 1761us; 1071us; 1759us; 1074us; 1759us; 1076us; 1761us; 1077us; 1759us; 1080us; 1759us; 1083us; 1759us; 1086us; 1759us; 1088us; 1759us; 1093us; 1759us; 1095us; 1759us; 1138us; 1759us; 1140us; 1759us; 1144us; 1759us; 1145us; 1759us; 1146us; 1759us; 1147us; 1759us; 1148us; 1759us; 1149us; 1759us; 1150us; 1759us; 1151us; 1759us; 1152us; 1759us; 1153us; 1759us; 1154us; 1759us; 1156us; 1759us; 1157us; 1759us; 1158us; 1759us; 1159us; 1759us; 1160us; 1759us; 1161us; 1759us; 1162us; 1759us; 1163us; 1759us; 1164us; 1759us; 1186us; 1759us; 1189us; 1761us; 1191us; 1761us; 1196us; 1761us; 1203us; 1761us; 1208us; 1759us; 1209us; 1759us; 1213us; 1759us; 1215us; 1759us; 1219us; 1759us; 1221us; 1759us; 1225us; 1759us; 1228us; 1759us; 1230us; 1759us; 1232us; 1759us; 1233us; 1759us; 1235us; 1759us; 1236us; 1759us; 1238us; 1759us; 1239us; 1759us; 1241us; 1759us; 1242us; 1759us; 1244us; 1759us; 1245us; 1759us; 1247us; 1759us; 1248us; 1759us; 1260us; 1759us; 1262us; 1759us; 1264us; 1759us; 1265us; 1759us; 1266us; 1759us; 1269us; 1759us; 1276us; 1759us; 1277us; 1759us; 1280us; 1759us; 1281us; 1759us; 1282us; 1759us; 1285us; 1759us; 1287us; 1759us; 1288us; 1759us; 1294us; 1759us; 1301us; 1759us; 1308us; 1759us; 1315us; 1759us; 1324us; 1759us; 1327us; 1759us; 1329us; 1759us; 1332us; 1759us; 1343us; 1759us; 1350us; 1759us; 1351us; 1759us; 1357us; 1759us; 1363us; 1759us; 1364us; 1759us; 1365us; 1759us; 1381us; 1759us; 1391us; 1759us; 1404us; 1759us; 1405us; 1759us; 1407us; 1759us; 1409us; 1759us; 1413us; 1759us; 1414us; 1759us; 1421us; 1759us; 1441us; 1759us; 1446us; 1759us; 1471us; 1759us; 1504us; 1759us; 1511us; 1761us; 1513us; 1759us; 1516us; 1761us; 1518us; 1759us; 1529us; 1761us; 1531us; 1761us; 1649us; 1759us; 1762us; 1761us; 7us; 65535us; 646us; 1716us; 868us; 1716us; 898us; 1716us; 1308us; 1716us; 1364us; 1716us; 1365us; 1716us; 1715us; 1716us; 2us; 65535us; 1722us; 1757us; 1755us; 1756us; 7us; 65535us; 646us; 1721us; 868us; 1721us; 898us; 1721us; 1308us; 1721us; 1364us; 1721us; 1365us; 1721us; 1715us; 1721us; 146us; 65535us; 6us; 1765us; 31us; 1765us; 100us; 1765us; 106us; 1765us; 108us; 1765us; 175us; 1765us; 196us; 1765us; 198us; 1765us; 203us; 1765us; 227us; 1765us; 241us; 1765us; 263us; 1765us; 404us; 1765us; 409us; 1765us; 427us; 1765us; 444us; 1765us; 460us; 1765us; 633us; 1765us; 699us; 1765us; 705us; 1765us; 754us; 1765us; 758us; 1765us; 768us; 1765us; 949us; 1765us; 954us; 1765us; 968us; 1765us; 970us; 1765us; 973us; 1765us; 976us; 1765us; 993us; 1765us; 996us; 1765us; 999us; 1765us; 1005us; 1765us; 1009us; 1765us; 1013us; 1765us; 1017us; 1765us; 1019us; 1765us; 1024us; 1765us; 1026us; 1765us; 1028us; 1765us; 1030us; 1765us; 1032us; 1765us; 1034us; 1765us; 1045us; 1765us; 1053us; 1765us; 1060us; 1765us; 1066us; 1765us; 1068us; 1765us; 1071us; 1765us; 1074us; 1765us; 1077us; 1765us; 1080us; 1765us; 1083us; 1765us; 1086us; 1765us; 1088us; 1765us; 1093us; 1765us; 1095us; 1765us; 1138us; 1765us; 1140us; 1765us; 1144us; 1765us; 1145us; 1765us; 1146us; 1765us; 1147us; 1765us; 1148us; 1765us; 1149us; 1765us; 1150us; 1765us; 1151us; 1765us; 1152us; 1765us; 1153us; 1765us; 1154us; 1765us; 1156us; 1765us; 1157us; 1765us; 1158us; 1765us; 1159us; 1765us; 1160us; 1765us; 1161us; 1765us; 1162us; 1765us; 1163us; 1765us; 1164us; 1765us; 1186us; 1765us; 1208us; 1765us; 1209us; 1765us; 1213us; 1765us; 1215us; 1765us; 1219us; 1765us; 1221us; 1765us; 1225us; 1765us; 1228us; 1765us; 1230us; 1765us; 1232us; 1765us; 1233us; 1765us; 1235us; 1765us; 1236us; 1765us; 1238us; 1765us; 1239us; 1765us; 1241us; 1765us; 1242us; 1765us; 1244us; 1765us; 1245us; 1765us; 1247us; 1765us; 1248us; 1765us; 1260us; 1765us; 1262us; 1765us; 1264us; 1765us; 1265us; 1765us; 1266us; 1765us; 1269us; 1765us; 1276us; 1765us; 1277us; 1765us; 1280us; 1765us; 1281us; 1765us; 1282us; 1305us; 1285us; 1305us; 1287us; 1765us; 1288us; 1765us; 1294us; 1765us; 1301us; 1765us; 1308us; 1765us; 1315us; 1765us; 1324us; 1765us; 1327us; 1765us; 1329us; 1765us; 1332us; 1765us; 1343us; 1765us; 1350us; 1765us; 1351us; 1765us; 1357us; 1765us; 1363us; 1765us; 1364us; 1765us; 1365us; 1765us; 1381us; 1765us; 1391us; 1765us; 1404us; 1765us; 1405us; 1765us; 1407us; 1765us; 1409us; 1765us; 1413us; 1765us; 1414us; 1765us; 1421us; 1765us; 1441us; 1765us; 1446us; 1765us; 1471us; 1765us; 1504us; 1765us; 1513us; 1765us; 1518us; 1765us; 1649us; 1765us; 47us; 65535us; 401us; 471us; 406us; 471us; 441us; 471us; 466us; 467us; 469us; 470us; 472us; 476us; 474us; 475us; 751us; 471us; 841us; 471us; 842us; 471us; 846us; 471us; 847us; 471us; 848us; 471us; 849us; 471us; 856us; 471us; 859us; 471us; 861us; 471us; 863us; 471us; 868us; 471us; 872us; 471us; 874us; 471us; 876us; 471us; 884us; 471us; 887us; 471us; 898us; 471us; 906us; 471us; 928us; 471us; 933us; 471us; 934us; 471us; 936us; 471us; 937us; 471us; 938us; 471us; 939us; 471us; 945us; 471us; 947us; 471us; 1043us; 471us; 1070us; 471us; 1076us; 471us; 1189us; 471us; 1191us; 471us; 1196us; 471us; 1203us; 471us; 1511us; 471us; 1516us; 471us; 1529us; 471us; 1531us; 471us; 1762us; 1763us; 144us; 65535us; 6us; 1293us; 31us; 1293us; 100us; 101us; 106us; 1293us; 108us; 1293us; 175us; 176us; 196us; 202us; 198us; 202us; 203us; 204us; 227us; 1293us; 241us; 1293us; 263us; 1293us; 404us; 1293us; 409us; 1293us; 427us; 428us; 444us; 1293us; 460us; 1293us; 633us; 645us; 699us; 1293us; 705us; 1293us; 754us; 1293us; 758us; 1293us; 768us; 1293us; 949us; 1293us; 954us; 1293us; 968us; 1293us; 970us; 1293us; 973us; 1293us; 976us; 1293us; 993us; 1293us; 996us; 1293us; 999us; 1293us; 1005us; 1293us; 1009us; 1293us; 1013us; 1293us; 1017us; 1293us; 1019us; 1293us; 1024us; 1293us; 1026us; 1293us; 1028us; 1293us; 1030us; 1293us; 1032us; 1293us; 1034us; 1293us; 1045us; 1293us; 1053us; 1293us; 1060us; 1293us; 1066us; 1293us; 1068us; 1293us; 1071us; 1293us; 1074us; 1293us; 1077us; 1293us; 1080us; 1293us; 1083us; 1293us; 1086us; 1293us; 1088us; 1293us; 1093us; 1293us; 1095us; 1293us; 1138us; 1293us; 1140us; 1293us; 1144us; 1293us; 1145us; 1293us; 1146us; 1293us; 1147us; 1293us; 1148us; 1293us; 1149us; 1293us; 1150us; 1293us; 1151us; 1293us; 1152us; 1293us; 1153us; 1293us; 1154us; 1293us; 1156us; 1293us; 1157us; 1293us; 1158us; 1293us; 1159us; 1293us; 1160us; 1293us; 1161us; 1293us; 1162us; 1293us; 1163us; 1293us; 1164us; 1293us; 1186us; 1293us; 1208us; 1293us; 1209us; 1293us; 1213us; 1293us; 1215us; 1293us; 1219us; 1293us; 1221us; 1293us; 1225us; 1293us; 1228us; 1293us; 1230us; 1293us; 1232us; 1293us; 1233us; 1293us; 1235us; 1293us; 1236us; 1293us; 1238us; 1293us; 1239us; 1293us; 1241us; 1293us; 1242us; 1293us; 1244us; 1293us; 1245us; 1293us; 1247us; 1293us; 1248us; 1293us; 1260us; 1293us; 1262us; 1293us; 1264us; 1293us; 1265us; 1293us; 1266us; 1293us; 1269us; 1293us; 1276us; 1293us; 1277us; 1293us; 1280us; 1293us; 1281us; 1293us; 1287us; 1289us; 1288us; 1289us; 1294us; 1293us; 1301us; 1293us; 1308us; 1293us; 1315us; 1293us; 1324us; 1293us; 1327us; 1293us; 1329us; 1293us; 1332us; 1293us; 1343us; 1293us; 1350us; 1293us; 1351us; 1293us; 1357us; 1293us; 1363us; 1293us; 1364us; 1293us; 1365us; 1293us; 1381us; 1293us; 1391us; 1293us; 1404us; 1293us; 1405us; 1293us; 1407us; 1293us; 1409us; 1293us; 1413us; 1293us; 1414us; 1293us; 1421us; 1293us; 1441us; 1293us; 1446us; 1293us; 1471us; 1293us; 1504us; 1293us; 1513us; 1293us; 1518us; 1293us; 1649us; 1293us; 14us; 65535us; 47us; 1769us; 74us; 1769us; 77us; 1769us; 78us; 1771us; 81us; 1769us; 217us; 1769us; 236us; 1769us; 242us; 1769us; 247us; 1769us; 251us; 1769us; 252us; 1769us; 253us; 1769us; 1769us; 1769us; 1771us; 1771us; 12us; 65535us; 47us; 82us; 74us; 82us; 77us; 82us; 81us; 82us; 217us; 254us; 236us; 254us; 242us; 243us; 247us; 249us; 251us; 254us; 252us; 254us; 253us; 254us; 1769us; 1770us; 2us; 65535us; 78us; 79us; 1771us; 1772us; 11us; 65535us; 166us; 1786us; 300us; 310us; 388us; 1786us; 507us; 1786us; 669us; 670us; 850us; 852us; 923us; 947us; 940us; 942us; 965us; 968us; 966us; 968us; 967us; 968us; 4us; 65535us; 211us; 212us; 294us; 295us; 483us; 484us; 486us; 487us; 2us; 65535us; 1488us; 1489us; 1498us; 1499us; 10us; 65535us; 110us; 111us; 421us; 422us; 432us; 433us; 435us; 436us; 437us; 438us; 439us; 440us; 445us; 446us; 513us; 514us; 515us; 516us; 519us; 520us; 2us; 65535us; 60us; 61us; 223us; 224us; 20us; 65535us; 71us; 72us; 132us; 133us; 233us; 234us; 302us; 303us; 305us; 306us; 355us; 356us; 627us; 657us; 634us; 635us; 637us; 638us; 640us; 641us; 643us; 644us; 652us; 653us; 655us; 656us; 1044us; 1091us; 1073us; 1074us; 1079us; 1080us; 1085us; 1086us; 1475us; 1479us; 1476us; 1477us; 1499us; 1500us; 8us; 65535us; 166us; 167us; 300us; 301us; 388us; 389us; 507us; 508us; 669us; 672us; 850us; 851us; 923us; 946us; 940us; 941us; 4us; 65535us; 50us; 51us; 53us; 54us; 695us; 696us; 701us; 702us; 0us; 65535us; 11us; 65535us; 97us; 98us; 173us; 174us; 391us; 400us; 393us; 400us; 398us; 400us; 420us; 406us; 426us; 427us; 511us; 750us; 512us; 406us; 518us; 406us; 747us; 750us; 7us; 65535us; 98us; 99us; 186us; 675us; 189us; 675us; 449us; 450us; 455us; 456us; 673us; 675us; 750us; 751us; 4us; 65535us; 981us; 1060us; 1033us; 1034us; 1044us; 1045us; 1052us; 1053us; 9us; 65535us; 978us; 1042us; 979us; 1049us; 980us; 1057us; 982us; 1064us; 1035us; 1036us; 1038us; 1039us; 1046us; 1047us; 1054us; 1055us; 1061us; 1062us; 2us; 65535us; 270us; 288us; 278us; 288us; 2us; 65535us; 89us; 119us; 112us; 115us; 2us; 65535us; 65us; 89us; 88us; 89us; 260us; 65535us; 6us; 793us; 8us; 793us; 31us; 793us; 40us; 42us; 103us; 793us; 106us; 793us; 108us; 793us; 143us; 793us; 172us; 793us; 178us; 793us; 182us; 793us; 184us; 793us; 194us; 793us; 227us; 793us; 241us; 793us; 263us; 793us; 313us; 793us; 317us; 793us; 322us; 793us; 367us; 793us; 401us; 793us; 404us; 793us; 406us; 793us; 409us; 793us; 417us; 793us; 423us; 793us; 430us; 793us; 441us; 793us; 444us; 793us; 453us; 793us; 460us; 793us; 463us; 793us; 488us; 793us; 491us; 793us; 524us; 793us; 532us; 793us; 550us; 551us; 596us; 793us; 599us; 793us; 609us; 793us; 619us; 793us; 636us; 793us; 639us; 793us; 642us; 793us; 654us; 793us; 658us; 793us; 661us; 793us; 664us; 793us; 678us; 793us; 689us; 793us; 699us; 793us; 705us; 793us; 751us; 793us; 754us; 793us; 758us; 793us; 768us; 793us; 774us; 793us; 818us; 793us; 841us; 793us; 842us; 793us; 846us; 793us; 847us; 793us; 848us; 793us; 849us; 793us; 856us; 793us; 859us; 793us; 861us; 793us; 863us; 793us; 865us; 793us; 868us; 793us; 872us; 793us; 874us; 793us; 876us; 793us; 884us; 793us; 887us; 793us; 898us; 793us; 906us; 793us; 928us; 793us; 931us; 793us; 933us; 793us; 934us; 793us; 936us; 793us; 937us; 793us; 938us; 793us; 939us; 793us; 945us; 793us; 947us; 793us; 949us; 793us; 954us; 793us; 961us; 793us; 968us; 793us; 970us; 793us; 973us; 793us; 976us; 793us; 993us; 793us; 996us; 793us; 999us; 793us; 1005us; 793us; 1009us; 793us; 1013us; 793us; 1017us; 793us; 1019us; 793us; 1024us; 793us; 1026us; 793us; 1028us; 793us; 1030us; 793us; 1032us; 793us; 1034us; 793us; 1043us; 793us; 1045us; 793us; 1053us; 793us; 1060us; 793us; 1066us; 793us; 1068us; 793us; 1070us; 793us; 1071us; 793us; 1074us; 793us; 1076us; 793us; 1077us; 793us; 1080us; 793us; 1083us; 793us; 1086us; 793us; 1088us; 793us; 1093us; 793us; 1095us; 793us; 1132us; 793us; 1134us; 793us; 1136us; 793us; 1138us; 793us; 1140us; 793us; 1144us; 793us; 1145us; 793us; 1146us; 793us; 1147us; 793us; 1148us; 793us; 1149us; 793us; 1150us; 793us; 1151us; 793us; 1152us; 793us; 1153us; 793us; 1154us; 793us; 1156us; 793us; 1157us; 793us; 1158us; 793us; 1159us; 793us; 1160us; 793us; 1161us; 793us; 1162us; 793us; 1163us; 793us; 1164us; 793us; 1186us; 793us; 1189us; 793us; 1191us; 793us; 1196us; 793us; 1203us; 793us; 1208us; 793us; 1209us; 793us; 1213us; 793us; 1215us; 793us; 1219us; 793us; 1221us; 793us; 1225us; 793us; 1228us; 793us; 1230us; 793us; 1232us; 793us; 1233us; 793us; 1235us; 793us; 1236us; 793us; 1238us; 793us; 1239us; 793us; 1241us; 793us; 1242us; 793us; 1244us; 793us; 1245us; 793us; 1247us; 793us; 1248us; 793us; 1250us; 793us; 1251us; 793us; 1254us; 793us; 1255us; 793us; 1260us; 793us; 1262us; 793us; 1264us; 793us; 1265us; 793us; 1266us; 793us; 1269us; 793us; 1276us; 793us; 1277us; 793us; 1280us; 793us; 1281us; 793us; 1294us; 793us; 1301us; 793us; 1308us; 793us; 1315us; 793us; 1324us; 793us; 1327us; 793us; 1329us; 793us; 1332us; 793us; 1343us; 793us; 1350us; 793us; 1351us; 793us; 1357us; 793us; 1363us; 793us; 1364us; 793us; 1365us; 793us; 1381us; 793us; 1391us; 793us; 1404us; 793us; 1405us; 793us; 1407us; 793us; 1409us; 793us; 1413us; 793us; 1414us; 793us; 1418us; 1419us; 1421us; 793us; 1427us; 793us; 1430us; 793us; 1432us; 793us; 1434us; 793us; 1436us; 793us; 1441us; 793us; 1446us; 793us; 1471us; 793us; 1496us; 793us; 1504us; 793us; 1511us; 793us; 1513us; 793us; 1516us; 793us; 1518us; 793us; 1529us; 793us; 1531us; 793us; 1538us; 793us; 1541us; 793us; 1544us; 793us; 1547us; 793us; 1549us; 793us; 1551us; 793us; 1555us; 793us; 1558us; 793us; 1562us; 793us; 1565us; 793us; 1570us; 793us; 1572us; 793us; 1574us; 793us; 1577us; 793us; 1579us; 793us; 1593us; 793us; 1598us; 793us; 1601us; 793us; 1612us; 793us; 1616us; 793us; 1622us; 793us; 1629us; 793us; 1633us; 793us; 1639us; 793us; 1640us; 793us; 1649us; 793us; 1663us; 793us; 1665us; 793us; 1676us; 793us; 11us; 65535us; 312us; 313us; 316us; 317us; 321us; 322us; 348us; 349us; 489us; 491us; 717us; 718us; 729us; 733us; 732us; 733us; 1252us; 1254us; 1253us; 1255us; 1435us; 1436us; 5us; 65535us; 101us; 580us; 176us; 580us; 428us; 580us; 559us; 575us; 858us; 580us; 13us; 65535us; 31us; 265us; 64us; 122us; 87us; 122us; 188us; 191us; 227us; 265us; 241us; 265us; 259us; 265us; 299us; 326us; 310us; 326us; 332us; 447us; 1419us; 1426us; 1805us; 1807us; 1806us; 1807us; 10us; 65535us; 31us; 49us; 64us; 49us; 87us; 49us; 227us; 49us; 241us; 49us; 259us; 49us; 299us; 324us; 310us; 324us; 1810us; 1812us; 1811us; 1812us; 7us; 65535us; 536us; 537us; 539us; 540us; 882us; 883us; 989us; 1395us; 1391us; 1397us; 1392us; 1393us; 1815us; 1816us; 5us; 65535us; 545us; 546us; 548us; 549us; 990us; 1508us; 1504us; 1510us; 1505us; 1506us; 43us; 65535us; 533us; 534us; 565us; 566us; 607us; 608us; 610us; 611us; 614us; 615us; 647us; 648us; 650us; 651us; 720us; 721us; 804us; 805us; 823us; 826us; 824us; 825us; 828us; 829us; 869us; 870us; 899us; 900us; 902us; 903us; 907us; 908us; 910us; 911us; 987us; 1370us; 988us; 1371us; 1143us; 1302us; 1187us; 1188us; 1309us; 1310us; 1313us; 1314us; 1363us; 1366us; 1364us; 1366us; 1365us; 1366us; 1367us; 1368us; 1380us; 1381us; 1387us; 1388us; 1428us; 1429us; 1432us; 1433us; 1594us; 1595us; 1623us; 1624us; 1634us; 1636us; 1635us; 1636us; 1641us; 1642us; 1652us; 1653us; 1688us; 1689us; 1716us; 1717us; 1718us; 1719us; 1722us; 1723us; 1725us; 1726us; 1820us; 1821us; 26us; 65535us; 70us; 71us; 74us; 75us; 109us; 110us; 113us; 114us; 117us; 118us; 135us; 136us; 153us; 154us; 161us; 162us; 232us; 233us; 236us; 237us; 252us; 285us; 275us; 276us; 279us; 280us; 282us; 283us; 320us; 321us; 358us; 359us; 377us; 379us; 381us; 383us; 503us; 504us; 759us; 760us; 950us; 951us; 955us; 956us; 974us; 975us; 1216us; 1217us; 1222us; 1223us; 1824us; 1825us; 1us; 65535us; 1367us; 1369us; 17us; 65535us; 299us; 308us; 301us; 307us; 488us; 494us; 924us; 1412us; 1043us; 1063us; 1044us; 1051us; 1045us; 1050us; 1046us; 1048us; 1228us; 1229us; 1230us; 1231us; 1409us; 1411us; 1470us; 1474us; 1471us; 1473us; 1658us; 1659us; 1665us; 1669us; 1670us; 1672us; 1712us; 1714us; |]
+let _fsyacc_sparseGotoTableRowOffsets = [|0us; 1us; 2us; 3us; 4us; 5us; 7us; 15us; 20us; 26us; 31us; 36us; 41us; 46us; 70us; 72us; 74us; 76us; 83us; 88us; 90us; 93us; 96us; 99us; 103us; 110us; 120us; 130us; 140us; 143us; 145us; 148us; 151us; 155us; 157us; 160us; 163us; 166us; 170us; 179us; 188us; 200us; 204us; 207us; 210us; 213us; 219us; 221us; 223us; 226us; 229us; 232us; 236us; 242us; 252us; 263us; 274us; 290us; 292us; 294us; 297us; 299us; 381us; 500us; 619us; 621us; 624us; 627us; 632us; 639us; 642us; 646us; 649us; 653us; 657us; 661us; 665us; 676us; 687us; 689us; 692us; 696us; 700us; 703us; 714us; 718us; 721us; 723us; 766us; 777us; 842us; 855us; 857us; 862us; 865us; 868us; 871us; 874us; 878us; 881us; 886us; 891us; 894us; 900us; 907us; 974us; 1042us; 1044us; 1050us; 1060us; 1062us; 1064us; 1068us; 1074us; 1076us; 1078us; 1083us; 1087us; 1089us; 1093us; 1097us; 1102us; 1104us; 1108us; 1114us; 1118us; 1122us; 1124us; 1128us; 1132us; 1137us; 1142us; 1146us; 1150us; 1154us; 1158us; 1163us; 1170us; 1177us; 1179us; 1181us; 1197us; 1312us; 1320us; 1435us; 1549us; 1553us; 1558us; 1673us; 1675us; 1677us; 1681us; 1684us; 1686us; 1691us; 1694us; 1700us; 1703us; 1705us; 1708us; 1710us; 1712us; 1714us; 1717us; 1976us; 1978us; 1983us; 1987us; 2174us; 2178us; 2182us; 2185us; 2187us; 2199us; 2211us; 2223us; 2226us; 2229us; 2263us; 2267us; 2276us; 2319us; 2322us; 2345us; 2368us; 2391us; 2394us; 2397us; 2401us; 2425us; 2432us; 2438us; 2489us; 2491us; 2547us; 2646us; 2757us; 2759us; 2763us; 2768us; 2775us; 2782us; 2784us; 2786us; 2789us; 2792us; 2794us; 2905us; 3030us; 3156us; 3161us; 3297us; 3300us; 3303us; 3306us; 3311us; 3454us; 3597us; 3782us; 3925us; 4068us; 4072us; 4076us; 4078us; 4221us; 4223us; 4226us; 4230us; 4236us; 4238us; 4240us; 4242us; 4244us; 4248us; 4250us; 4255us; 4257us; 4259us; 4261us; 4264us; 4271us; 4278us; 4282us; 4288us; 4292us; 4294us; 4296us; 4298us; 4301us; 4303us; 4308us; 4314us; 4457us; 4602us; 4713us; 4824us; 4828us; 4834us; 4838us; 4848us; 4858us; 4861us; 4873us; 4905us; 4907us; 4939us; 4946us; 5038us; 5130us; 5196us; 5215us; 5220us; 5223us; 5289us; 5294us; 5361us; 5434us; 5439us; 5446us; 5455us; 5458us; 5462us; 5464us; 5471us; 5478us; 5485us; 5491us; 5598us; 5709us; 6045us; 6165us; 6359us; 6367us; 6370us; 6378us; 6525us; 6573us; 6718us; 6733us; 6746us; 6749us; 6761us; 6766us; 6769us; 6780us; 6783us; 6804us; 6813us; 6818us; 6819us; 6831us; 6839us; 6844us; 6854us; 6857us; 6860us; 6863us; 7124us; 7136us; 7142us; 7156us; 7167us; 7175us; 7181us; 7225us; 7252us; 7254us; |]
+let _fsyacc_stateToProdIdxsTableElements = [| 1us; 0us; 1us; 0us; 1us; 1us; 1us; 1us; 1us; 2us; 1us; 2us; 1us; 3us; 1us; 3us; 1us; 4us; 1us; 4us; 1us; 5us; 1us; 6us; 1us; 7us; 1us; 8us; 1us; 9us; 1us; 10us; 2us; 11us; 14us; 1us; 11us; 2us; 12us; 15us; 1us; 12us; 2us; 13us; 16us; 1us; 13us; 1us; 14us; 1us; 14us; 1us; 15us; 1us; 15us; 1us; 16us; 1us; 16us; 2us; 17us; 18us; 1us; 18us; 7us; 19us; 136us; 137us; 138us; 139us; 140us; 141us; 7us; 19us; 136us; 137us; 138us; 139us; 140us; 141us; 48us; 19us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 1us; 20us; 2us; 21us; 22us; 1us; 22us; 1us; 23us; 1us; 24us; 1us; 25us; 1us; 25us; 2us; 25us; 27us; 1us; 27us; 1us; 28us; 2us; 29us; 30us; 1us; 29us; 1us; 30us; 1us; 30us; 3us; 31us; 46us; 49us; 1us; 31us; 1us; 32us; 1us; 32us; 1us; 32us; 3us; 32us; 946us; 947us; 1us; 33us; 1us; 33us; 3us; 33us; 946us; 947us; 2us; 34us; 35us; 1us; 35us; 2us; 36us; 37us; 1us; 36us; 1us; 38us; 1us; 38us; 1us; 38us; 6us; 39us; 53us; 54us; 55us; 56us; 58us; 6us; 39us; 53us; 54us; 55us; 56us; 58us; 3us; 39us; 53us; 54us; 1us; 39us; 1us; 40us; 1us; 41us; 3us; 42us; 43us; 44us; 2us; 42us; 43us; 1us; 42us; 1us; 42us; 1us; 43us; 3us; 44us; 46us; 49us; 1us; 44us; 1us; 45us; 2us; 46us; 49us; 2us; 48us; 50us; 2us; 48us; 50us; 1us; 48us; 1us; 49us; 1us; 49us; 1us; 49us; 1us; 51us; 1us; 52us; 5us; 53us; 54us; 55us; 56us; 58us; 5us; 53us; 54us; 55us; 56us; 58us; 2us; 53us; 54us; 2us; 53us; 54us; 1us; 53us; 1us; 54us; 1us; 55us; 1us; 56us; 1us; 57us; 3us; 57us; 946us; 947us; 1us; 58us; 1us; 58us; 1us; 58us; 1us; 58us; 1us; 58us; 1us; 58us; 1us; 58us; 1us; 58us; 1us; 58us; 1us; 58us; 2us; 60us; 61us; 48us; 60us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 1us; 61us; 48us; 61us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 1us; 61us; 1us; 61us; 3us; 62us; 63us; 144us; 1us; 62us; 1us; 62us; 1us; 63us; 1us; 63us; 1us; 63us; 1us; 63us; 1us; 64us; 1us; 64us; 1us; 64us; 1us; 65us; 1us; 65us; 2us; 66us; 67us; 1us; 66us; 1us; 66us; 2us; 68us; 69us; 1us; 68us; 1us; 68us; 1us; 69us; 3us; 70us; 79us; 80us; 1us; 70us; 1us; 70us; 1us; 70us; 1us; 70us; 1us; 70us; 1us; 70us; 1us; 71us; 1us; 71us; 1us; 72us; 1us; 73us; 1us; 74us; 1us; 74us; 1us; 74us; 1us; 75us; 3us; 76us; 77us; 78us; 2us; 76us; 77us; 1us; 76us; 1us; 77us; 1us; 78us; 1us; 78us; 2us; 79us; 80us; 2us; 79us; 80us; 1us; 79us; 1us; 80us; 2us; 81us; 82us; 2us; 81us; 82us; 1us; 81us; 1us; 82us; 2us; 83us; 84us; 2us; 83us; 84us; 1us; 83us; 1us; 84us; 1us; 85us; 1us; 86us; 1us; 88us; 1us; 88us; 1us; 88us; 7us; 89us; 90us; 91us; 92us; 93us; 94us; 95us; 12us; 89us; 90us; 91us; 92us; 93us; 94us; 95us; 266us; 267us; 268us; 269us; 270us; 7us; 89us; 90us; 91us; 92us; 93us; 94us; 95us; 12us; 89us; 90us; 91us; 92us; 93us; 94us; 95us; 266us; 267us; 268us; 269us; 270us; 1us; 89us; 1us; 89us; 1us; 89us; 1us; 89us; 1us; 89us; 1us; 89us; 1us; 89us; 1us; 89us; 1us; 89us; 1us; 90us; 4us; 90us; 870us; 871us; 872us; 1us; 91us; 4us; 91us; 870us; 871us; 872us; 1us; 92us; 1us; 92us; 3us; 93us; 94us; 174us; 1us; 93us; 1us; 93us; 1us; 94us; 1us; 94us; 1us; 95us; 1us; 95us; 1us; 95us; 1us; 97us; 1us; 97us; 2us; 98us; 99us; 2us; 98us; 99us; 1us; 98us; 1us; 99us; 2us; 100us; 101us; 1us; 101us; 1us; 101us; 1us; 102us; 2us; 103us; 104us; 1us; 104us; 1us; 105us; 1us; 105us; 1us; 106us; 1us; 106us; 1us; 106us; 2us; 108us; 109us; 1us; 108us; 1us; 109us; 1us; 109us; 2us; 110us; 133us; 1us; 110us; 2us; 111us; 112us; 1us; 112us; 2us; 113us; 114us; 1us; 113us; 1us; 115us; 1us; 115us; 1us; 115us; 11us; 116us; 124us; 125us; 126us; 128us; 136us; 137us; 138us; 139us; 140us; 141us; 10us; 116us; 124us; 125us; 126us; 136us; 137us; 138us; 139us; 140us; 141us; 2us; 116us; 141us; 1us; 116us; 1us; 117us; 3us; 118us; 119us; 120us; 2us; 118us; 119us; 1us; 118us; 1us; 118us; 1us; 119us; 2us; 120us; 133us; 1us; 120us; 1us; 121us; 1us; 122us; 10us; 124us; 125us; 126us; 128us; 136us; 137us; 138us; 139us; 140us; 141us; 9us; 124us; 125us; 126us; 136us; 137us; 138us; 139us; 140us; 141us; 50us; 124us; 125us; 126us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 2us; 124us; 125us; 1us; 124us; 1us; 127us; 1us; 128us; 4us; 129us; 130us; 131us; 132us; 1us; 129us; 2us; 130us; 132us; 1us; 130us; 1us; 133us; 2us; 133us; 150us; 2us; 133us; 155us; 1us; 133us; 1us; 133us; 1us; 134us; 1us; 135us; 6us; 136us; 137us; 138us; 139us; 140us; 141us; 6us; 136us; 137us; 138us; 139us; 140us; 141us; 1us; 136us; 3us; 136us; 521us; 522us; 1us; 137us; 5us; 137us; 523us; 524us; 525us; 526us; 1us; 138us; 1us; 139us; 1us; 139us; 1us; 139us; 1us; 140us; 1us; 141us; 1us; 141us; 1us; 141us; 2us; 142us; 157us; 1us; 142us; 1us; 143us; 3us; 144us; 946us; 947us; 1us; 144us; 3us; 145us; 946us; 947us; 5us; 146us; 147us; 148us; 149us; 150us; 2us; 146us; 147us; 1us; 146us; 1us; 147us; 2us; 148us; 149us; 1us; 148us; 1us; 149us; 1us; 150us; 1us; 151us; 3us; 152us; 946us; 947us; 3us; 153us; 154us; 155us; 2us; 153us; 154us; 1us; 153us; 1us; 154us; 1us; 155us; 1us; 156us; 1us; 156us; 1us; 156us; 1us; 157us; 2us; 159us; 160us; 1us; 160us; 4us; 161us; 162us; 163us; 164us; 3us; 161us; 163us; 166us; 2us; 161us; 163us; 1us; 161us; 1us; 161us; 2us; 162us; 519us; 1us; 162us; 1us; 162us; 1us; 163us; 1us; 164us; 1us; 165us; 2us; 166us; 1013us; 1us; 166us; 3us; 167us; 946us; 947us; 1us; 167us; 1us; 167us; 2us; 168us; 169us; 3us; 168us; 946us; 947us; 1us; 168us; 1us; 168us; 1us; 169us; 3us; 169us; 946us; 947us; 1us; 169us; 1us; 169us; 1us; 169us; 1us; 170us; 1us; 170us; 1us; 171us; 1us; 171us; 2us; 172us; 945us; 1us; 172us; 1us; 173us; 1us; 173us; 4us; 174us; 215us; 221us; 224us; 1us; 174us; 1us; 175us; 1us; 176us; 1us; 177us; 1us; 178us; 1us; 178us; 1us; 178us; 1us; 179us; 1us; 179us; 1us; 179us; 4us; 181us; 182us; 183us; 184us; 1us; 182us; 1us; 182us; 1us; 183us; 1us; 184us; 1us; 184us; 1us; 184us; 1us; 184us; 1us; 184us; 1us; 184us; 1us; 184us; 4us; 185us; 186us; 195us; 196us; 2us; 185us; 186us; 2us; 185us; 186us; 2us; 185us; 186us; 2us; 185us; 186us; 1us; 185us; 1us; 185us; 1us; 186us; 1us; 187us; 1us; 187us; 1us; 188us; 1us; 189us; 1us; 190us; 1us; 190us; 1us; 190us; 1us; 191us; 3us; 192us; 193us; 194us; 2us; 192us; 193us; 1us; 192us; 1us; 193us; 2us; 194us; 201us; 1us; 194us; 2us; 195us; 196us; 2us; 195us; 196us; 1us; 195us; 1us; 196us; 2us; 197us; 198us; 2us; 197us; 198us; 1us; 197us; 1us; 198us; 1us; 199us; 1us; 200us; 1us; 201us; 1us; 201us; 1us; 203us; 1us; 203us; 1us; 203us; 1us; 204us; 1us; 204us; 2us; 205us; 206us; 2us; 205us; 206us; 1us; 205us; 1us; 206us; 2us; 207us; 208us; 1us; 208us; 1us; 208us; 1us; 209us; 1us; 209us; 1us; 209us; 1us; 209us; 1us; 209us; 1us; 209us; 2us; 210us; 211us; 2us; 210us; 211us; 2us; 210us; 211us; 1us; 210us; 1us; 210us; 1us; 211us; 2us; 212us; 213us; 1us; 213us; 11us; 214us; 215us; 216us; 217us; 218us; 219us; 220us; 221us; 222us; 223us; 224us; 16us; 214us; 215us; 216us; 217us; 218us; 219us; 220us; 221us; 222us; 223us; 224us; 266us; 267us; 268us; 269us; 270us; 11us; 214us; 215us; 216us; 217us; 218us; 219us; 220us; 221us; 222us; 223us; 224us; 16us; 214us; 215us; 216us; 217us; 218us; 219us; 220us; 221us; 222us; 223us; 224us; 266us; 267us; 268us; 269us; 270us; 1us; 214us; 1us; 215us; 2us; 216us; 222us; 1us; 216us; 1us; 216us; 1us; 217us; 4us; 217us; 870us; 871us; 872us; 1us; 217us; 1us; 218us; 1us; 218us; 1us; 218us; 1us; 218us; 1us; 218us; 1us; 218us; 1us; 218us; 1us; 218us; 1us; 219us; 1us; 220us; 1us; 220us; 1us; 221us; 1us; 221us; 1us; 222us; 1us; 222us; 1us; 223us; 1us; 223us; 1us; 223us; 1us; 223us; 1us; 223us; 1us; 223us; 1us; 224us; 1us; 224us; 1us; 225us; 1us; 225us; 1us; 225us; 1us; 225us; 1us; 225us; 1us; 225us; 1us; 226us; 1us; 226us; 1us; 226us; 1us; 226us; 1us; 226us; 1us; 226us; 1us; 226us; 1us; 226us; 1us; 228us; 1us; 228us; 2us; 229us; 468us; 1us; 229us; 1us; 229us; 1us; 230us; 1us; 230us; 1us; 230us; 1us; 231us; 2us; 232us; 233us; 1us; 232us; 1us; 232us; 1us; 232us; 1us; 233us; 1us; 235us; 1us; 236us; 1us; 237us; 1us; 238us; 1us; 239us; 1us; 241us; 1us; 241us; 1us; 241us; 1us; 243us; 1us; 243us; 1us; 243us; 3us; 245us; 246us; 247us; 2us; 245us; 246us; 1us; 245us; 1us; 246us; 1us; 246us; 1us; 246us; 1us; 247us; 1us; 248us; 1us; 250us; 1us; 250us; 1us; 251us; 2us; 253us; 254us; 1us; 253us; 1us; 254us; 2us; 255us; 256us; 2us; 255us; 256us; 1us; 255us; 1us; 256us; 1us; 257us; 2us; 258us; 259us; 2us; 258us; 259us; 1us; 258us; 4us; 260us; 261us; 262us; 263us; 5us; 260us; 261us; 262us; 263us; 383us; 3us; 260us; 261us; 262us; 1us; 260us; 1us; 260us; 1us; 261us; 1us; 261us; 1us; 262us; 1us; 263us; 1us; 263us; 1us; 263us; 1us; 264us; 1us; 265us; 5us; 266us; 267us; 268us; 269us; 270us; 5us; 266us; 267us; 268us; 269us; 270us; 4us; 266us; 866us; 946us; 947us; 1us; 266us; 1us; 266us; 1us; 266us; 1us; 267us; 1us; 268us; 1us; 269us; 5us; 270us; 873us; 894us; 895us; 906us; 1us; 270us; 1us; 270us; 3us; 271us; 272us; 273us; 2us; 271us; 272us; 1us; 271us; 1us; 272us; 1us; 273us; 1us; 273us; 6us; 274us; 896us; 897us; 898us; 899us; 900us; 1us; 274us; 1us; 275us; 3us; 276us; 277us; 278us; 2us; 276us; 277us; 1us; 276us; 1us; 277us; 1us; 278us; 1us; 278us; 2us; 279us; 891us; 2us; 279us; 414us; 1us; 279us; 1us; 280us; 1us; 281us; 1us; 282us; 1us; 283us; 1us; 284us; 3us; 285us; 286us; 287us; 4us; 285us; 287us; 946us; 947us; 1us; 286us; 3us; 286us; 946us; 947us; 1us; 287us; 1us; 288us; 1us; 289us; 2us; 289us; 290us; 1us; 289us; 2us; 290us; 293us; 3us; 290us; 294us; 295us; 1us; 290us; 2us; 290us; 294us; 1us; 290us; 1us; 291us; 1us; 292us; 1us; 292us; 1us; 293us; 1us; 293us; 1us; 293us; 1us; 293us; 1us; 294us; 1us; 297us; 1us; 297us; 1us; 297us; 1us; 297us; 1us; 297us; 1us; 298us; 2us; 300us; 451us; 1us; 303us; 2us; 303us; 304us; 2us; 304us; 839us; 2us; 304us; 841us; 1us; 304us; 1us; 304us; 1us; 305us; 1us; 306us; 1us; 306us; 1us; 306us; 1us; 306us; 8us; 307us; 308us; 309us; 310us; 311us; 313us; 314us; 315us; 1us; 307us; 1us; 307us; 7us; 308us; 309us; 310us; 311us; 313us; 314us; 315us; 1us; 308us; 3us; 309us; 314us; 315us; 1us; 309us; 1us; 310us; 1us; 311us; 1us; 311us; 1us; 311us; 1us; 312us; 2us; 312us; 316us; 1us; 312us; 1us; 312us; 1us; 312us; 1us; 312us; 1us; 312us; 1us; 313us; 1us; 313us; 1us; 314us; 1us; 316us; 4us; 316us; 870us; 871us; 872us; 4us; 317us; 870us; 871us; 872us; 1us; 318us; 1us; 318us; 1us; 319us; 1us; 319us; 1us; 319us; 2us; 320us; 333us; 1us; 321us; 2us; 322us; 323us; 1us; 322us; 1us; 322us; 4us; 324us; 325us; 326us; 327us; 4us; 324us; 325us; 326us; 327us; 4us; 324us; 325us; 326us; 327us; 1us; 324us; 1us; 325us; 1us; 325us; 1us; 325us; 1us; 326us; 1us; 326us; 1us; 326us; 1us; 327us; 1us; 327us; 1us; 327us; 1us; 328us; 6us; 329us; 330us; 948us; 949us; 951us; 952us; 1us; 329us; 1us; 329us; 1us; 330us; 1us; 330us; 1us; 330us; 5us; 331us; 332us; 334us; 335us; 945us; 1us; 331us; 2us; 332us; 335us; 2us; 332us; 335us; 2us; 332us; 335us; 1us; 333us; 1us; 334us; 1us; 334us; 2us; 336us; 337us; 1us; 336us; 1us; 336us; 2us; 338us; 945us; 1us; 338us; 4us; 338us; 870us; 871us; 872us; 4us; 339us; 870us; 871us; 872us; 1us; 340us; 1us; 341us; 2us; 342us; 343us; 2us; 342us; 1013us; 1us; 342us; 1us; 343us; 1us; 344us; 1us; 344us; 1us; 345us; 1us; 345us; 1us; 345us; 1us; 345us; 1us; 345us; 1us; 346us; 1us; 346us; 1us; 347us; 1us; 348us; 1us; 348us; 1us; 348us; 1us; 348us; 1us; 348us; 2us; 349us; 350us; 1us; 350us; 1us; 350us; 1us; 352us; 3us; 352us; 946us; 947us; 1us; 353us; 3us; 353us; 946us; 947us; 1us; 354us; 1us; 354us; 1us; 354us; 1us; 355us; 1us; 356us; 1us; 356us; 1us; 357us; 1us; 357us; 1us; 357us; 1us; 357us; 1us; 358us; 1us; 358us; 1us; 358us; 1us; 359us; 1us; 360us; 1us; 361us; 1us; 362us; 1us; 363us; 1us; 364us; 1us; 365us; 1us; 365us; 1us; 365us; 1us; 365us; 1us; 365us; 1us; 365us; 1us; 365us; 1us; 365us; 2us; 366us; 369us; 2us; 367us; 370us; 1us; 369us; 1us; 369us; 1us; 370us; 1us; 370us; 2us; 371us; 372us; 5us; 371us; 372us; 374us; 375us; 376us; 1us; 372us; 3us; 373us; 946us; 947us; 4us; 374us; 375us; 376us; 378us; 1us; 374us; 1us; 374us; 1us; 374us; 1us; 375us; 1us; 376us; 1us; 377us; 2us; 377us; 379us; 1us; 377us; 2us; 378us; 379us; 1us; 380us; 1us; 380us; 1us; 381us; 1us; 381us; 1us; 381us; 1us; 383us; 1us; 383us; 1us; 384us; 3us; 385us; 386us; 387us; 3us; 385us; 386us; 387us; 3us; 385us; 386us; 387us; 3us; 385us; 386us; 387us; 2us; 385us; 386us; 1us; 385us; 1us; 386us; 1us; 387us; 2us; 388us; 389us; 2us; 388us; 389us; 1us; 388us; 1us; 389us; 1us; 390us; 1us; 391us; 2us; 391us; 392us; 1us; 392us; 1us; 394us; 2us; 394us; 395us; 1us; 394us; 1us; 394us; 1us; 395us; 1us; 395us; 1us; 396us; 2us; 397us; 398us; 1us; 397us; 1us; 397us; 1us; 398us; 1us; 399us; 1us; 400us; 1us; 401us; 1us; 402us; 1us; 403us; 1us; 404us; 1us; 405us; 1us; 406us; 1us; 407us; 1us; 408us; 1us; 409us; 1us; 410us; 1us; 411us; 2us; 411us; 464us; 1us; 412us; 1us; 413us; 1us; 414us; 1us; 415us; 2us; 416us; 418us; 1us; 416us; 1us; 416us; 2us; 417us; 419us; 2us; 417us; 419us; 1us; 417us; 1us; 417us; 1us; 420us; 1us; 421us; 1us; 421us; 1us; 421us; 1us; 422us; 1us; 423us; 1us; 423us; 2us; 424us; 425us; 1us; 425us; 1us; 425us; 6us; 426us; 438us; 439us; 440us; 445us; 447us; 1us; 427us; 1us; 428us; 1us; 428us; 2us; 429us; 430us; 3us; 429us; 431us; 432us; 1us; 429us; 1us; 429us; 1us; 430us; 1us; 432us; 1us; 432us; 5us; 433us; 434us; 435us; 436us; 437us; 2us; 433us; 435us; 1us; 433us; 1us; 434us; 1us; 435us; 2us; 436us; 519us; 1us; 436us; 1us; 437us; 6us; 438us; 439us; 439us; 440us; 445us; 447us; 6us; 438us; 439us; 440us; 440us; 445us; 447us; 6us; 438us; 439us; 440us; 444us; 445us; 447us; 6us; 438us; 439us; 440us; 445us; 445us; 447us; 6us; 438us; 439us; 440us; 445us; 446us; 447us; 6us; 438us; 439us; 440us; 445us; 447us; 447us; 6us; 438us; 439us; 440us; 445us; 447us; 568us; 7us; 438us; 439us; 440us; 445us; 447us; 569us; 570us; 1us; 438us; 1us; 438us; 1us; 439us; 1us; 440us; 2us; 441us; 444us; 2us; 442us; 446us; 1us; 443us; 1us; 444us; 1us; 445us; 1us; 446us; 1us; 447us; 2us; 448us; 449us; 1us; 448us; 2us; 449us; 1013us; 1us; 449us; 1us; 450us; 4us; 450us; 984us; 986us; 987us; 1us; 450us; 7us; 450us; 485us; 486us; 489us; 491us; 494us; 496us; 5us; 451us; 452us; 453us; 454us; 470us; 3us; 452us; 453us; 454us; 1us; 452us; 1us; 453us; 1us; 453us; 1us; 454us; 1us; 454us; 1us; 455us; 1us; 455us; 1us; 456us; 9us; 457us; 475us; 476us; 477us; 478us; 948us; 949us; 951us; 952us; 1us; 457us; 1us; 457us; 1us; 458us; 4us; 459us; 460us; 461us; 462us; 1us; 459us; 1us; 460us; 1us; 460us; 1us; 461us; 1us; 461us; 1us; 463us; 1us; 464us; 1us; 464us; 1us; 465us; 1us; 465us; 1us; 465us; 1us; 466us; 1us; 466us; 1us; 466us; 1us; 467us; 1us; 467us; 1us; 467us; 1us; 469us; 2us; 469us; 969us; 1us; 469us; 1us; 470us; 1us; 471us; 1us; 472us; 1us; 473us; 1us; 474us; 8us; 475us; 476us; 477us; 478us; 948us; 949us; 951us; 952us; 2us; 475us; 476us; 1us; 475us; 1us; 476us; 3us; 477us; 519us; 949us; 2us; 477us; 949us; 1us; 478us; 4us; 479us; 480us; 481us; 482us; 4us; 479us; 480us; 481us; 482us; 4us; 479us; 480us; 487us; 493us; 1us; 479us; 1us; 480us; 2us; 481us; 519us; 1us; 481us; 1us; 482us; 7us; 483us; 485us; 486us; 489us; 491us; 494us; 496us; 7us; 485us; 486us; 486us; 489us; 491us; 494us; 496us; 7us; 485us; 486us; 489us; 490us; 491us; 494us; 496us; 7us; 485us; 486us; 489us; 491us; 491us; 494us; 496us; 7us; 485us; 486us; 489us; 491us; 493us; 494us; 496us; 7us; 485us; 486us; 489us; 491us; 494us; 494us; 496us; 7us; 485us; 486us; 489us; 491us; 494us; 495us; 496us; 6us; 485us; 486us; 489us; 491us; 494us; 496us; 7us; 485us; 486us; 489us; 491us; 494us; 496us; 496us; 7us; 485us; 486us; 489us; 491us; 494us; 496us; 499us; 8us; 485us; 486us; 489us; 491us; 494us; 496us; 501us; 502us; 14us; 485us; 486us; 489us; 491us; 494us; 496us; 564us; 565us; 763us; 764us; 765us; 766us; 767us; 768us; 7us; 485us; 486us; 489us; 491us; 494us; 496us; 633us; 1us; 485us; 1us; 485us; 1us; 486us; 2us; 487us; 493us; 2us; 488us; 495us; 1us; 489us; 1us; 489us; 1us; 490us; 1us; 491us; 1us; 492us; 1us; 493us; 1us; 494us; 1us; 495us; 1us; 496us; 2us; 497us; 498us; 1us; 497us; 2us; 498us; 1013us; 1us; 498us; 3us; 499us; 946us; 947us; 1us; 499us; 1us; 501us; 2us; 502us; 1013us; 1us; 502us; 2us; 503us; 504us; 2us; 503us; 504us; 1us; 503us; 1us; 504us; 1us; 505us; 1us; 506us; 1us; 506us; 1us; 506us; 48us; 507us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 2us; 508us; 509us; 1us; 508us; 2us; 510us; 511us; 1us; 510us; 1us; 510us; 1us; 512us; 1us; 512us; 52us; 513us; 514us; 515us; 516us; 517us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 53us; 513us; 514us; 515us; 516us; 517us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 707us; 55us; 513us; 514us; 515us; 516us; 517us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 759us; 760us; 761us; 2us; 513us; 514us; 1us; 513us; 1us; 516us; 1us; 516us; 1us; 517us; 1us; 517us; 1us; 517us; 1us; 517us; 5us; 518us; 523us; 524us; 525us; 526us; 1us; 519us; 2us; 519us; 551us; 2us; 519us; 554us; 2us; 519us; 559us; 2us; 519us; 562us; 2us; 519us; 564us; 2us; 519us; 684us; 2us; 519us; 698us; 2us; 519us; 725us; 2us; 519us; 729us; 2us; 519us; 734us; 3us; 519us; 734us; 949us; 2us; 519us; 749us; 2us; 519us; 825us; 1us; 520us; 2us; 521us; 522us; 2us; 521us; 522us; 1us; 521us; 1us; 522us; 4us; 523us; 524us; 525us; 526us; 1us; 523us; 1us; 524us; 2us; 525us; 526us; 1us; 525us; 1us; 526us; 1us; 527us; 1us; 528us; 1us; 529us; 2us; 530us; 531us; 2us; 530us; 531us; 1us; 530us; 1us; 531us; 2us; 532us; 533us; 2us; 532us; 533us; 1us; 532us; 1us; 533us; 3us; 534us; 535us; 536us; 3us; 534us; 535us; 536us; 1us; 534us; 1us; 535us; 1us; 536us; 1us; 536us; 3us; 537us; 538us; 539us; 49us; 537us; 538us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 1us; 537us; 1us; 538us; 1us; 539us; 1us; 540us; 48us; 540us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 2us; 541us; 542us; 48us; 541us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 1us; 543us; 1us; 543us; 2us; 544us; 545us; 1us; 544us; 6us; 546us; 547us; 548us; 549us; 550us; 551us; 51us; 546us; 547us; 548us; 549us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 3us; 546us; 547us; 548us; 2us; 546us; 547us; 1us; 546us; 1us; 547us; 1us; 548us; 1us; 548us; 1us; 549us; 1us; 550us; 1us; 551us; 15us; 552us; 553us; 554us; 555us; 556us; 557us; 558us; 559us; 560us; 561us; 562us; 563us; 564us; 565us; 573us; 6us; 552us; 553us; 554us; 555us; 556us; 573us; 4us; 552us; 553us; 554us; 555us; 2us; 552us; 553us; 1us; 552us; 1us; 553us; 1us; 554us; 1us; 555us; 1us; 556us; 5us; 557us; 558us; 559us; 560us; 561us; 4us; 557us; 558us; 559us; 560us; 2us; 557us; 558us; 1us; 557us; 1us; 558us; 1us; 559us; 1us; 560us; 1us; 561us; 1us; 562us; 1us; 562us; 1us; 562us; 1us; 563us; 1us; 564us; 2us; 565us; 1066us; 1us; 566us; 48us; 566us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 1us; 567us; 48us; 567us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 1us; 568us; 1us; 568us; 1us; 568us; 1us; 568us; 1us; 568us; 1us; 568us; 2us; 569us; 570us; 2us; 569us; 570us; 2us; 569us; 570us; 2us; 569us; 570us; 2us; 569us; 570us; 1us; 569us; 1us; 570us; 1us; 571us; 1us; 571us; 1us; 571us; 1us; 571us; 1us; 571us; 1us; 572us; 1us; 572us; 1us; 572us; 1us; 573us; 1us; 573us; 1us; 574us; 48us; 574us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 1us; 575us; 1us; 575us; 48us; 576us; 577us; 578us; 579us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 639us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 643us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 647us; 654us; 655us; 49us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 650us; 651us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 652us; 654us; 655us; 47us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 655us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 707us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 708us; 51us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 759us; 760us; 761us; 763us; 51us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 759us; 760us; 761us; 767us; 49us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 759us; 760us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 760us; 48us; 576us; 577us; 578us; 579us; 582us; 583us; 584us; 585us; 586us; 587us; 588us; 589us; 590us; 591us; 592us; 593us; 594us; 595us; 596us; 597us; 598us; 599us; 600us; 601us; 602us; 603us; 604us; 605us; 606us; 607us; 608us; 609us; 610us; 611us; 612us; 613us; 614us; 615us; 616us; 617us; 618us; 619us; 620us; 621us; 622us; 654us; 655us; 767us; 1us; 576us; 1us; 576us; 1us; 577us; 1us; 577us; 1us; 578us; 1us; 578us; 1us; 579us; 2us; 580us; 623us; 1us; 580us; 1us; 580us; 3us; 581us; 652us; 653us; 5us; 581us; 652us; 653us; 686us; 687us; 2us; 582us; 603us; 2us; 583us; 604us; 2us; 584us; 605us; 2us; 585us; 606us; 2us; 586us; 607us; 2us; 587us; 608us; 2us; 588us; 609us; 2us; 589us; 610us; 2us; 590us; 611us; 2us; 591us; 612us; 3us; 592us; 593us; 613us; 1us; 593us; 2us; 594us; 614us; 2us; 595us; 615us; 2us; 596us; 616us; 2us; 597us; 617us; 2us; 598us; 618us; 2us; 599us; 619us; 2us; 600us; 620us; 2us; 601us; 621us; 2us; 602us; 622us; 1us; 603us; 1us; 604us; 1us; 605us; 1us; 606us; 1us; 607us; 1us; 608us; 1us; 609us; 1us; 610us; 1us; 611us; 1us; 612us; 1us; 613us; 1us; 614us; 1us; 615us; 1us; 616us; 1us; 617us; 1us; 618us; 1us; 619us; 1us; 620us; 1us; 621us; 1us; 622us; 1us; 624us; 1us; 625us; 1us; 625us; 1us; 625us; 1us; 626us; 1us; 626us; 2us; 627us; 628us; 2us; 627us; 628us; 1us; 627us; 1us; 628us; 1us; 629us; 2us; 630us; 631us; 1us; 630us; 1us; 631us; 1us; 632us; 1us; 633us; 5us; 634us; 635us; 636us; 637us; 638us; 4us; 634us; 635us; 636us; 637us; 2us; 635us; 636us; 1us; 635us; 1us; 636us; 1us; 637us; 1us; 638us; 1us; 639us; 1us; 641us; 1us; 641us; 1us; 642us; 1us; 642us; 1us; 643us; 2us; 644us; 645us; 2us; 644us; 645us; 2us; 644us; 645us; 1us; 644us; 1us; 645us; 1us; 647us; 2us; 648us; 649us; 2us; 648us; 649us; 2us; 648us; 649us; 1us; 648us; 1us; 649us; 2us; 650us; 651us; 1us; 650us; 1us; 651us; 2us; 652us; 653us; 1us; 653us; 2us; 654us; 655us; 1us; 654us; 1us; 656us; 2us; 656us; 963us; 1us; 656us; 1us; 657us; 2us; 657us; 959us; 1us; 657us; 1us; 658us; 2us; 658us; 962us; 1us; 658us; 1us; 659us; 2us; 659us; 975us; 1us; 659us; 1us; 660us; 2us; 660us; 970us; 1us; 660us; 1us; 661us; 2us; 661us; 971us; 1us; 661us; 3us; 662us; 663us; 664us; 7us; 662us; 663us; 664us; 807us; 808us; 809us; 810us; 2us; 662us; 663us; 6us; 662us; 663us; 807us; 808us; 809us; 810us; 2us; 662us; 663us; 4us; 662us; 663us; 808us; 809us; 1us; 662us; 3us; 662us; 808us; 809us; 1us; 663us; 1us; 664us; 1us; 665us; 1us; 665us; 1us; 666us; 1us; 666us; 2us; 667us; 668us; 6us; 667us; 668us; 783us; 787us; 788us; 789us; 5us; 668us; 783us; 787us; 788us; 789us; 1us; 668us; 6us; 669us; 672us; 673us; 674us; 676us; 679us; 1us; 670us; 6us; 670us; 672us; 673us; 674us; 676us; 679us; 6us; 671us; 672us; 673us; 674us; 676us; 679us; 6us; 672us; 672us; 673us; 674us; 676us; 679us; 6us; 672us; 673us; 673us; 674us; 676us; 679us; 6us; 672us; 673us; 674us; 675us; 676us; 679us; 6us; 672us; 673us; 674us; 676us; 679us; 903us; 1us; 672us; 1us; 673us; 1us; 674us; 1us; 674us; 1us; 675us; 2us; 675us; 953us; 1us; 676us; 1us; 676us; 1us; 677us; 1us; 677us; 1us; 677us; 1us; 678us; 2us; 678us; 969us; 1us; 678us; 1us; 679us; 1us; 679us; 1us; 680us; 1us; 681us; 4us; 682us; 683us; 684us; 685us; 2us; 682us; 683us; 1us; 682us; 1us; 683us; 1us; 684us; 1us; 685us; 3us; 686us; 687us; 821us; 2us; 686us; 687us; 1us; 686us; 1us; 687us; 1us; 688us; 1us; 689us; 1us; 690us; 1us; 692us; 6us; 693us; 694us; 948us; 949us; 951us; 952us; 1us; 693us; 1us; 693us; 1us; 693us; 1us; 693us; 1us; 694us; 1us; 694us; 5us; 695us; 696us; 697us; 698us; 699us; 1us; 695us; 1us; 695us; 2us; 696us; 697us; 1us; 696us; 1us; 697us; 1us; 698us; 1us; 699us; 2us; 700us; 701us; 1us; 700us; 1us; 700us; 3us; 702us; 703us; 706us; 2us; 702us; 703us; 1us; 702us; 1us; 704us; 1us; 704us; 1us; 705us; 1us; 708us; 1us; 709us; 1us; 710us; 1us; 711us; 1us; 712us; 1us; 713us; 1us; 714us; 1us; 715us; 1us; 716us; 1us; 717us; 1us; 718us; 4us; 719us; 720us; 721us; 722us; 2us; 719us; 720us; 1us; 719us; 1us; 720us; 1us; 721us; 1us; 721us; 1us; 722us; 4us; 723us; 724us; 725us; 726us; 5us; 723us; 724us; 725us; 726us; 978us; 2us; 723us; 724us; 1us; 723us; 1us; 724us; 1us; 725us; 1us; 726us; 4us; 727us; 728us; 729us; 730us; 2us; 727us; 728us; 1us; 727us; 1us; 728us; 1us; 729us; 1us; 730us; 9us; 731us; 732us; 733us; 734us; 735us; 736us; 737us; 738us; 739us; 14us; 731us; 732us; 733us; 734us; 735us; 736us; 737us; 738us; 739us; 744us; 948us; 949us; 951us; 952us; 13us; 731us; 732us; 733us; 734us; 735us; 736us; 737us; 738us; 739us; 948us; 949us; 951us; 952us; 1us; 731us; 2us; 732us; 733us; 1us; 732us; 1us; 733us; 1us; 734us; 2us; 734us; 949us; 1us; 735us; 1us; 736us; 1us; 737us; 1us; 738us; 1us; 739us; 1us; 740us; 1us; 740us; 1us; 740us; 1us; 740us; 1us; 740us; 1us; 740us; 1us; 741us; 1us; 742us; 1us; 743us; 2us; 743us; 746us; 2us; 744us; 745us; 1us; 744us; 1us; 745us; 1us; 745us; 5us; 747us; 748us; 749us; 750us; 751us; 2us; 747us; 748us; 1us; 747us; 1us; 748us; 1us; 749us; 1us; 750us; 1us; 751us; 1us; 752us; 1us; 753us; 1us; 754us; 1us; 755us; 1us; 757us; 1us; 758us; 3us; 759us; 760us; 761us; 1us; 760us; 1us; 761us; 1us; 762us; 1us; 762us; 3us; 763us; 764us; 765us; 1us; 764us; 1us; 765us; 1us; 766us; 2us; 767us; 768us; 1us; 767us; 1us; 768us; 1us; 769us; 1us; 770us; 1us; 771us; 1us; 771us; 1us; 771us; 2us; 771us; 772us; 1us; 771us; 1us; 771us; 1us; 772us; 1us; 775us; 1us; 777us; 1us; 777us; 1us; 777us; 1us; 777us; 2us; 779us; 780us; 1us; 779us; 5us; 780us; 873us; 894us; 895us; 906us; 1us; 780us; 1us; 781us; 1us; 781us; 1us; 781us; 1us; 781us; 2us; 781us; 798us; 1us; 781us; 1us; 782us; 1us; 783us; 1us; 783us; 2us; 783us; 798us; 1us; 783us; 3us; 784us; 785us; 786us; 2us; 785us; 786us; 1us; 786us; 2us; 786us; 798us; 1us; 786us; 1us; 787us; 1us; 787us; 2us; 787us; 798us; 1us; 787us; 2us; 788us; 789us; 1us; 788us; 1us; 788us; 1us; 789us; 2us; 789us; 798us; 1us; 789us; 1us; 789us; 1us; 790us; 2us; 790us; 798us; 2us; 792us; 795us; 2us; 793us; 794us; 1us; 794us; 1us; 795us; 3us; 796us; 946us; 947us; 1us; 797us; 1us; 798us; 5us; 800us; 801us; 802us; 803us; 804us; 3us; 800us; 801us; 802us; 1us; 800us; 1us; 802us; 1us; 804us; 2us; 805us; 806us; 1us; 805us; 1us; 805us; 1us; 805us; 1us; 806us; 1us; 806us; 1us; 808us; 1us; 811us; 2us; 813us; 815us; 1us; 813us; 1us; 814us; 1us; 814us; 1us; 814us; 1us; 815us; 1us; 815us; 1us; 816us; 1us; 816us; 1us; 818us; 1us; 818us; 1us; 819us; 1us; 819us; 1us; 820us; 4us; 820us; 870us; 871us; 872us; 1us; 820us; 1us; 820us; 1us; 820us; 1us; 821us; 1us; 821us; 1us; 822us; 5us; 823us; 824us; 825us; 826us; 827us; 2us; 823us; 824us; 1us; 823us; 1us; 824us; 1us; 825us; 1us; 826us; 1us; 827us; 2us; 828us; 829us; 2us; 828us; 829us; 2us; 828us; 829us; 1us; 828us; 1us; 829us; 6us; 830us; 831us; 832us; 833us; 834us; 835us; 5us; 830us; 831us; 832us; 833us; 834us; 4us; 830us; 831us; 832us; 833us; 2us; 830us; 831us; 1us; 830us; 1us; 831us; 1us; 832us; 1us; 832us; 1us; 833us; 1us; 834us; 1us; 834us; 1us; 835us; 1us; 835us; 1us; 836us; 1us; 836us; 1us; 837us; 1us; 837us; 1us; 837us; 2us; 838us; 839us; 1us; 839us; 2us; 840us; 841us; 1us; 841us; 1us; 843us; 1us; 843us; 2us; 844us; 845us; 1us; 844us; 1us; 844us; 2us; 846us; 847us; 1us; 846us; 1us; 846us; 2us; 848us; 849us; 1us; 848us; 1us; 848us; 3us; 850us; 851us; 852us; 5us; 850us; 852us; 870us; 871us; 872us; 1us; 850us; 4us; 850us; 870us; 871us; 872us; 1us; 851us; 1us; 851us; 1us; 851us; 4us; 851us; 870us; 871us; 872us; 5us; 853us; 855us; 870us; 871us; 872us; 1us; 853us; 4us; 853us; 870us; 871us; 872us; 1us; 854us; 1us; 854us; 1us; 854us; 4us; 854us; 870us; 871us; 872us; 2us; 856us; 857us; 1us; 856us; 1us; 856us; 1us; 858us; 1us; 858us; 6us; 859us; 861us; 862us; 870us; 871us; 872us; 1us; 859us; 1us; 859us; 1us; 860us; 1us; 860us; 1us; 861us; 1us; 861us; 6us; 863us; 864us; 865us; 870us; 871us; 872us; 1us; 863us; 1us; 863us; 1us; 864us; 1us; 864us; 3us; 866us; 946us; 947us; 1us; 867us; 2us; 867us; 875us; 2us; 868us; 869us; 4us; 868us; 869us; 907us; 910us; 1us; 868us; 1us; 868us; 7us; 870us; 871us; 872us; 896us; 897us; 898us; 899us; 1us; 870us; 1us; 871us; 1us; 871us; 1us; 872us; 4us; 873us; 894us; 895us; 906us; 1us; 873us; 1us; 873us; 1us; 873us; 1us; 874us; 1us; 875us; 1us; 875us; 2us; 876us; 893us; 1us; 876us; 1us; 876us; 4us; 877us; 878us; 879us; 880us; 1us; 877us; 3us; 878us; 879us; 880us; 1us; 878us; 2us; 879us; 880us; 1us; 879us; 1us; 880us; 1us; 880us; 1us; 881us; 1us; 881us; 1us; 881us; 3us; 881us; 882us; 883us; 4us; 882us; 883us; 913us; 914us; 2us; 882us; 883us; 1us; 882us; 1us; 883us; 2us; 885us; 886us; 1us; 886us; 1us; 886us; 4us; 887us; 894us; 895us; 906us; 1us; 887us; 1us; 887us; 1us; 887us; 3us; 888us; 908us; 909us; 3us; 889us; 908us; 909us; 1us; 890us; 1us; 891us; 3us; 891us; 908us; 909us; 1us; 892us; 1us; 893us; 3us; 894us; 895us; 906us; 2us; 894us; 895us; 5us; 894us; 895us; 920us; 921us; 922us; 1us; 894us; 1us; 895us; 5us; 896us; 897us; 898us; 899us; 900us; 5us; 896us; 897us; 898us; 899us; 900us; 3us; 896us; 897us; 898us; 2us; 896us; 897us; 1us; 896us; 1us; 897us; 1us; 898us; 1us; 899us; 1us; 900us; 1us; 901us; 1us; 902us; 1us; 903us; 1us; 904us; 1us; 905us; 1us; 906us; 1us; 906us; 1us; 907us; 2us; 908us; 909us; 4us; 908us; 909us; 946us; 947us; 1us; 909us; 1us; 910us; 1us; 910us; 1us; 911us; 1us; 912us; 1us; 912us; 7us; 913us; 914us; 915us; 916us; 917us; 918us; 919us; 3us; 913us; 914us; 915us; 3us; 913us; 914us; 915us; 2us; 913us; 914us; 1us; 913us; 1us; 914us; 1us; 915us; 3us; 916us; 917us; 923us; 1us; 916us; 1us; 917us; 1us; 918us; 1us; 919us; 3us; 920us; 921us; 922us; 2us; 921us; 922us; 1us; 921us; 1us; 923us; 1us; 924us; 2us; 926us; 927us; 3us; 926us; 937us; 938us; 1us; 926us; 1us; 927us; 1us; 927us; 3us; 928us; 946us; 947us; 1us; 929us; 1us; 930us; 3us; 930us; 937us; 938us; 1us; 930us; 2us; 931us; 932us; 1us; 932us; 1us; 932us; 1us; 933us; 2us; 934us; 935us; 1us; 935us; 1us; 936us; 3us; 937us; 937us; 938us; 3us; 937us; 938us; 938us; 3us; 937us; 938us; 939us; 1us; 937us; 1us; 938us; 1us; 939us; 1us; 940us; 1us; 940us; 1us; 941us; 1us; 942us; 2us; 942us; 956us; 1us; 942us; 1us; 943us; 1us; 944us; 1us; 945us; 2us; 946us; 947us; 1us; 946us; 1us; 947us; 4us; 948us; 949us; 951us; 952us; 1us; 948us; 1us; 948us; 1us; 949us; 1us; 949us; 1us; 950us; 3us; 951us; 952us; 981us; 3us; 951us; 952us; 981us; 1us; 951us; 1us; 952us; 1us; 952us; 1us; 952us; 1us; 953us; 1us; 954us; 1us; 955us; 1us; 956us; 1us; 957us; 1us; 958us; 1us; 959us; 1us; 960us; 1us; 961us; 1us; 962us; 1us; 963us; 1us; 964us; 1us; 965us; 1us; 966us; 1us; 967us; 1us; 968us; 1us; 969us; 1us; 970us; 1us; 971us; 1us; 972us; 1us; 973us; 1us; 974us; 1us; 975us; 2us; 976us; 977us; 1us; 977us; 1us; 978us; 1us; 978us; 1us; 979us; 1us; 980us; 1us; 980us; 1us; 981us; 1us; 982us; 1us; 983us; 3us; 984us; 986us; 987us; 1us; 985us; 2us; 986us; 987us; 1us; 986us; 1us; 987us; 1us; 988us; 1us; 989us; 1us; 990us; 1us; 991us; 2us; 992us; 993us; 1us; 993us; 1us; 994us; 1us; 994us; 2us; 996us; 998us; 2us; 997us; 999us; 1us; 998us; 1us; 999us; 1us; 1000us; 1us; 1001us; 1us; 1002us; 1us; 1003us; 1us; 1004us; 1us; 1005us; 1us; 1007us; 1us; 1009us; 1us; 1011us; 1us; 1013us; 1us; 1015us; 1us; 1019us; 1us; 1021us; 1us; 1023us; 1us; 1024us; 1us; 1025us; 1us; 1026us; 1us; 1027us; 1us; 1028us; 1us; 1029us; 1us; 1030us; 1us; 1031us; 1us; 1032us; 1us; 1033us; 1us; 1034us; 1us; 1035us; 1us; 1036us; 1us; 1038us; 1us; 1040us; 2us; 1040us; 1061us; 1us; 1040us; 1us; 1041us; 1us; 1042us; 1us; 1043us; 2us; 1043us; 1062us; 1us; 1043us; 1us; 1044us; 1us; 1045us; 1us; 1046us; 1us; 1046us; 1us; 1047us; 1us; 1048us; 1us; 1049us; 1us; 1050us; 1us; 1050us; 1us; 1051us; 1us; 1052us; 1us; 1053us; 1us; 1053us; 1us; 1054us; 1us; 1055us; 1us; 1056us; 1us; 1057us; 1us; 1058us; 1us; 1059us; 1us; 1060us; 1us; 1061us; 1us; 1062us; 1us; 1063us; 1us; 1064us; 1us; 1065us; 1us; 1066us; |]
+let _fsyacc_stateToProdIdxsTableRowOffsets = [|0us; 2us; 4us; 6us; 8us; 10us; 12us; 14us; 16us; 18us; 20us; 22us; 24us; 26us; 28us; 30us; 32us; 35us; 37us; 40us; 42us; 45us; 47us; 49us; 51us; 53us; 55us; 57us; 59us; 62us; 64us; 72us; 80us; 129us; 131us; 134us; 136us; 138us; 140us; 142us; 144us; 147us; 149us; 151us; 154us; 156us; 158us; 160us; 164us; 166us; 168us; 170us; 172us; 176us; 178us; 180us; 184us; 187us; 189us; 192us; 194us; 196us; 198us; 200us; 207us; 214us; 218us; 220us; 222us; 224us; 228us; 231us; 233us; 235us; 237us; 241us; 243us; 245us; 248us; 251us; 254us; 256us; 258us; 260us; 262us; 264us; 266us; 272us; 278us; 281us; 284us; 286us; 288us; 290us; 292us; 294us; 298us; 300us; 302us; 304us; 306us; 308us; 310us; 312us; 314us; 316us; 318us; 321us; 370us; 372us; 421us; 423us; 425us; 429us; 431us; 433us; 435us; 437us; 439us; 441us; 443us; 445us; 447us; 449us; 451us; 454us; 456us; 458us; 461us; 463us; 465us; 467us; 471us; 473us; 475us; 477us; 479us; 481us; 483us; 485us; 487us; 489us; 491us; 493us; 495us; 497us; 499us; 503us; 506us; 508us; 510us; 512us; 514us; 517us; 520us; 522us; 524us; 527us; 530us; 532us; 534us; 537us; 540us; 542us; 544us; 546us; 548us; 550us; 552us; 554us; 562us; 575us; 583us; 596us; 598us; 600us; 602us; 604us; 606us; 608us; 610us; 612us; 614us; 616us; 621us; 623us; 628us; 630us; 632us; 636us; 638us; 640us; 642us; 644us; 646us; 648us; 650us; 652us; 654us; 657us; 660us; 662us; 664us; 667us; 669us; 671us; 673us; 676us; 678us; 680us; 682us; 684us; 686us; 688us; 691us; 693us; 695us; 697us; 700us; 702us; 705us; 707us; 710us; 712us; 714us; 716us; 718us; 730us; 741us; 744us; 746us; 748us; 752us; 755us; 757us; 759us; 761us; 764us; 766us; 768us; 770us; 781us; 791us; 842us; 845us; 847us; 849us; 851us; 856us; 858us; 861us; 863us; 865us; 868us; 871us; 873us; 875us; 877us; 879us; 886us; 893us; 895us; 899us; 901us; 907us; 909us; 911us; 913us; 915us; 917us; 919us; 921us; 923us; 926us; 928us; 930us; 934us; 936us; 940us; 946us; 949us; 951us; 953us; 956us; 958us; 960us; 962us; 964us; 968us; 972us; 975us; 977us; 979us; 981us; 983us; 985us; 987us; 989us; 992us; 994us; 999us; 1003us; 1006us; 1008us; 1010us; 1013us; 1015us; 1017us; 1019us; 1021us; 1023us; 1026us; 1028us; 1032us; 1034us; 1036us; 1039us; 1043us; 1045us; 1047us; 1049us; 1053us; 1055us; 1057us; 1059us; 1061us; 1063us; 1065us; 1067us; 1070us; 1072us; 1074us; 1076us; 1081us; 1083us; 1085us; 1087us; 1089us; 1091us; 1093us; 1095us; 1097us; 1099us; 1101us; 1106us; 1108us; 1110us; 1112us; 1114us; 1116us; 1118us; 1120us; 1122us; 1124us; 1126us; 1131us; 1134us; 1137us; 1140us; 1143us; 1145us; 1147us; 1149us; 1151us; 1153us; 1155us; 1157us; 1159us; 1161us; 1163us; 1165us; 1169us; 1172us; 1174us; 1176us; 1179us; 1181us; 1184us; 1187us; 1189us; 1191us; 1194us; 1197us; 1199us; 1201us; 1203us; 1205us; 1207us; 1209us; 1211us; 1213us; 1215us; 1217us; 1219us; 1222us; 1225us; 1227us; 1229us; 1232us; 1234us; 1236us; 1238us; 1240us; 1242us; 1244us; 1246us; 1248us; 1251us; 1254us; 1257us; 1259us; 1261us; 1263us; 1266us; 1268us; 1280us; 1297us; 1309us; 1326us; 1328us; 1330us; 1333us; 1335us; 1337us; 1339us; 1344us; 1346us; 1348us; 1350us; 1352us; 1354us; 1356us; 1358us; 1360us; 1362us; 1364us; 1366us; 1368us; 1370us; 1372us; 1374us; 1376us; 1378us; 1380us; 1382us; 1384us; 1386us; 1388us; 1390us; 1392us; 1394us; 1396us; 1398us; 1400us; 1402us; 1404us; 1406us; 1408us; 1410us; 1412us; 1414us; 1416us; 1418us; 1420us; 1422us; 1424us; 1427us; 1429us; 1431us; 1433us; 1435us; 1437us; 1439us; 1442us; 1444us; 1446us; 1448us; 1450us; 1452us; 1454us; 1456us; 1458us; 1460us; 1462us; 1464us; 1466us; 1468us; 1470us; 1472us; 1476us; 1479us; 1481us; 1483us; 1485us; 1487us; 1489us; 1491us; 1493us; 1495us; 1497us; 1500us; 1502us; 1504us; 1507us; 1510us; 1512us; 1514us; 1516us; 1519us; 1522us; 1524us; 1529us; 1535us; 1539us; 1541us; 1543us; 1545us; 1547us; 1549us; 1551us; 1553us; 1555us; 1557us; 1559us; 1565us; 1571us; 1576us; 1578us; 1580us; 1582us; 1584us; 1586us; 1588us; 1594us; 1596us; 1598us; 1602us; 1605us; 1607us; 1609us; 1611us; 1613us; 1620us; 1622us; 1624us; 1628us; 1631us; 1633us; 1635us; 1637us; 1639us; 1642us; 1645us; 1647us; 1649us; 1651us; 1653us; 1655us; 1657us; 1661us; 1666us; 1668us; 1672us; 1674us; 1676us; 1678us; 1681us; 1683us; 1686us; 1690us; 1692us; 1695us; 1697us; 1699us; 1701us; 1703us; 1705us; 1707us; 1709us; 1711us; 1713us; 1715us; 1717us; 1719us; 1721us; 1723us; 1725us; 1728us; 1730us; 1733us; 1736us; 1739us; 1741us; 1743us; 1745us; 1747us; 1749us; 1751us; 1753us; 1762us; 1764us; 1766us; 1774us; 1776us; 1780us; 1782us; 1784us; 1786us; 1788us; 1790us; 1792us; 1795us; 1797us; 1799us; 1801us; 1803us; 1805us; 1807us; 1809us; 1811us; 1813us; 1818us; 1823us; 1825us; 1827us; 1829us; 1831us; 1833us; 1836us; 1838us; 1841us; 1843us; 1845us; 1850us; 1855us; 1860us; 1862us; 1864us; 1866us; 1868us; 1870us; 1872us; 1874us; 1876us; 1878us; 1880us; 1882us; 1889us; 1891us; 1893us; 1895us; 1897us; 1899us; 1905us; 1907us; 1910us; 1913us; 1916us; 1918us; 1920us; 1922us; 1925us; 1927us; 1929us; 1932us; 1934us; 1939us; 1944us; 1946us; 1948us; 1951us; 1954us; 1956us; 1958us; 1960us; 1962us; 1964us; 1966us; 1968us; 1970us; 1972us; 1974us; 1976us; 1978us; 1980us; 1982us; 1984us; 1986us; 1988us; 1991us; 1993us; 1995us; 1997us; 2001us; 2003us; 2007us; 2009us; 2011us; 2013us; 2015us; 2017us; 2019us; 2021us; 2023us; 2025us; 2027us; 2029us; 2031us; 2033us; 2035us; 2037us; 2039us; 2041us; 2043us; 2045us; 2047us; 2049us; 2051us; 2053us; 2055us; 2057us; 2059us; 2061us; 2064us; 2067us; 2069us; 2071us; 2073us; 2075us; 2078us; 2084us; 2086us; 2090us; 2095us; 2097us; 2099us; 2101us; 2103us; 2105us; 2107us; 2110us; 2112us; 2115us; 2117us; 2119us; 2121us; 2123us; 2125us; 2127us; 2129us; 2131us; 2135us; 2139us; 2143us; 2147us; 2150us; 2152us; 2154us; 2156us; 2159us; 2162us; 2164us; 2166us; 2168us; 2170us; 2173us; 2175us; 2177us; 2180us; 2182us; 2184us; 2186us; 2188us; 2190us; 2193us; 2195us; 2197us; 2199us; 2201us; 2203us; 2205us; 2207us; 2209us; 2211us; 2213us; 2215us; 2217us; 2219us; 2221us; 2223us; 2225us; 2228us; 2230us; 2232us; 2234us; 2236us; 2239us; 2241us; 2243us; 2246us; 2249us; 2251us; 2253us; 2255us; 2257us; 2259us; 2261us; 2263us; 2265us; 2267us; 2270us; 2272us; 2274us; 2281us; 2283us; 2285us; 2287us; 2290us; 2294us; 2296us; 2298us; 2300us; 2302us; 2304us; 2310us; 2313us; 2315us; 2317us; 2319us; 2322us; 2324us; 2326us; 2333us; 2340us; 2347us; 2354us; 2361us; 2368us; 2375us; 2383us; 2385us; 2387us; 2389us; 2391us; 2394us; 2397us; 2399us; 2401us; 2403us; 2405us; 2407us; 2410us; 2412us; 2415us; 2417us; 2419us; 2424us; 2426us; 2434us; 2440us; 2444us; 2446us; 2448us; 2450us; 2452us; 2454us; 2456us; 2458us; 2460us; 2470us; 2472us; 2474us; 2476us; 2481us; 2483us; 2485us; 2487us; 2489us; 2491us; 2493us; 2495us; 2497us; 2499us; 2501us; 2503us; 2505us; 2507us; 2509us; 2511us; 2513us; 2515us; 2517us; 2520us; 2522us; 2524us; 2526us; 2528us; 2530us; 2532us; 2541us; 2544us; 2546us; 2548us; 2552us; 2555us; 2557us; 2562us; 2567us; 2572us; 2574us; 2576us; 2579us; 2581us; 2583us; 2591us; 2599us; 2607us; 2615us; 2623us; 2631us; 2639us; 2646us; 2654us; 2662us; 2671us; 2686us; 2694us; 2696us; 2698us; 2700us; 2703us; 2706us; 2708us; 2710us; 2712us; 2714us; 2716us; 2718us; 2720us; 2722us; 2724us; 2727us; 2729us; 2732us; 2734us; 2738us; 2740us; 2742us; 2745us; 2747us; 2750us; 2753us; 2755us; 2757us; 2759us; 2761us; 2763us; 2765us; 2814us; 2817us; 2819us; 2822us; 2824us; 2826us; 2828us; 2830us; 2883us; 2937us; 2993us; 2996us; 2998us; 3000us; 3002us; 3004us; 3006us; 3008us; 3010us; 3016us; 3018us; 3021us; 3024us; 3027us; 3030us; 3033us; 3036us; 3039us; 3042us; 3045us; 3048us; 3052us; 3055us; 3058us; 3060us; 3063us; 3066us; 3068us; 3070us; 3075us; 3077us; 3079us; 3082us; 3084us; 3086us; 3088us; 3090us; 3092us; 3095us; 3098us; 3100us; 3102us; 3105us; 3108us; 3110us; 3112us; 3116us; 3120us; 3122us; 3124us; 3126us; 3128us; 3132us; 3182us; 3184us; 3186us; 3188us; 3190us; 3239us; 3242us; 3291us; 3293us; 3295us; 3298us; 3300us; 3307us; 3359us; 3363us; 3366us; 3368us; 3370us; 3372us; 3374us; 3376us; 3378us; 3380us; 3396us; 3403us; 3408us; 3411us; 3413us; 3415us; 3417us; 3419us; 3421us; 3427us; 3432us; 3435us; 3437us; 3439us; 3441us; 3443us; 3445us; 3447us; 3449us; 3451us; 3453us; 3455us; 3458us; 3460us; 3509us; 3511us; 3560us; 3562us; 3564us; 3566us; 3568us; 3570us; 3572us; 3575us; 3578us; 3581us; 3584us; 3587us; 3589us; 3591us; 3593us; 3595us; 3597us; 3599us; 3601us; 3603us; 3605us; 3607us; 3609us; 3611us; 3613us; 3662us; 3664us; 3666us; 3715us; 3764us; 3813us; 3862us; 3911us; 3960us; 4009us; 4058us; 4107us; 4156us; 4205us; 4254us; 4303us; 4352us; 4401us; 4450us; 4499us; 4548us; 4597us; 4646us; 4695us; 4744us; 4793us; 4842us; 4892us; 4941us; 4989us; 5038us; 5087us; 5136us; 5188us; 5240us; 5290us; 5339us; 5388us; 5390us; 5392us; 5394us; 5396us; 5398us; 5400us; 5402us; 5405us; 5407us; 5409us; 5413us; 5419us; 5422us; 5425us; 5428us; 5431us; 5434us; 5437us; 5440us; 5443us; 5446us; 5449us; 5453us; 5455us; 5458us; 5461us; 5464us; 5467us; 5470us; 5473us; 5476us; 5479us; 5482us; 5484us; 5486us; 5488us; 5490us; 5492us; 5494us; 5496us; 5498us; 5500us; 5502us; 5504us; 5506us; 5508us; 5510us; 5512us; 5514us; 5516us; 5518us; 5520us; 5522us; 5524us; 5526us; 5528us; 5530us; 5532us; 5534us; 5537us; 5540us; 5542us; 5544us; 5546us; 5549us; 5551us; 5553us; 5555us; 5557us; 5563us; 5568us; 5571us; 5573us; 5575us; 5577us; 5579us; 5581us; 5583us; 5585us; 5587us; 5589us; 5591us; 5594us; 5597us; 5600us; 5602us; 5604us; 5606us; 5609us; 5612us; 5615us; 5617us; 5619us; 5622us; 5624us; 5626us; 5629us; 5631us; 5634us; 5636us; 5638us; 5641us; 5643us; 5645us; 5648us; 5650us; 5652us; 5655us; 5657us; 5659us; 5662us; 5664us; 5666us; 5669us; 5671us; 5673us; 5676us; 5678us; 5682us; 5690us; 5693us; 5700us; 5703us; 5708us; 5710us; 5714us; 5716us; 5718us; 5720us; 5722us; 5724us; 5726us; 5729us; 5736us; 5742us; 5744us; 5751us; 5753us; 5760us; 5767us; 5774us; 5781us; 5788us; 5795us; 5797us; 5799us; 5801us; 5803us; 5805us; 5808us; 5810us; 5812us; 5814us; 5816us; 5818us; 5820us; 5823us; 5825us; 5827us; 5829us; 5831us; 5833us; 5838us; 5841us; 5843us; 5845us; 5847us; 5849us; 5853us; 5856us; 5858us; 5860us; 5862us; 5864us; 5866us; 5868us; 5875us; 5877us; 5879us; 5881us; 5883us; 5885us; 5887us; 5893us; 5895us; 5897us; 5900us; 5902us; 5904us; 5906us; 5908us; 5911us; 5913us; 5915us; 5919us; 5922us; 5924us; 5926us; 5928us; 5930us; 5932us; 5934us; 5936us; 5938us; 5940us; 5942us; 5944us; 5946us; 5948us; 5950us; 5952us; 5957us; 5960us; 5962us; 5964us; 5966us; 5968us; 5970us; 5975us; 5981us; 5984us; 5986us; 5988us; 5990us; 5992us; 5997us; 6000us; 6002us; 6004us; 6006us; 6008us; 6018us; 6033us; 6047us; 6049us; 6052us; 6054us; 6056us; 6058us; 6061us; 6063us; 6065us; 6067us; 6069us; 6071us; 6073us; 6075us; 6077us; 6079us; 6081us; 6083us; 6085us; 6087us; 6089us; 6092us; 6095us; 6097us; 6099us; 6101us; 6107us; 6110us; 6112us; 6114us; 6116us; 6118us; 6120us; 6122us; 6124us; 6126us; 6128us; 6130us; 6132us; 6136us; 6138us; 6140us; 6142us; 6144us; 6148us; 6150us; 6152us; 6154us; 6157us; 6159us; 6161us; 6163us; 6165us; 6167us; 6169us; 6171us; 6174us; 6176us; 6178us; 6180us; 6182us; 6184us; 6186us; 6188us; 6190us; 6193us; 6195us; 6201us; 6203us; 6205us; 6207us; 6209us; 6211us; 6214us; 6216us; 6218us; 6220us; 6222us; 6225us; 6227us; 6231us; 6234us; 6236us; 6239us; 6241us; 6243us; 6245us; 6248us; 6250us; 6253us; 6255us; 6257us; 6259us; 6262us; 6264us; 6266us; 6268us; 6271us; 6274us; 6277us; 6279us; 6281us; 6285us; 6287us; 6289us; 6295us; 6299us; 6301us; 6303us; 6305us; 6308us; 6310us; 6312us; 6314us; 6316us; 6318us; 6320us; 6322us; 6325us; 6327us; 6329us; 6331us; 6333us; 6335us; 6337us; 6339us; 6341us; 6343us; 6345us; 6347us; 6349us; 6351us; 6356us; 6358us; 6360us; 6362us; 6364us; 6366us; 6368us; 6374us; 6377us; 6379us; 6381us; 6383us; 6385us; 6387us; 6390us; 6393us; 6396us; 6398us; 6400us; 6407us; 6413us; 6418us; 6421us; 6423us; 6425us; 6427us; 6429us; 6431us; 6433us; 6435us; 6437us; 6439us; 6441us; 6443us; 6445us; 6447us; 6449us; 6452us; 6454us; 6457us; 6459us; 6461us; 6463us; 6466us; 6468us; 6470us; 6473us; 6475us; 6477us; 6480us; 6482us; 6484us; 6488us; 6494us; 6496us; 6501us; 6503us; 6505us; 6507us; 6512us; 6518us; 6520us; 6525us; 6527us; 6529us; 6531us; 6536us; 6539us; 6541us; 6543us; 6545us; 6547us; 6554us; 6556us; 6558us; 6560us; 6562us; 6564us; 6566us; 6573us; 6575us; 6577us; 6579us; 6581us; 6585us; 6587us; 6590us; 6593us; 6598us; 6600us; 6602us; 6610us; 6612us; 6614us; 6616us; 6618us; 6623us; 6625us; 6627us; 6629us; 6631us; 6633us; 6635us; 6638us; 6640us; 6642us; 6647us; 6649us; 6653us; 6655us; 6658us; 6660us; 6662us; 6664us; 6666us; 6668us; 6670us; 6674us; 6679us; 6682us; 6684us; 6686us; 6689us; 6691us; 6693us; 6698us; 6700us; 6702us; 6704us; 6708us; 6712us; 6714us; 6716us; 6720us; 6722us; 6724us; 6728us; 6731us; 6737us; 6739us; 6741us; 6747us; 6753us; 6757us; 6760us; 6762us; 6764us; 6766us; 6768us; 6770us; 6772us; 6774us; 6776us; 6778us; 6780us; 6782us; 6784us; 6786us; 6789us; 6794us; 6796us; 6798us; 6800us; 6802us; 6804us; 6806us; 6814us; 6818us; 6822us; 6825us; 6827us; 6829us; 6831us; 6835us; 6837us; 6839us; 6841us; 6843us; 6847us; 6850us; 6852us; 6854us; 6856us; 6859us; 6863us; 6865us; 6867us; 6869us; 6873us; 6875us; 6877us; 6881us; 6883us; 6886us; 6888us; 6890us; 6892us; 6895us; 6897us; 6899us; 6903us; 6907us; 6911us; 6913us; 6915us; 6917us; 6919us; 6921us; 6923us; 6925us; 6928us; 6930us; 6932us; 6934us; 6936us; 6939us; 6941us; 6943us; 6948us; 6950us; 6952us; 6954us; 6956us; 6958us; 6962us; 6966us; 6968us; 6970us; 6972us; 6974us; 6976us; 6978us; 6980us; 6982us; 6984us; 6986us; 6988us; 6990us; 6992us; 6994us; 6996us; 6998us; 7000us; 7002us; 7004us; 7006us; 7008us; 7010us; 7012us; 7014us; 7016us; 7018us; 7020us; 7023us; 7025us; 7027us; 7029us; 7031us; 7033us; 7035us; 7037us; 7039us; 7041us; 7045us; 7047us; 7050us; 7052us; 7054us; 7056us; 7058us; 7060us; 7062us; 7065us; 7067us; 7069us; 7071us; 7074us; 7077us; 7079us; 7081us; 7083us; 7085us; 7087us; 7089us; 7091us; 7093us; 7095us; 7097us; 7099us; 7101us; 7103us; 7105us; 7107us; 7109us; 7111us; 7113us; 7115us; 7117us; 7119us; 7121us; 7123us; 7125us; 7127us; 7129us; 7131us; 7133us; 7135us; 7137us; 7139us; 7142us; 7144us; 7146us; 7148us; 7150us; 7153us; 7155us; 7157us; 7159us; 7161us; 7163us; 7165us; 7167us; 7169us; 7171us; 7173us; 7175us; 7177us; 7179us; 7181us; 7183us; 7185us; 7187us; 7189us; 7191us; 7193us; 7195us; 7197us; 7199us; 7201us; 7203us; 7205us; |]
+let _fsyacc_action_rows = 1839
+let _fsyacc_actionTableElements = [|16us; 16431us; 22us; 69us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 73us; 299us; 88us; 38us; 101us; 94us; 108us; 16542us; 109us; 16542us; 121us; 16542us; 150us; 16542us; 195us; 47us; 0us; 49152us; 86us; 16507us; 13us; 16542us; 22us; 231us; 24us; 16542us; 25us; 16542us; 29us; 16542us; 30us; 16542us; 31us; 16542us; 32us; 16542us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 40us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 45us; 16542us; 55us; 16542us; 62us; 16542us; 70us; 16542us; 71us; 16542us; 72us; 16542us; 73us; 299us; 74us; 16542us; 75us; 16542us; 86us; 16542us; 88us; 38us; 89us; 16542us; 90us; 16542us; 92us; 16542us; 98us; 16542us; 100us; 16542us; 101us; 693us; 106us; 16542us; 107us; 16542us; 108us; 16542us; 114us; 16542us; 115us; 16542us; 116us; 16542us; 117us; 16542us; 119us; 16542us; 121us; 16542us; 122us; 16542us; 123us; 16542us; 124us; 16542us; 125us; 16542us; 126us; 16542us; 130us; 16542us; 133us; 16542us; 134us; 16542us; 136us; 16542us; 137us; 16542us; 146us; 16542us; 147us; 16542us; 148us; 16542us; 150us; 16542us; 154us; 16542us; 155us; 16542us; 158us; 16542us; 159us; 16542us; 162us; 16542us; 163us; 16542us; 164us; 16542us; 165us; 16542us; 166us; 16542us; 167us; 16542us; 168us; 16542us; 169us; 16542us; 170us; 16542us; 171us; 16542us; 172us; 16542us; 173us; 16542us; 174us; 16542us; 175us; 16542us; 176us; 16542us; 177us; 16542us; 179us; 16542us; 180us; 16542us; 182us; 16542us; 183us; 16542us; 186us; 16542us; 191us; 16542us; 192us; 16542us; 193us; 16542us; 194us; 16542us; 195us; 217us; 0us; 49152us; 7us; 16542us; 10us; 14us; 21us; 12us; 67us; 13us; 73us; 299us; 84us; 11us; 88us; 38us; 101us; 693us; 0us; 49152us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 49152us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 49152us; 0us; 16389us; 0us; 16390us; 0us; 16391us; 0us; 16392us; 0us; 16393us; 0us; 16394us; 4us; 32768us; 10us; 14us; 21us; 37us; 67us; 13us; 84us; 36us; 0us; 16395us; 4us; 32768us; 10us; 14us; 21us; 37us; 67us; 13us; 84us; 36us; 0us; 16396us; 4us; 32768us; 10us; 14us; 21us; 37us; 67us; 13us; 84us; 36us; 0us; 16397us; 5us; 16542us; 10us; 14us; 67us; 13us; 73us; 299us; 88us; 38us; 101us; 693us; 0us; 16398us; 5us; 16542us; 10us; 14us; 67us; 13us; 73us; 299us; 88us; 38us; 101us; 693us; 0us; 16399us; 5us; 16542us; 10us; 14us; 67us; 13us; 73us; 299us; 88us; 38us; 101us; 693us; 0us; 16400us; 16us; 16401us; 32us; 16542us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 40us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 73us; 299us; 101us; 693us; 108us; 16542us; 121us; 16542us; 137us; 16542us; 150us; 16542us; 162us; 16542us; 0us; 16402us; 3us; 16624us; 42us; 479us; 43us; 478us; 44us; 480us; 78us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 36us; 1805us; 37us; 1808us; 38us; 1810us; 39us; 1813us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 108us; 1809us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 121us; 682us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 137us; 699us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 150us; 1814us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 25us; 16403us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 0us; 16404us; 2us; 16405us; 21us; 37us; 84us; 36us; 0us; 16406us; 0us; 16407us; 0us; 16408us; 1us; 32768us; 191us; 39us; 0us; 16410us; 2us; 16409us; 192us; 1801us; 193us; 1800us; 0us; 16411us; 0us; 16412us; 2us; 32768us; 10us; 44us; 195us; 45us; 0us; 16413us; 1us; 32768us; 10us; 46us; 0us; 16414us; 4us; 16430us; 10us; 48us; 21us; 1768us; 67us; 1767us; 84us; 1766us; 0us; 16415us; 3us; 16618us; 42us; 479us; 43us; 478us; 44us; 480us; 1us; 17400us; 103us; 1787us; 2us; 32768us; 45us; 1710us; 191us; 1709us; 1us; 16416us; 77us; 1712us; 1us; 17400us; 103us; 1787us; 2us; 32768us; 45us; 1710us; 191us; 1709us; 1us; 16417us; 77us; 1712us; 1us; 16418us; 151us; 53us; 0us; 16419us; 1us; 16421us; 151us; 53us; 0us; 16420us; 1us; 17394us; 69us; 1784us; 16us; 16431us; 22us; 69us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 73us; 299us; 88us; 38us; 101us; 94us; 108us; 16542us; 109us; 16542us; 121us; 16542us; 150us; 16542us; 195us; 77us; 0us; 16422us; 3us; 16624us; 42us; 479us; 43us; 478us; 44us; 480us; 8us; 32768us; 36us; 1805us; 37us; 1808us; 38us; 1810us; 39us; 1813us; 108us; 1809us; 109us; 96us; 121us; 682us; 150us; 1814us; 18us; 16431us; 22us; 69us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 69us; 1799us; 73us; 299us; 78us; 1798us; 88us; 38us; 101us; 94us; 108us; 16542us; 109us; 16542us; 121us; 16542us; 150us; 16542us; 195us; 77us; 0us; 16423us; 0us; 16424us; 0us; 16425us; 15us; 16431us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 73us; 299us; 88us; 38us; 101us; 94us; 108us; 16542us; 109us; 16542us; 121us; 16542us; 150us; 16542us; 195us; 74us; 5us; 32768us; 10us; 991us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 195us; 977us; 1us; 17396us; 21us; 1785us; 0us; 16426us; 0us; 16427us; 6us; 16430us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 21us; 1768us; 67us; 1767us; 84us; 1766us; 0us; 16428us; 0us; 16429us; 3us; 16430us; 21us; 1768us; 67us; 1767us; 84us; 1766us; 3us; 17379us; 21us; 1768us; 67us; 1767us; 84us; 1766us; 15us; 16434us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 73us; 299us; 88us; 38us; 101us; 94us; 108us; 16542us; 109us; 16542us; 121us; 16542us; 150us; 16542us; 195us; 81us; 0us; 16432us; 3us; 32768us; 21us; 1768us; 67us; 1767us; 84us; 1766us; 4us; 16542us; 73us; 299us; 88us; 38us; 101us; 94us; 195us; 81us; 0us; 16433us; 0us; 16435us; 0us; 16436us; 3us; 16624us; 42us; 479us; 43us; 478us; 44us; 480us; 8us; 32768us; 36us; 1805us; 37us; 1808us; 38us; 1810us; 39us; 1813us; 108us; 1809us; 109us; 96us; 121us; 682us; 150us; 1814us; 2us; 32768us; 69us; 1799us; 78us; 1798us; 5us; 32768us; 22us; 112us; 45us; 1710us; 56us; 1796us; 136us; 1797us; 191us; 1709us; 0us; 16437us; 0us; 16438us; 0us; 16439us; 0us; 16440us; 2us; 32768us; 45us; 1710us; 191us; 1709us; 1us; 16441us; 77us; 1712us; 1us; 16542us; 73us; 299us; 1us; 17404us; 110us; 1788us; 1us; 17406us; 118us; 1789us; 3us; 16618us; 42us; 479us; 43us; 478us; 44us; 480us; 3us; 32768us; 92us; 1715us; 100us; 1720us; 191us; 1709us; 2us; 16683us; 33us; 1804us; 160us; 17423us; 1us; 32768us; 78us; 103us; 33us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 73us; 299us; 75us; 1560us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 16443us; 69us; 106us; 0us; 16442us; 71us; 32768us; 13us; 1093us; 22us; 108us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 25us; 16444us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 28us; 32768us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 1us; 17392us; 19us; 1783us; 0us; 16445us; 8us; 16542us; 45us; 1710us; 56us; 1796us; 73us; 299us; 88us; 38us; 101us; 94us; 136us; 1797us; 191us; 1709us; 195us; 81us; 3us; 32768us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 0us; 16446us; 15us; 16431us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 73us; 299us; 88us; 38us; 101us; 94us; 108us; 16542us; 109us; 16542us; 121us; 16542us; 150us; 16542us; 195us; 77us; 1us; 32768us; 142us; 117us; 3us; 32768us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 0us; 16447us; 15us; 16431us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 73us; 299us; 88us; 38us; 101us; 94us; 108us; 16542us; 109us; 16542us; 121us; 16542us; 150us; 16542us; 195us; 77us; 1us; 32768us; 142us; 121us; 0us; 16448us; 1us; 16542us; 73us; 299us; 0us; 16449us; 1us; 16451us; 131us; 125us; 1us; 16542us; 73us; 299us; 0us; 16450us; 2us; 16491us; 69us; 128us; 87us; 210us; 7us; 16542us; 22us; 131us; 48us; 553us; 55us; 555us; 73us; 299us; 111us; 554us; 136us; 156us; 152us; 142us; 0us; 16452us; 0us; 16453us; 52us; 16471us; 14us; 16542us; 22us; 152us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 45us; 16542us; 46us; 16542us; 47us; 16542us; 48us; 553us; 49us; 16542us; 50us; 16542us; 51us; 16542us; 53us; 16542us; 55us; 555us; 57us; 16542us; 66us; 16542us; 72us; 16542us; 73us; 299us; 74us; 16542us; 88us; 16542us; 91us; 16542us; 92us; 16542us; 106us; 16542us; 109us; 16542us; 111us; 554us; 113us; 16542us; 119us; 16542us; 122us; 16542us; 136us; 156us; 148us; 16542us; 152us; 142us; 165us; 16542us; 166us; 16542us; 167us; 16542us; 168us; 16542us; 169us; 16542us; 170us; 16542us; 171us; 16542us; 172us; 16542us; 173us; 16542us; 174us; 16542us; 175us; 16542us; 176us; 16542us; 177us; 16542us; 179us; 16542us; 180us; 16542us; 185us; 16542us; 188us; 16542us; 191us; 16542us; 192us; 16542us; 193us; 16542us; 194us; 16542us; 1us; 17396us; 21us; 1785us; 14us; 16471us; 14us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 46us; 16542us; 47us; 16542us; 49us; 16542us; 50us; 16542us; 51us; 16542us; 53us; 16542us; 73us; 299us; 109us; 16542us; 111us; 16542us; 119us; 16542us; 1us; 16491us; 87us; 210us; 3us; 32768us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 1us; 16491us; 87us; 210us; 0us; 16454us; 1us; 16491us; 87us; 210us; 0us; 16455us; 0us; 16456us; 0us; 16457us; 1us; 32768us; 120us; 143us; 33us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 73us; 299us; 75us; 1560us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16458us; 0us; 16459us; 16us; 16471us; 14us; 16542us; 22us; 160us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 46us; 16542us; 47us; 16542us; 49us; 16542us; 50us; 16542us; 51us; 16542us; 53us; 16542us; 73us; 299us; 109us; 16542us; 111us; 16542us; 119us; 16542us; 195us; 150us; 3us; 32768us; 10us; 991us; 142us; 148us; 195us; 977us; 0us; 16460us; 0us; 16461us; 1us; 32768us; 142us; 151us; 0us; 16462us; 14us; 16471us; 14us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 46us; 16542us; 47us; 16542us; 49us; 16542us; 50us; 16542us; 51us; 16542us; 53us; 16542us; 73us; 299us; 109us; 16542us; 111us; 16542us; 119us; 16542us; 5us; 32768us; 10us; 991us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 195us; 977us; 0us; 16463us; 0us; 16464us; 15us; 16471us; 14us; 16542us; 22us; 160us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 46us; 16542us; 47us; 16542us; 49us; 16542us; 50us; 16542us; 51us; 16542us; 53us; 16542us; 73us; 299us; 109us; 16542us; 111us; 16542us; 119us; 16542us; 3us; 32768us; 10us; 991us; 142us; 158us; 195us; 977us; 0us; 16465us; 0us; 16466us; 14us; 16471us; 14us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 46us; 16542us; 47us; 16542us; 49us; 16542us; 50us; 16542us; 51us; 16542us; 53us; 16542us; 73us; 299us; 109us; 16542us; 111us; 16542us; 119us; 16542us; 5us; 32768us; 10us; 991us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 195us; 977us; 0us; 16467us; 0us; 16468us; 0us; 16469us; 0us; 16470us; 2us; 17398us; 21us; 1773us; 84us; 1774us; 14us; 16471us; 14us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 46us; 16542us; 47us; 16542us; 49us; 16542us; 50us; 16542us; 51us; 16542us; 53us; 16542us; 73us; 299us; 109us; 16542us; 111us; 16542us; 119us; 16542us; 0us; 16472us; 3us; 16624us; 42us; 479us; 43us; 478us; 44us; 480us; 3us; 16624us; 42us; 479us; 43us; 478us; 44us; 480us; 10us; 32768us; 14us; 557us; 46us; 188us; 47us; 334us; 49us; 206us; 50us; 335us; 51us; 336us; 53us; 184us; 109us; 186us; 111us; 556us; 119us; 193us; 44us; 32768us; 14us; 557us; 45us; 1710us; 46us; 188us; 47us; 334us; 49us; 206us; 50us; 335us; 51us; 336us; 53us; 184us; 55us; 541us; 57us; 628us; 66us; 1600us; 72us; 544us; 74us; 535us; 88us; 1629us; 91us; 1703us; 92us; 532us; 106us; 1651us; 109us; 186us; 111us; 556us; 113us; 1649us; 119us; 193us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 17404us; 110us; 1788us; 3us; 16618us; 42us; 479us; 43us; 478us; 44us; 480us; 3us; 32768us; 92us; 1715us; 100us; 1720us; 191us; 1709us; 2us; 16683us; 33us; 1804us; 160us; 17423us; 1us; 32768us; 78us; 178us; 33us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 73us; 299us; 75us; 1560us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 2us; 16480us; 26us; 198us; 87us; 196us; 1us; 16443us; 69us; 106us; 0us; 16473us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 6us; 16474us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 6us; 16475us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 1us; 17406us; 118us; 1789us; 0us; 16476us; 5us; 32768us; 36us; 1805us; 37us; 1808us; 47us; 333us; 108us; 1809us; 109us; 189us; 1us; 17406us; 118us; 1789us; 0us; 16477us; 1us; 16542us; 73us; 299us; 0us; 16478us; 1us; 32768us; 78us; 194us; 33us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 73us; 299us; 75us; 1560us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16479us; 3us; 32768us; 92us; 1715us; 100us; 1720us; 191us; 1709us; 0us; 16481us; 3us; 32768us; 92us; 1715us; 100us; 1720us; 191us; 1709us; 2us; 32768us; 20us; 200us; 195us; 201us; 0us; 16482us; 0us; 16483us; 1us; 16484us; 97us; 203us; 3us; 32768us; 92us; 1715us; 100us; 1720us; 191us; 1709us; 0us; 16485us; 0us; 16486us; 1us; 16487us; 47us; 207us; 0us; 16488us; 1us; 16491us; 87us; 210us; 0us; 16489us; 15us; 16471us; 14us; 16542us; 22us; 160us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 46us; 16542us; 47us; 16542us; 49us; 16542us; 50us; 16542us; 51us; 16542us; 53us; 16542us; 73us; 299us; 109us; 16542us; 111us; 16542us; 119us; 16542us; 3us; 32768us; 19us; 1777us; 20us; 1778us; 142us; 1779us; 0us; 16490us; 2us; 32768us; 10us; 214us; 195us; 215us; 0us; 16492us; 1us; 32768us; 10us; 216us; 0us; 16493us; 4us; 32768us; 10us; 218us; 21us; 1768us; 67us; 1767us; 84us; 1766us; 0us; 16494us; 1us; 16495us; 151us; 53us; 0us; 16496us; 1us; 16498us; 151us; 53us; 0us; 16497us; 1us; 17394us; 69us; 1784us; 86us; 16507us; 13us; 16542us; 22us; 231us; 24us; 16542us; 25us; 16542us; 29us; 16542us; 30us; 16542us; 31us; 16542us; 32us; 16542us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 40us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 45us; 16542us; 55us; 16542us; 62us; 16542us; 70us; 16542us; 71us; 16542us; 72us; 16542us; 73us; 299us; 74us; 16542us; 75us; 16542us; 86us; 16542us; 88us; 38us; 89us; 16542us; 90us; 16542us; 92us; 16542us; 98us; 16542us; 100us; 16542us; 101us; 693us; 106us; 16542us; 107us; 16542us; 108us; 16542us; 114us; 16542us; 115us; 16542us; 116us; 16542us; 117us; 16542us; 119us; 16542us; 121us; 16542us; 122us; 16542us; 123us; 16542us; 124us; 16542us; 125us; 16542us; 126us; 16542us; 130us; 16542us; 133us; 16542us; 134us; 16542us; 136us; 16542us; 137us; 16542us; 146us; 16542us; 147us; 16542us; 148us; 16542us; 150us; 16542us; 154us; 16542us; 155us; 16542us; 158us; 16542us; 159us; 16542us; 162us; 16542us; 163us; 16542us; 164us; 16542us; 165us; 16542us; 166us; 16542us; 167us; 16542us; 168us; 16542us; 169us; 16542us; 170us; 16542us; 171us; 16542us; 172us; 16542us; 173us; 16542us; 174us; 16542us; 175us; 16542us; 176us; 16542us; 177us; 16542us; 179us; 16542us; 180us; 16542us; 182us; 16542us; 183us; 16542us; 186us; 16542us; 191us; 16542us; 192us; 16542us; 193us; 16542us; 194us; 16542us; 195us; 251us; 0us; 16499us; 4us; 16624us; 42us; 479us; 43us; 478us; 44us; 480us; 195us; 246us; 78us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 36us; 1805us; 37us; 1808us; 38us; 1810us; 39us; 1813us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 108us; 1809us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 121us; 682us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 137us; 699us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 150us; 1814us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 87us; 16507us; 13us; 16542us; 22us; 231us; 24us; 16542us; 25us; 16542us; 29us; 16542us; 30us; 16542us; 31us; 16542us; 32us; 16542us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 40us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 45us; 16542us; 55us; 16542us; 62us; 16542us; 69us; 270us; 70us; 16542us; 71us; 16542us; 72us; 16542us; 73us; 299us; 74us; 16542us; 75us; 16542us; 86us; 16542us; 88us; 38us; 89us; 16542us; 90us; 16542us; 92us; 16542us; 98us; 16542us; 100us; 16542us; 101us; 693us; 106us; 16542us; 107us; 16542us; 108us; 16542us; 114us; 16542us; 115us; 16542us; 116us; 16542us; 117us; 16542us; 119us; 16542us; 121us; 16542us; 122us; 16542us; 123us; 16542us; 124us; 16542us; 125us; 16542us; 126us; 16542us; 130us; 16542us; 133us; 16542us; 134us; 16542us; 136us; 16542us; 137us; 16542us; 146us; 16542us; 147us; 16542us; 148us; 16542us; 150us; 16542us; 154us; 16542us; 155us; 16542us; 158us; 16542us; 159us; 16542us; 162us; 16542us; 163us; 16542us; 164us; 16542us; 165us; 16542us; 166us; 16542us; 167us; 16542us; 168us; 16542us; 169us; 16542us; 170us; 16542us; 171us; 16542us; 172us; 16542us; 173us; 16542us; 174us; 16542us; 175us; 16542us; 176us; 16542us; 177us; 16542us; 179us; 16542us; 180us; 16542us; 182us; 16542us; 183us; 16542us; 186us; 16542us; 191us; 16542us; 192us; 16542us; 193us; 16542us; 194us; 16542us; 195us; 251us; 0us; 16500us; 0us; 16501us; 85us; 16507us; 13us; 16542us; 24us; 16542us; 25us; 16542us; 29us; 16542us; 30us; 16542us; 31us; 16542us; 32us; 16542us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 40us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 45us; 16542us; 55us; 16542us; 62us; 16542us; 70us; 16542us; 71us; 16542us; 72us; 16542us; 73us; 299us; 74us; 16542us; 75us; 16542us; 86us; 16542us; 88us; 38us; 89us; 16542us; 90us; 16542us; 92us; 16542us; 98us; 16542us; 100us; 16542us; 101us; 693us; 106us; 16542us; 107us; 16542us; 108us; 16542us; 114us; 16542us; 115us; 16542us; 116us; 16542us; 117us; 16542us; 119us; 16542us; 121us; 16542us; 122us; 16542us; 123us; 16542us; 124us; 16542us; 125us; 16542us; 126us; 16542us; 130us; 16542us; 133us; 16542us; 134us; 16542us; 136us; 16542us; 137us; 16542us; 146us; 16542us; 147us; 16542us; 148us; 16542us; 150us; 16542us; 154us; 16542us; 155us; 16542us; 158us; 16542us; 159us; 16542us; 162us; 16542us; 163us; 16542us; 164us; 16542us; 165us; 16542us; 166us; 16542us; 167us; 16542us; 168us; 16542us; 169us; 16542us; 170us; 16542us; 171us; 16542us; 172us; 16542us; 173us; 16542us; 174us; 16542us; 175us; 16542us; 176us; 16542us; 177us; 16542us; 179us; 16542us; 180us; 16542us; 182us; 16542us; 183us; 16542us; 186us; 16542us; 191us; 16542us; 192us; 16542us; 193us; 16542us; 194us; 16542us; 195us; 236us; 5us; 32768us; 10us; 991us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 195us; 977us; 1us; 17396us; 21us; 1785us; 0us; 16502us; 0us; 16503us; 6us; 32768us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 21us; 1768us; 67us; 1767us; 84us; 1766us; 0us; 16504us; 0us; 16505us; 0us; 16506us; 4us; 16624us; 42us; 479us; 43us; 478us; 44us; 480us; 195us; 246us; 78us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 36us; 1805us; 37us; 1808us; 38us; 1810us; 39us; 1813us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 108us; 1809us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 121us; 682us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 137us; 699us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 150us; 1814us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 28us; 16510us; 21us; 1768us; 62us; 1161us; 63us; 1153us; 67us; 1767us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 84us; 1766us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 85us; 16509us; 13us; 16542us; 24us; 16542us; 25us; 16542us; 29us; 16542us; 30us; 16542us; 31us; 16542us; 32us; 16542us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 40us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 45us; 16542us; 55us; 16542us; 62us; 16542us; 70us; 16542us; 71us; 16542us; 72us; 16542us; 73us; 299us; 74us; 16542us; 75us; 16542us; 86us; 16542us; 88us; 38us; 89us; 16542us; 90us; 16542us; 92us; 16542us; 98us; 16542us; 100us; 16542us; 101us; 693us; 106us; 16542us; 107us; 16542us; 108us; 16542us; 114us; 16542us; 115us; 16542us; 116us; 16542us; 117us; 16542us; 119us; 16542us; 121us; 16542us; 122us; 16542us; 123us; 16542us; 124us; 16542us; 125us; 16542us; 126us; 16542us; 130us; 16542us; 133us; 16542us; 134us; 16542us; 136us; 16542us; 137us; 16542us; 146us; 16542us; 147us; 16542us; 148us; 16542us; 150us; 16542us; 154us; 16542us; 155us; 16542us; 158us; 16542us; 159us; 16542us; 162us; 16542us; 163us; 16542us; 164us; 16542us; 165us; 16542us; 166us; 16542us; 167us; 16542us; 168us; 16542us; 169us; 16542us; 170us; 16542us; 171us; 16542us; 172us; 16542us; 173us; 16542us; 174us; 16542us; 175us; 16542us; 176us; 16542us; 177us; 16542us; 179us; 16542us; 180us; 16542us; 182us; 16542us; 183us; 16542us; 186us; 16542us; 191us; 16542us; 192us; 16542us; 193us; 16542us; 194us; 16542us; 195us; 251us; 0us; 16508us; 0us; 16511us; 0us; 16512us; 21us; 16515us; 21us; 1768us; 32us; 16542us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 40us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 67us; 1767us; 73us; 299us; 84us; 1766us; 88us; 38us; 101us; 693us; 108us; 16542us; 121us; 16542us; 137us; 16542us; 150us; 16542us; 162us; 16542us; 195us; 251us; 0us; 16513us; 85us; 16516us; 13us; 16542us; 24us; 16542us; 25us; 16542us; 29us; 16542us; 30us; 16542us; 31us; 16542us; 32us; 16542us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 40us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 45us; 16542us; 55us; 16542us; 62us; 16542us; 70us; 16542us; 71us; 16542us; 72us; 16542us; 73us; 299us; 74us; 16542us; 75us; 16542us; 86us; 16542us; 88us; 38us; 89us; 16542us; 90us; 16542us; 92us; 16542us; 98us; 16542us; 100us; 16542us; 101us; 693us; 106us; 16542us; 107us; 16542us; 108us; 16542us; 114us; 16542us; 115us; 16542us; 116us; 16542us; 117us; 16542us; 119us; 16542us; 121us; 16542us; 122us; 16542us; 123us; 16542us; 124us; 16542us; 125us; 16542us; 126us; 16542us; 130us; 16542us; 133us; 16542us; 134us; 16542us; 136us; 16542us; 137us; 16542us; 146us; 16542us; 147us; 16542us; 148us; 16542us; 150us; 16542us; 154us; 16542us; 155us; 16542us; 158us; 16542us; 159us; 16542us; 162us; 16542us; 163us; 16542us; 164us; 16542us; 165us; 16542us; 166us; 16542us; 167us; 16542us; 168us; 16542us; 169us; 16542us; 170us; 16542us; 171us; 16542us; 172us; 16542us; 173us; 16542us; 174us; 16542us; 175us; 16542us; 176us; 16542us; 177us; 16542us; 179us; 16542us; 180us; 16542us; 182us; 16542us; 183us; 16542us; 186us; 16542us; 191us; 16542us; 192us; 16542us; 193us; 16542us; 194us; 16542us; 195us; 251us; 0us; 16514us; 3us; 32768us; 21us; 1768us; 67us; 1767us; 84us; 1766us; 6us; 32768us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 21us; 1768us; 67us; 1767us; 84us; 1766us; 4us; 32768us; 21us; 1768us; 67us; 1767us; 84us; 1766us; 142us; 292us; 4us; 16542us; 73us; 299us; 88us; 38us; 101us; 693us; 195us; 251us; 0us; 16517us; 0us; 16518us; 0us; 16519us; 3us; 16624us; 42us; 479us; 43us; 478us; 44us; 480us; 11us; 32768us; 32us; 701us; 36us; 1805us; 37us; 1808us; 38us; 1810us; 39us; 1813us; 40us; 714us; 108us; 1809us; 121us; 682us; 137us; 699us; 150us; 1814us; 162us; 695us; 0us; 16520us; 1us; 16520us; 127us; 993us; 0us; 16521us; 71us; 16521us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 998us; 0us; 16522us; 1us; 16542us; 73us; 299us; 1us; 16564us; 131us; 340us; 0us; 16523us; 0us; 16524us; 1us; 32768us; 69us; 270us; 5us; 32768us; 22us; 278us; 45us; 1710us; 55us; 1794us; 136us; 1795us; 191us; 1709us; 0us; 16525us; 2us; 16541us; 10us; 991us; 195us; 977us; 0us; 16526us; 0us; 16527us; 4us; 32768us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 77us; 1712us; 0us; 16528us; 1us; 16529us; 77us; 1712us; 6us; 16542us; 55us; 1794us; 73us; 299us; 88us; 38us; 101us; 693us; 136us; 1795us; 195us; 252us; 5us; 32768us; 10us; 991us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 195us; 977us; 0us; 16530us; 0us; 16531us; 5us; 32768us; 10us; 991us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 195us; 977us; 0us; 16532us; 0us; 16533us; 0us; 16534us; 0us; 16535us; 1us; 16536us; 77us; 1712us; 85us; 16507us; 13us; 16542us; 24us; 16542us; 25us; 16542us; 29us; 16542us; 30us; 16542us; 31us; 16542us; 32us; 16542us; 36us; 16542us; 37us; 16542us; 38us; 16542us; 39us; 16542us; 40us; 16542us; 42us; 16542us; 43us; 16542us; 44us; 16542us; 45us; 16542us; 55us; 16542us; 62us; 16542us; 70us; 16542us; 71us; 16542us; 72us; 16542us; 73us; 299us; 74us; 16542us; 75us; 16542us; 86us; 16542us; 88us; 38us; 89us; 16542us; 90us; 16542us; 92us; 16542us; 98us; 16542us; 100us; 16542us; 101us; 693us; 106us; 16542us; 107us; 16542us; 108us; 16542us; 114us; 16542us; 115us; 16542us; 116us; 16542us; 117us; 16542us; 119us; 16542us; 121us; 16542us; 122us; 16542us; 123us; 16542us; 124us; 16542us; 125us; 16542us; 126us; 16542us; 130us; 16542us; 133us; 16542us; 134us; 16542us; 136us; 16542us; 137us; 16542us; 146us; 16542us; 147us; 16542us; 148us; 16542us; 150us; 16542us; 154us; 16542us; 155us; 16542us; 158us; 16542us; 159us; 16542us; 162us; 16542us; 163us; 16542us; 164us; 16542us; 165us; 16542us; 166us; 16542us; 167us; 16542us; 168us; 16542us; 169us; 16542us; 170us; 16542us; 171us; 16542us; 172us; 16542us; 173us; 16542us; 174us; 16542us; 175us; 16542us; 176us; 16542us; 177us; 16542us; 179us; 16542us; 180us; 16542us; 182us; 16542us; 183us; 16542us; 186us; 16542us; 191us; 16542us; 192us; 16542us; 193us; 16542us; 194us; 16542us; 195us; 253us; 3us; 32768us; 10us; 991us; 142us; 290us; 195us; 977us; 0us; 16537us; 0us; 16538us; 0us; 16539us; 6us; 16542us; 19us; 16586us; 20us; 16586us; 22us; 380us; 73us; 299us; 142us; 16586us; 195us; 386us; 3us; 32768us; 19us; 1777us; 20us; 1778us; 142us; 1779us; 0us; 16540us; 0us; 16541us; 1us; 16543us; 73us; 299us; 0us; 16544us; 14us; 32768us; 10us; 991us; 16us; 1837us; 36us; 1806us; 37us; 1808us; 38us; 1811us; 39us; 1813us; 45us; 1710us; 60us; 1835us; 94us; 1836us; 108us; 1809us; 150us; 1814us; 163us; 330us; 191us; 1709us; 195us; 304us; 2us; 17398us; 21us; 1773us; 84us; 1774us; 8us; 32768us; 10us; 991us; 16us; 1837us; 36us; 1833us; 38us; 1834us; 54us; 302us; 60us; 1835us; 94us; 1836us; 195us; 977us; 1us; 17396us; 21us; 1785us; 0us; 16545us; 1us; 16903us; 54us; 305us; 1us; 17396us; 21us; 1785us; 0us; 16546us; 0us; 16547us; 0us; 16548us; 0us; 16549us; 9us; 17397us; 36us; 1805us; 37us; 1808us; 38us; 1810us; 39us; 1813us; 45us; 1710us; 108us; 1809us; 150us; 1814us; 163us; 330us; 191us; 1709us; 0us; 16550us; 3us; 17421us; 34us; 1803us; 35us; 1802us; 77us; 1712us; 28us; 17158us; 55us; 1501us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 92us; 1363us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16551us; 3us; 32768us; 22us; 319us; 45us; 1710us; 191us; 1709us; 3us; 17421us; 34us; 1803us; 35us; 1802us; 77us; 1712us; 28us; 17158us; 55us; 1501us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 92us; 1363us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16552us; 2us; 32768us; 45us; 1710us; 191us; 1709us; 4us; 32768us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 77us; 1712us; 2us; 17421us; 34us; 1803us; 35us; 1802us; 28us; 17158us; 55us; 1501us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 92us; 1363us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16553us; 1us; 32768us; 78us; 325us; 0us; 16554us; 1us; 32768us; 78us; 327us; 0us; 16555us; 1us; 17329us; 78us; 329us; 0us; 16556us; 1us; 32768us; 78us; 331us; 0us; 16557us; 10us; 32768us; 30us; 705us; 32us; 701us; 36us; 1805us; 37us; 1808us; 40us; 714us; 47us; 333us; 108us; 1809us; 109us; 449us; 137us; 699us; 162us; 695us; 0us; 16558us; 0us; 16559us; 0us; 16560us; 0us; 16561us; 3us; 16618us; 42us; 479us; 43us; 478us; 44us; 480us; 1us; 16686us; 85us; 587us; 0us; 16562us; 1us; 16542us; 73us; 299us; 1us; 16564us; 131us; 340us; 0us; 16563us; 40us; 16542us; 10us; 16565us; 14us; 16565us; 15us; 16565us; 16us; 16565us; 17us; 16565us; 19us; 16565us; 20us; 16565us; 21us; 16565us; 30us; 16565us; 32us; 16565us; 36us; 16565us; 37us; 16565us; 38us; 16565us; 39us; 16565us; 40us; 16565us; 46us; 16565us; 47us; 16565us; 49us; 16565us; 50us; 16565us; 51us; 16565us; 53us; 16565us; 67us; 16565us; 69us; 344us; 73us; 299us; 84us; 16565us; 87us; 293us; 88us; 16565us; 101us; 16565us; 108us; 16565us; 109us; 16565us; 111us; 16565us; 119us; 16565us; 121us; 16565us; 131us; 16565us; 137us; 16565us; 142us; 16565us; 150us; 16565us; 151us; 16565us; 162us; 16565us; 195us; 16565us; 6us; 16542us; 22us; 354us; 48us; 553us; 55us; 555us; 73us; 299us; 111us; 554us; 152us; 366us; 0us; 16566us; 0us; 16567us; 3us; 16624us; 42us; 479us; 43us; 478us; 44us; 480us; 2us; 17421us; 34us; 1803us; 35us; 1802us; 1us; 32768us; 92us; 823us; 1us; 16633us; 132us; 496us; 1us; 32768us; 69us; 352us; 6us; 16542us; 22us; 354us; 48us; 553us; 55us; 555us; 73us; 299us; 111us; 554us; 152us; 366us; 0us; 16568us; 11us; 16542us; 10us; 16586us; 15us; 16586us; 16us; 16586us; 17us; 16586us; 22us; 376us; 48us; 553us; 55us; 555us; 73us; 299us; 111us; 554us; 152us; 366us; 195us; 386us; 1us; 17396us; 21us; 1785us; 7us; 16542us; 10us; 16586us; 15us; 16586us; 16us; 16586us; 17us; 16586us; 73us; 299us; 87us; 16586us; 195us; 386us; 1us; 16628us; 87us; 485us; 5us; 32768us; 10us; 991us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 195us; 977us; 1us; 16628us; 87us; 485us; 0us; 16569us; 0us; 16570us; 1us; 16628us; 87us; 485us; 0us; 16571us; 0us; 16572us; 0us; 16573us; 1us; 32768us; 120us; 367us; 33us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 73us; 299us; 75us; 1560us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16574us; 0us; 16575us; 5us; 16542us; 10us; 16586us; 22us; 380us; 73us; 299us; 142us; 16586us; 195us; 374us; 3us; 32768us; 10us; 991us; 142us; 372us; 195us; 977us; 0us; 16576us; 0us; 16577us; 4us; 16542us; 10us; 16586us; 73us; 299us; 142us; 375us; 195us; 386us; 0us; 16578us; 6us; 16542us; 10us; 16586us; 15us; 16586us; 16us; 16586us; 17us; 16586us; 73us; 299us; 195us; 386us; 5us; 32768us; 10us; 991us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 195us; 977us; 0us; 16579us; 0us; 16580us; 6us; 16542us; 10us; 16586us; 15us; 16586us; 16us; 16586us; 17us; 16586us; 73us; 299us; 195us; 386us; 5us; 32768us; 10us; 991us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 195us; 977us; 0us; 16581us; 0us; 16582us; 0us; 16583us; 0us; 16584us; 10us; 16542us; 10us; 16586us; 15us; 16586us; 16us; 16586us; 17us; 16586us; 19us; 16586us; 20us; 16586us; 73us; 299us; 87us; 16586us; 142us; 16586us; 195us; 386us; 0us; 16585us; 2us; 17398us; 21us; 1773us; 84us; 1774us; 10us; 16542us; 10us; 16586us; 15us; 16586us; 16us; 16586us; 17us; 16586us; 19us; 16586us; 20us; 16586us; 73us; 299us; 87us; 16586us; 142us; 16586us; 195us; 386us; 0us; 16587us; 1us; 17404us; 110us; 1788us; 0us; 16588us; 1us; 17404us; 110us; 1788us; 2us; 32768us; 20us; 395us; 195us; 396us; 0us; 16589us; 0us; 16590us; 1us; 16591us; 131us; 398us; 1us; 17404us; 110us; 1788us; 0us; 16592us; 1us; 16542us; 73us; 299us; 36us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 17226us; 78us; 1538us; 1us; 32768us; 69us; 404us; 71us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16593us; 36us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 17226us; 78us; 1538us; 3us; 32768us; 26us; 393us; 69us; 409us; 87us; 391us; 71us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16594us; 0us; 16595us; 1us; 16596us; 47us; 413us; 0us; 16597us; 3us; 16624us; 42us; 479us; 43us; 478us; 44us; 480us; 3us; 16624us; 42us; 479us; 43us; 478us; 44us; 480us; 15us; 32768us; 14us; 557us; 30us; 705us; 32us; 701us; 40us; 714us; 46us; 332us; 47us; 334us; 49us; 412us; 50us; 335us; 51us; 336us; 53us; 488us; 109us; 449us; 111us; 556us; 119us; 441us; 137us; 699us; 162us; 695us; 49us; 32768us; 14us; 557us; 30us; 705us; 32us; 701us; 40us; 714us; 45us; 1710us; 46us; 332us; 47us; 334us; 49us; 412us; 50us; 335us; 51us; 336us; 53us; 488us; 55us; 541us; 57us; 628us; 66us; 1600us; 72us; 544us; 74us; 535us; 88us; 1629us; 91us; 1703us; 92us; 532us; 106us; 1651us; 109us; 449us; 111us; 556us; 113us; 1649us; 119us; 441us; 122us; 1650us; 137us; 699us; 148us; 1648us; 162us; 695us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16598us; 0us; 16599us; 2us; 17404us; 109us; 455us; 110us; 1788us; 1us; 17392us; 19us; 1783us; 0us; 16600us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 7us; 16626us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 87us; 482us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 0us; 16601us; 1us; 17404us; 110us; 1788us; 3us; 32768us; 92us; 1715us; 100us; 1720us; 191us; 1709us; 2us; 16683us; 33us; 1804us; 160us; 17423us; 1us; 32768us; 78us; 430us; 33us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 73us; 299us; 75us; 1560us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 2us; 16480us; 26us; 198us; 87us; 196us; 1us; 17392us; 19us; 1783us; 0us; 16602us; 0us; 16603us; 1us; 17392us; 19us; 1783us; 0us; 16604us; 1us; 17392us; 19us; 1783us; 0us; 16605us; 1us; 17392us; 19us; 1783us; 0us; 16606us; 35us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 16633us; 132us; 496us; 1us; 32768us; 69us; 444us; 71us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 17392us; 19us; 1783us; 0us; 16607us; 1us; 16542us; 73us; 299us; 0us; 16608us; 1us; 17406us; 118us; 1789us; 3us; 16618us; 42us; 479us; 43us; 478us; 44us; 480us; 1us; 32768us; 191us; 1709us; 1us; 32768us; 78us; 453us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16609us; 1us; 17406us; 118us; 1789us; 3us; 16618us; 42us; 479us; 43us; 478us; 44us; 480us; 1us; 32768us; 191us; 1709us; 1us; 16611us; 78us; 463us; 1us; 32768us; 69us; 460us; 71us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 2us; 16480us; 26us; 198us; 87us; 196us; 0us; 16610us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16612us; 1us; 16852us; 77us; 466us; 3us; 32768us; 92us; 1715us; 100us; 1720us; 191us; 1709us; 0us; 16613us; 1us; 32768us; 77us; 469us; 3us; 32768us; 92us; 1715us; 100us; 1720us; 191us; 1709us; 0us; 16614us; 0us; 16615us; 4us; 32768us; 66us; 473us; 92us; 1715us; 100us; 1720us; 191us; 1709us; 1us; 32768us; 77us; 474us; 3us; 32768us; 92us; 1715us; 100us; 1720us; 191us; 1709us; 0us; 16616us; 0us; 16617us; 0us; 16619us; 0us; 16620us; 0us; 16621us; 0us; 16622us; 0us; 16623us; 2us; 16542us; 22us; 502us; 73us; 299us; 3us; 32768us; 19us; 1777us; 20us; 1778us; 142us; 1779us; 0us; 16625us; 6us; 16542us; 19us; 16586us; 20us; 16586us; 22us; 380us; 73us; 299us; 142us; 16586us; 195us; 386us; 3us; 32768us; 19us; 1777us; 20us; 1778us; 142us; 1779us; 0us; 16627us; 37us; 32768us; 10us; 991us; 16us; 1837us; 36us; 1833us; 38us; 1834us; 45us; 1710us; 55us; 1638us; 60us; 1835us; 66us; 1632us; 88us; 1629us; 91us; 1703us; 92us; 1622us; 94us; 1836us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 977us; 31us; 16636us; 34us; 1803us; 35us; 1802us; 55us; 17421us; 71us; 17421us; 72us; 17421us; 74us; 17421us; 92us; 17421us; 106us; 17421us; 122us; 17421us; 132us; 499us; 136us; 17421us; 148us; 17421us; 155us; 17421us; 165us; 17421us; 166us; 17421us; 167us; 17421us; 168us; 17421us; 169us; 17421us; 170us; 17421us; 171us; 17421us; 172us; 17421us; 173us; 17421us; 174us; 17421us; 175us; 17421us; 176us; 17421us; 177us; 17421us; 179us; 17421us; 180us; 17421us; 192us; 17421us; 193us; 17421us; 194us; 17421us; 0us; 16629us; 28us; 32768us; 55us; 1501us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 92us; 1363us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 16636us; 132us; 499us; 0us; 16630us; 0us; 16631us; 0us; 16632us; 1us; 32768us; 191us; 1709us; 0us; 16634us; 0us; 16635us; 2us; 32768us; 154us; 501us; 191us; 1709us; 0us; 16637us; 0us; 16638us; 1us; 16542us; 73us; 299us; 5us; 32768us; 10us; 991us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 195us; 977us; 0us; 16639us; 0us; 16640us; 0us; 16641us; 2us; 17398us; 21us; 1773us; 84us; 1774us; 14us; 16542us; 10us; 16643us; 14us; 16643us; 15us; 16643us; 16us; 16643us; 17us; 16643us; 19us; 16643us; 20us; 16643us; 21us; 16643us; 59us; 16643us; 60us; 16643us; 61us; 16643us; 73us; 299us; 111us; 16643us; 142us; 16643us; 0us; 16642us; 3us; 32768us; 47us; 521us; 50us; 522us; 195us; 518us; 4us; 17404us; 47us; 521us; 50us; 522us; 110us; 1788us; 195us; 518us; 3us; 17404us; 109us; 455us; 110us; 1788us; 195us; 517us; 1us; 17392us; 19us; 1783us; 0us; 16644us; 1us; 17392us; 19us; 1783us; 0us; 16645us; 0us; 16646us; 1us; 17404us; 110us; 1788us; 1us; 17392us; 19us; 1783us; 0us; 16647us; 0us; 16648us; 0us; 16649us; 3us; 16624us; 42us; 479us; 43us; 478us; 44us; 480us; 34us; 32768us; 45us; 1710us; 55us; 541us; 57us; 628us; 66us; 1600us; 72us; 544us; 74us; 535us; 88us; 1629us; 91us; 1703us; 92us; 532us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 2us; 17250us; 77us; 1712us; 155us; 526us; 1us; 32768us; 193us; 527us; 2us; 32768us; 10us; 991us; 195us; 977us; 0us; 16650us; 0us; 16651us; 0us; 16652us; 0us; 16653us; 33us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 550us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1652us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 16654us; 2us; 16542us; 73us; 299us; 195us; 539us; 5us; 32768us; 10us; 991us; 59us; 1818us; 60us; 1815us; 61us; 1817us; 195us; 977us; 0us; 16655us; 0us; 16656us; 3us; 32768us; 59us; 1818us; 60us; 1815us; 61us; 1817us; 0us; 16657us; 2us; 32768us; 72us; 544us; 92us; 1639us; 0us; 16658us; 0us; 16659us; 2us; 16542us; 73us; 299us; 195us; 548us; 3us; 32768us; 10us; 991us; 65us; 1819us; 195us; 977us; 0us; 16660us; 0us; 16661us; 1us; 32768us; 65us; 1819us; 0us; 16662us; 30us; 32768us; 45us; 1710us; 55us; 1638us; 66us; 1632us; 88us; 1629us; 91us; 1703us; 92us; 1633us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 16798us; 88us; 552us; 0us; 16663us; 0us; 16664us; 0us; 16665us; 0us; 16666us; 0us; 16667us; 0us; 16668us; 5us; 32768us; 45us; 1710us; 91us; 1703us; 92us; 564us; 188us; 1706us; 191us; 1709us; 3us; 16669us; 33us; 1804us; 77us; 1712us; 160us; 17423us; 2us; 32768us; 45us; 1710us; 191us; 1709us; 1us; 16670us; 77us; 1712us; 0us; 16671us; 0us; 16672us; 1us; 16542us; 73us; 299us; 4us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 97us; 569us; 0us; 16673us; 2us; 16686us; 85us; 587us; 97us; 569us; 1us; 16679us; 97us; 570us; 1us; 16542us; 73us; 299us; 2us; 16542us; 73us; 299us; 143us; 579us; 0us; 16674us; 0us; 16675us; 2us; 32768us; 91us; 1703us; 188us; 1706us; 0us; 16676us; 1us; 32768us; 160us; 576us; 1us; 16542us; 73us; 299us; 1us; 32768us; 161us; 578us; 0us; 16677us; 0us; 16678us; 1us; 32768us; 160us; 581us; 3us; 16542us; 73us; 299us; 85us; 16680us; 161us; 16680us; 1us; 16686us; 85us; 587us; 1us; 32768us; 161us; 584us; 0us; 16681us; 0us; 16682us; 27us; 16684us; 10us; 16835us; 16us; 16835us; 21us; 16835us; 26us; 16835us; 36us; 16835us; 38us; 16835us; 57us; 16835us; 58us; 16835us; 59us; 16835us; 60us; 16835us; 61us; 16835us; 64us; 16835us; 69us; 16835us; 78us; 16835us; 79us; 16835us; 84us; 16835us; 85us; 16835us; 87us; 16835us; 89us; 16835us; 93us; 16835us; 94us; 16835us; 95us; 16835us; 97us; 16835us; 98us; 16835us; 127us; 16835us; 132us; 16835us; 195us; 16835us; 4us; 32768us; 51us; 594us; 91us; 1703us; 92us; 609us; 188us; 1706us; 1us; 16687us; 131us; 591us; 1us; 17223us; 131us; 591us; 1us; 17225us; 131us; 591us; 4us; 32768us; 51us; 594us; 91us; 1703us; 92us; 609us; 188us; 1706us; 0us; 16688us; 0us; 16689us; 2us; 32768us; 91us; 1703us; 188us; 1706us; 1us; 32768us; 78us; 596us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16690us; 2us; 32768us; 78us; 601us; 80us; 599us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16691us; 5us; 32768us; 55us; 602us; 92us; 606us; 148us; 605us; 152us; 616us; 191us; 603us; 0us; 16692us; 3us; 16699us; 33us; 1661us; 55us; 604us; 160us; 1663us; 0us; 16693us; 0us; 16694us; 1us; 16542us; 73us; 299us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 16695us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 4us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 102us; 619us; 1us; 32768us; 78us; 612us; 1us; 32768us; 92us; 613us; 1us; 16542us; 73us; 299us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 16696us; 2us; 32768us; 33us; 1661us; 160us; 1663us; 0us; 16697us; 0us; 16698us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 6us; 16700us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 6us; 16701us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 1us; 16542us; 73us; 299us; 0us; 16702us; 1us; 32768us; 57us; 628us; 1us; 16542us; 73us; 299us; 0us; 16703us; 2us; 16704us; 21us; 1785us; 57us; 17396us; 0us; 16705us; 1us; 16707us; 57us; 628us; 1us; 16542us; 73us; 299us; 0us; 16706us; 3us; 16618us; 42us; 479us; 43us; 478us; 44us; 480us; 3us; 32768us; 92us; 646us; 100us; 1720us; 191us; 1709us; 4us; 17396us; 21us; 1785us; 69us; 642us; 78us; 639us; 120us; 636us; 0us; 16708us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 74us; 535us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 17396us; 21us; 1785us; 0us; 16709us; 33us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 73us; 299us; 75us; 1560us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 17396us; 21us; 1785us; 0us; 16710us; 18us; 32768us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 17396us; 21us; 1785us; 0us; 16711us; 0us; 16712us; 29us; 32768us; 57us; 1755us; 62us; 1737us; 63us; 1735us; 69us; 1739us; 70us; 649us; 75us; 1743us; 79us; 647us; 83us; 1747us; 89us; 1744us; 90us; 1745us; 96us; 1738us; 102us; 1740us; 143us; 1750us; 145us; 1746us; 155us; 1752us; 158us; 1749us; 160us; 1741us; 161us; 1742us; 181us; 1748us; 182us; 1736us; 183us; 1733us; 184us; 1732us; 185us; 1734us; 186us; 1727us; 187us; 1731us; 188us; 1730us; 189us; 1729us; 190us; 1728us; 195us; 1718us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 16713us; 1us; 32768us; 58us; 650us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 16714us; 4us; 17329us; 21us; 1785us; 57us; 17396us; 69us; 654us; 120us; 658us; 0us; 16715us; 18us; 32768us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 17396us; 21us; 1785us; 45us; 16716us; 10us; 16719us; 14us; 16719us; 15us; 16719us; 16us; 16719us; 17us; 16719us; 19us; 16719us; 20us; 16719us; 21us; 16719us; 30us; 16719us; 32us; 16719us; 36us; 16719us; 37us; 16719us; 38us; 16719us; 39us; 16719us; 40us; 16719us; 42us; 16719us; 43us; 16719us; 44us; 16719us; 46us; 16719us; 47us; 16719us; 49us; 16719us; 50us; 16719us; 51us; 16719us; 53us; 16719us; 67us; 16719us; 73us; 16719us; 84us; 16719us; 87us; 16719us; 88us; 16719us; 93us; 16719us; 94us; 16719us; 95us; 16719us; 101us; 16719us; 108us; 16719us; 109us; 16719us; 111us; 16719us; 119us; 16719us; 121us; 16719us; 131us; 16719us; 137us; 16719us; 142us; 16719us; 150us; 16719us; 151us; 16719us; 162us; 16719us; 195us; 16719us; 0us; 16717us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 74us; 535us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16718us; 1us; 16721us; 96us; 661us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16720us; 1us; 17329us; 78us; 664us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 6us; 16722us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 6us; 16723us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 0us; 16724us; 0us; 16725us; 2us; 17398us; 21us; 1773us; 84us; 1774us; 7us; 16542us; 10us; 17397us; 59us; 17397us; 60us; 17397us; 61us; 17397us; 65us; 17397us; 73us; 299us; 195us; 17397us; 0us; 16726us; 0us; 16727us; 1us; 17406us; 118us; 1789us; 0us; 16728us; 3us; 16618us; 42us; 479us; 43us; 478us; 44us; 480us; 1us; 32768us; 191us; 1709us; 1us; 32768us; 78us; 678us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16729us; 1us; 16628us; 87us; 485us; 0us; 16730us; 0us; 16731us; 1us; 16542us; 73us; 299us; 3us; 16618us; 42us; 479us; 43us; 478us; 44us; 480us; 1us; 32768us; 191us; 1709us; 1us; 16735us; 69us; 691us; 0us; 16732us; 1us; 16733us; 120us; 689us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 74us; 535us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16734us; 2us; 32768us; 45us; 1710us; 191us; 1709us; 1us; 16736us; 77us; 1712us; 2us; 32768us; 45us; 1710us; 191us; 1709us; 1us; 16737us; 77us; 1712us; 1us; 17400us; 103us; 1787us; 2us; 16542us; 73us; 299us; 195us; 749us; 0us; 16738us; 0us; 16739us; 71us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16740us; 1us; 17400us; 103us; 1787us; 2us; 16542us; 73us; 299us; 195us; 749us; 3us; 32768us; 10us; 991us; 19us; 712us; 195us; 977us; 0us; 16741us; 71us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 3us; 32768us; 10us; 991us; 19us; 712us; 195us; 977us; 0us; 16742us; 0us; 16743us; 0us; 16744us; 0us; 16745us; 0us; 16746us; 0us; 16747us; 0us; 16748us; 1us; 16542us; 73us; 299us; 3us; 16618us; 42us; 479us; 43us; 478us; 44us; 480us; 1us; 32768us; 191us; 1709us; 2us; 17421us; 34us; 1803us; 35us; 1802us; 1us; 32768us; 92us; 719us; 4us; 16542us; 73us; 299us; 93us; 16752us; 94us; 16752us; 95us; 16752us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 16749us; 1us; 16750us; 97us; 724us; 1us; 16751us; 97us; 726us; 1us; 16542us; 73us; 299us; 0us; 16753us; 1us; 16542us; 73us; 299us; 0us; 16754us; 3us; 32768us; 41us; 738us; 45us; 1710us; 191us; 1709us; 6us; 16755us; 34us; 1803us; 35us; 1802us; 70us; 17421us; 89us; 737us; 96us; 736us; 191us; 1709us; 0us; 16756us; 1us; 16757us; 77us; 1712us; 5us; 16762us; 34us; 1803us; 35us; 1802us; 70us; 17421us; 89us; 737us; 96us; 736us; 1us; 32768us; 70us; 734us; 1us; 32768us; 58us; 735us; 0us; 16758us; 0us; 16759us; 0us; 16760us; 1us; 32768us; 96us; 740us; 1us; 16763us; 96us; 740us; 0us; 16761us; 3us; 32768us; 41us; 739us; 45us; 1710us; 191us; 1709us; 1us; 16766us; 131us; 744us; 0us; 16764us; 2us; 16542us; 73us; 299us; 195us; 749us; 1us; 16766us; 131us; 744us; 0us; 16765us; 1us; 17404us; 110us; 1788us; 0us; 16767us; 0us; 16768us; 1us; 17406us; 118us; 1789us; 36us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 17226us; 78us; 1538us; 3us; 32768us; 10us; 991us; 69us; 754us; 195us; 977us; 72us; 32768us; 13us; 1093us; 22us; 758us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 756us; 0us; 16769us; 0us; 16770us; 0us; 16771us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 5us; 32768us; 10us; 991us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 195us; 977us; 0us; 16772us; 0us; 16773us; 0us; 16774us; 0us; 16777us; 1us; 16775us; 85us; 766us; 0us; 16776us; 2us; 32768us; 91us; 1703us; 188us; 1706us; 2us; 32768us; 69us; 768us; 131us; 770us; 71us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16778us; 2us; 32768us; 91us; 1703us; 188us; 1706us; 0us; 16779us; 0us; 16780us; 2us; 32768us; 55us; 776us; 78us; 774us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16781us; 0us; 16782us; 0us; 16783us; 0us; 16784us; 0us; 16785us; 0us; 16786us; 0us; 16787us; 0us; 16788us; 0us; 16789us; 0us; 16790us; 0us; 16791us; 0us; 16792us; 0us; 16793us; 0us; 16794us; 0us; 16795us; 1us; 16795us; 143us; 879us; 0us; 16796us; 0us; 16797us; 0us; 16798us; 0us; 16799us; 1us; 16802us; 185us; 796us; 1us; 32768us; 177us; 797us; 0us; 16800us; 1us; 32768us; 177us; 799us; 1us; 16803us; 185us; 800us; 1us; 32768us; 177us; 801us; 0us; 16801us; 0us; 16804us; 2us; 32768us; 62us; 798us; 177us; 795us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 16805us; 0us; 16806us; 2us; 32768us; 92us; 803us; 177us; 802us; 0us; 16807us; 1us; 16808us; 33us; 810us; 1us; 32768us; 160us; 1680us; 0us; 16809us; 5us; 16810us; 57us; 841us; 79us; 842us; 89us; 849us; 97us; 847us; 132us; 839us; 0us; 16811us; 1us; 32768us; 191us; 1709us; 0us; 16812us; 1us; 16814us; 78us; 818us; 2us; 16815us; 78us; 818us; 97us; 821us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16813us; 3us; 32768us; 73us; 299us; 75us; 814us; 191us; 1709us; 3us; 32768us; 73us; 299us; 75us; 814us; 191us; 1709us; 0us; 16816us; 8us; 32768us; 10us; 991us; 73us; 299us; 75us; 814us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 191us; 1709us; 195us; 828us; 5us; 32768us; 10us; 991us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 195us; 977us; 0us; 16817us; 0us; 16818us; 0us; 16819us; 3us; 16903us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 16820us; 0us; 16821us; 3us; 16823us; 79us; 842us; 89us; 849us; 97us; 847us; 1us; 16824us; 79us; 842us; 2us; 16828us; 79us; 842us; 89us; 849us; 2us; 16829us; 79us; 842us; 89us; 849us; 1us; 16830us; 79us; 842us; 1us; 16831us; 79us; 842us; 6us; 32768us; 57us; 841us; 69us; 1071us; 79us; 842us; 89us; 849us; 97us; 847us; 132us; 839us; 6us; 32768us; 57us; 841us; 69us; 1077us; 79us; 842us; 89us; 849us; 97us; 847us; 132us; 839us; 1us; 32768us; 191us; 1709us; 0us; 16822us; 36us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 36us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 16825us; 97us; 846us; 0us; 16826us; 0us; 16827us; 36us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 36us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 36us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 36us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 2us; 17398us; 21us; 1773us; 84us; 1774us; 0us; 16832us; 1us; 17397us; 191us; 1709us; 0us; 16833us; 1us; 32768us; 69us; 856us; 2us; 17368us; 69us; 856us; 77us; 1762us; 37us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 6us; 16834us; 57us; 928us; 78us; 931us; 79us; 934us; 89us; 939us; 97us; 937us; 132us; 926us; 29us; 16685us; 10us; 16854us; 16us; 16854us; 21us; 16854us; 26us; 16854us; 33us; 1804us; 36us; 16854us; 38us; 16854us; 57us; 16854us; 58us; 16854us; 59us; 16854us; 60us; 16854us; 61us; 16854us; 64us; 16854us; 69us; 16854us; 78us; 16854us; 79us; 16854us; 84us; 16854us; 85us; 16854us; 87us; 16854us; 89us; 16854us; 93us; 16854us; 94us; 16854us; 95us; 16854us; 97us; 16854us; 98us; 16854us; 127us; 16854us; 132us; 16854us; 160us; 17423us; 195us; 16854us; 37us; 32768us; 34us; 861us; 35us; 863us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 92us; 868us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16836us; 35us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 92us; 868us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16837us; 35us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 92us; 868us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16838us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1632us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1633us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16839us; 0us; 16840us; 63us; 16868us; 10us; 991us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 57us; 1755us; 62us; 1737us; 63us; 1735us; 66us; 465us; 69us; 1739us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 891us; 82us; 865us; 83us; 1747us; 89us; 1744us; 90us; 1745us; 92us; 898us; 96us; 1738us; 100us; 1720us; 102us; 1740us; 106us; 896us; 122us; 895us; 143us; 1750us; 145us; 1746us; 148us; 897us; 155us; 1351us; 158us; 1749us; 160us; 1741us; 161us; 1742us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 181us; 1748us; 182us; 1736us; 183us; 1733us; 184us; 1732us; 185us; 1734us; 186us; 1727us; 187us; 1731us; 188us; 1730us; 189us; 1729us; 190us; 1728us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 902us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 16841us; 0us; 16842us; 37us; 16846us; 34us; 876us; 35us; 874us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16843us; 35us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16844us; 35us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16845us; 0us; 16847us; 1us; 32768us; 167us; 880us; 0us; 16848us; 2us; 32768us; 45us; 1710us; 191us; 1709us; 3us; 32768us; 59us; 1818us; 60us; 1815us; 61us; 1817us; 0us; 16849us; 37us; 16884us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 32768us; 58us; 886us; 0us; 16850us; 37us; 16884us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 32768us; 64us; 889us; 0us; 16851us; 1us; 32768us; 191us; 1709us; 1us; 17353us; 191us; 1709us; 0us; 16853us; 0us; 16854us; 0us; 16855us; 0us; 16856us; 0us; 16857us; 0us; 16858us; 63us; 16868us; 10us; 991us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 57us; 1755us; 62us; 1737us; 63us; 1735us; 66us; 465us; 69us; 1739us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 891us; 82us; 865us; 83us; 1747us; 89us; 1744us; 90us; 1745us; 92us; 898us; 96us; 1738us; 100us; 1720us; 102us; 1740us; 106us; 896us; 122us; 895us; 143us; 1750us; 145us; 1746us; 148us; 897us; 155us; 1351us; 158us; 1749us; 160us; 1741us; 161us; 1742us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 181us; 1748us; 182us; 1736us; 183us; 1733us; 184us; 1732us; 185us; 1734us; 186us; 1727us; 187us; 1731us; 188us; 1730us; 189us; 1729us; 190us; 1728us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 902us; 5us; 32768us; 10us; 991us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 195us; 977us; 0us; 16859us; 0us; 16860us; 3us; 16903us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 2us; 16861us; 33us; 17333us; 160us; 17333us; 0us; 16862us; 1us; 32768us; 92us; 906us; 39us; 32768us; 10us; 991us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 910us; 6us; 16871us; 10us; 991us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 97us; 936us; 195us; 977us; 0us; 16863us; 0us; 16864us; 3us; 16903us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 16865us; 0us; 16866us; 6us; 16867us; 57us; 928us; 78us; 931us; 79us; 934us; 89us; 939us; 97us; 937us; 132us; 926us; 4us; 16870us; 78us; 931us; 79us; 934us; 89us; 939us; 97us; 937us; 3us; 16874us; 78us; 931us; 79us; 934us; 89us; 939us; 2us; 16875us; 78us; 931us; 79us; 934us; 3us; 16877us; 78us; 931us; 79us; 934us; 89us; 939us; 3us; 16878us; 78us; 931us; 79us; 934us; 89us; 939us; 2us; 16879us; 78us; 931us; 79us; 934us; 6us; 32768us; 57us; 928us; 78us; 931us; 79us; 934us; 89us; 939us; 97us; 937us; 132us; 926us; 2us; 16880us; 78us; 931us; 79us; 934us; 6us; 16883us; 57us; 928us; 78us; 931us; 79us; 934us; 89us; 939us; 97us; 937us; 132us; 926us; 8us; 17398us; 21us; 1773us; 57us; 928us; 78us; 931us; 79us; 934us; 84us; 1774us; 89us; 939us; 97us; 937us; 132us; 926us; 15us; 32768us; 10us; 991us; 16us; 1837us; 36us; 1833us; 38us; 1834us; 57us; 928us; 60us; 1835us; 69us; 1413us; 78us; 931us; 79us; 934us; 89us; 939us; 94us; 1836us; 97us; 937us; 127us; 1409us; 132us; 926us; 195us; 982us; 7us; 17024us; 57us; 928us; 78us; 931us; 79us; 934us; 85us; 1208us; 89us; 939us; 97us; 937us; 132us; 926us; 1us; 32768us; 191us; 1709us; 0us; 16869us; 37us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 16871us; 97us; 936us; 1us; 16872us; 89us; 938us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16873us; 37us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 37us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16876us; 37us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 37us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 37us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 37us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 2us; 17398us; 21us; 1773us; 84us; 1774us; 0us; 16881us; 2us; 17397us; 45us; 1710us; 191us; 1709us; 0us; 16882us; 2us; 32768us; 69us; 945us; 77us; 1712us; 37us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16885us; 37us; 16884us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16886us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 5us; 32768us; 10us; 991us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 195us; 977us; 0us; 16887us; 0us; 16888us; 0us; 16889us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 3us; 32768us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 0us; 16890us; 25us; 16891us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 1us; 16893us; 18us; 959us; 0us; 16892us; 1us; 16895us; 78us; 961us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16894us; 1us; 32768us; 10us; 964us; 0us; 16896us; 29us; 16899us; 21us; 1773us; 28us; 972us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 84us; 1774us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 104us; 970us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 31us; 16899us; 21us; 1773us; 28us; 972us; 58us; 17091us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 84us; 1774us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 17091us; 102us; 1147us; 104us; 970us; 128us; 1144us; 143us; 17091us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 30us; 16899us; 21us; 1773us; 28us; 972us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 84us; 1774us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 104us; 970us; 128us; 1144us; 143us; 1404us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 70us; 16898us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16897us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16900us; 1us; 32768us; 22us; 973us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 3us; 32768us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 0us; 16901us; 73us; 16902us; 13us; 1093us; 21us; 999us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 998us; 0us; 16903us; 2us; 16903us; 19us; 1793us; 138us; 1792us; 2us; 16903us; 19us; 1793us; 138us; 1792us; 2us; 16903us; 19us; 1793us; 138us; 1792us; 2us; 16903us; 30us; 1791us; 137us; 1790us; 2us; 16903us; 19us; 1793us; 138us; 1792us; 1us; 16903us; 58us; 1298us; 1us; 16903us; 58us; 1321us; 1us; 16903us; 156us; 1355us; 1us; 16903us; 64us; 1361us; 3us; 16903us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 3us; 16903us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 3us; 16903us; 59us; 1818us; 60us; 1815us; 61us; 1817us; 1us; 16903us; 65us; 1819us; 0us; 16904us; 1us; 32768us; 127us; 993us; 71us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 995us; 0us; 16905us; 0us; 16906us; 73us; 32768us; 13us; 1093us; 21us; 999us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 998us; 0us; 16907us; 0us; 16908us; 72us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1001us; 0us; 16909us; 0us; 16910us; 0us; 16911us; 0us; 16912us; 0us; 16913us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 4us; 32768us; 10us; 991us; 26us; 1191us; 87us; 1189us; 195us; 977us; 0us; 16914us; 0us; 16915us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 4us; 32768us; 10us; 991us; 26us; 1191us; 87us; 1189us; 195us; 977us; 0us; 16916us; 0us; 16917us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 5us; 32768us; 10us; 991us; 26us; 1191us; 87us; 1189us; 129us; 1017us; 195us; 977us; 0us; 16918us; 0us; 16919us; 71us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16920us; 72us; 32768us; 10us; 991us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 977us; 29us; 32768us; 10us; 991us; 28us; 1214us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 104us; 1213us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 195us; 977us; 0us; 16921us; 0us; 16922us; 0us; 16923us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16924us; 62us; 16926us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 159us; 1070us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16925us; 71us; 32768us; 13us; 1093us; 22us; 954us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16927us; 63us; 16929us; 13us; 1093us; 22us; 954us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 159us; 1070us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16928us; 72us; 32768us; 10us; 991us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 978us; 29us; 32768us; 10us; 991us; 30us; 1791us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 137us; 1790us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 195us; 977us; 72us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1038us; 4us; 32768us; 10us; 991us; 19us; 1793us; 138us; 1792us; 195us; 977us; 0us; 16930us; 0us; 16931us; 2us; 32768us; 19us; 1793us; 138us; 1792us; 0us; 16932us; 0us; 16933us; 0us; 16934us; 0us; 16935us; 44us; 32768us; 10us; 991us; 16us; 1837us; 36us; 1833us; 38us; 1834us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 60us; 1835us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 94us; 1836us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 981us; 10us; 17396us; 10us; 991us; 16us; 1837us; 21us; 1785us; 30us; 1791us; 36us; 1833us; 38us; 1834us; 60us; 1835us; 94us; 1836us; 137us; 1790us; 195us; 977us; 78us; 32768us; 10us; 991us; 13us; 1093us; 16us; 1837us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 36us; 1833us; 38us; 1834us; 40us; 714us; 45us; 1292us; 55us; 1300us; 60us; 1835us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 94us; 1836us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 979us; 9us; 32768us; 10us; 991us; 16us; 1837us; 19us; 1793us; 36us; 1833us; 38us; 1834us; 60us; 1835us; 94us; 1836us; 138us; 1792us; 195us; 977us; 0us; 16936us; 0us; 16937us; 0us; 16938us; 0us; 16939us; 0us; 16940us; 4us; 32768us; 10us; 991us; 30us; 1791us; 137us; 1790us; 195us; 977us; 73us; 32768us; 10us; 991us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 980us; 4us; 32768us; 10us; 991us; 19us; 1793us; 138us; 1792us; 195us; 977us; 0us; 16941us; 0us; 16942us; 0us; 16943us; 0us; 16944us; 0us; 16945us; 71us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 2us; 32768us; 19us; 1793us; 138us; 1792us; 0us; 16946us; 0us; 16947us; 0us; 16948us; 0us; 16949us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 25us; 16950us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 25us; 16951us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 36us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 32768us; 127us; 1073us; 1us; 17396us; 21us; 1785us; 71us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16952us; 36us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 3us; 32768us; 10us; 991us; 19us; 712us; 195us; 977us; 1us; 17396us; 21us; 1785us; 72us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1082us; 0us; 16953us; 0us; 16954us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 32768us; 127us; 1085us; 1us; 17396us; 21us; 1785us; 71us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16955us; 71us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 3us; 32768us; 10us; 991us; 19us; 712us; 195us; 977us; 0us; 16956us; 1us; 32768us; 98us; 1407us; 0us; 16957us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 25us; 16958us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16959us; 25us; 16963us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 20us; 16966us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 20us; 16967us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 9us; 16968us; 62us; 1161us; 79us; 1159us; 82us; 1132us; 96us; 1162us; 158us; 1158us; 183us; 1160us; 185us; 1163us; 188us; 1157us; 190us; 1164us; 20us; 16969us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 18us; 16970us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 96us; 1162us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 18us; 16971us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 96us; 1162us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 9us; 16972us; 62us; 1161us; 79us; 1159us; 82us; 1132us; 96us; 1162us; 158us; 1158us; 183us; 1160us; 185us; 1163us; 188us; 1157us; 190us; 1164us; 9us; 16973us; 62us; 1161us; 79us; 1159us; 82us; 1132us; 96us; 1162us; 158us; 1158us; 183us; 1160us; 185us; 1163us; 188us; 1157us; 190us; 1164us; 9us; 16974us; 62us; 1161us; 79us; 1159us; 82us; 1132us; 96us; 1162us; 158us; 1158us; 183us; 1160us; 185us; 1163us; 188us; 1157us; 190us; 1164us; 9us; 16975us; 62us; 1161us; 79us; 1159us; 82us; 1132us; 96us; 1162us; 158us; 1158us; 183us; 1160us; 185us; 1163us; 188us; 1157us; 190us; 1164us; 9us; 16976us; 62us; 1161us; 79us; 1159us; 82us; 1132us; 96us; 1162us; 158us; 1158us; 183us; 1160us; 185us; 1163us; 188us; 1157us; 190us; 1164us; 9us; 16978us; 62us; 1161us; 79us; 1159us; 82us; 1132us; 96us; 1162us; 158us; 1158us; 183us; 1160us; 185us; 1163us; 188us; 1157us; 190us; 1164us; 9us; 16979us; 62us; 1161us; 79us; 1159us; 82us; 1132us; 96us; 1162us; 158us; 1158us; 183us; 1160us; 185us; 1163us; 188us; 1157us; 190us; 1164us; 1us; 16980us; 190us; 1164us; 8us; 16981us; 62us; 1161us; 79us; 1159us; 82us; 1132us; 96us; 1162us; 158us; 1158us; 183us; 1160us; 185us; 1163us; 190us; 1164us; 4us; 16982us; 96us; 1162us; 158us; 1158us; 185us; 1163us; 190us; 1164us; 4us; 16983us; 96us; 1162us; 158us; 1158us; 185us; 1163us; 190us; 1164us; 1us; 16984us; 190us; 1164us; 1us; 16985us; 190us; 1164us; 1us; 16986us; 190us; 1164us; 25us; 17023us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 25us; 17027us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 25us; 17031us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 29us; 32768us; 10us; 991us; 28us; 1214us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 104us; 1213us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 195us; 977us; 23us; 17036us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 25us; 32768us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 23us; 17039us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 24us; 17091us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 24us; 17092us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 26us; 17147us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 143us; 1404us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 28us; 32768us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 105us; 1416us; 128us; 1144us; 139us; 1417us; 143us; 1404us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 26us; 17143us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 143us; 1405us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 25us; 17144us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 25us; 17151us; 62us; 1161us; 63us; 1153us; 69us; 1151us; 79us; 1159us; 80us; 1134us; 81us; 1136us; 82us; 1132us; 83us; 1138us; 89us; 1148us; 90us; 1149us; 96us; 1162us; 97us; 1230us; 102us; 1147us; 128us; 1144us; 145us; 1145us; 158us; 1158us; 160us; 1154us; 161us; 1156us; 183us; 1160us; 184us; 1150us; 185us; 1163us; 187us; 1146us; 188us; 1157us; 189us; 1152us; 190us; 1164us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16960us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16961us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16962us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 17007us; 68us; 1140us; 71us; 32768us; 13us; 1093us; 22us; 954us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16964us; 1us; 16965us; 97us; 1228us; 6us; 16965us; 10us; 991us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 97us; 1228us; 195us; 977us; 71us; 32768us; 13us; 1093us; 16us; 1165us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1166us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1167us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1168us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1169us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1170us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1171us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1172us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1173us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1174us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 73us; 32768us; 10us; 991us; 13us; 1093us; 16us; 1175us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 977us; 0us; 16977us; 71us; 32768us; 13us; 1093us; 16us; 1176us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1177us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1178us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1179us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1180us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1181us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1182us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1183us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 71us; 32768us; 13us; 1093us; 16us; 1184us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 16987us; 0us; 16988us; 0us; 16989us; 0us; 16990us; 0us; 16991us; 0us; 16992us; 0us; 16993us; 0us; 16994us; 0us; 16995us; 0us; 16996us; 0us; 16997us; 0us; 16998us; 0us; 16999us; 0us; 17000us; 0us; 17001us; 0us; 17002us; 0us; 17003us; 0us; 17004us; 0us; 17005us; 0us; 17006us; 0us; 17008us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 17009us; 39us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 57us; 1196us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1199us; 0us; 17010us; 39us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 57us; 1196us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1199us; 3us; 32768us; 10us; 991us; 20us; 1193us; 195us; 977us; 0us; 17011us; 0us; 17012us; 0us; 17013us; 38us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1198us; 0us; 17014us; 0us; 17015us; 0us; 17016us; 0us; 17017us; 2us; 32768us; 98us; 1209us; 195us; 1207us; 2us; 17018us; 57us; 1203us; 195us; 1206us; 38us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1205us; 0us; 17019us; 0us; 17020us; 0us; 17021us; 0us; 17022us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17025us; 3us; 17030us; 27us; 1220us; 140us; 1219us; 141us; 1225us; 0us; 17026us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 32768us; 22us; 1215us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 5us; 32768us; 10us; 991us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 195us; 977us; 0us; 17028us; 0us; 17029us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 32768us; 22us; 1221us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 5us; 32768us; 10us; 991us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 195us; 977us; 0us; 17032us; 0us; 17033us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17034us; 0us; 17035us; 77us; 32768us; 10us; 991us; 13us; 1093us; 16us; 1837us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 36us; 1833us; 38us; 1834us; 40us; 714us; 45us; 1292us; 55us; 1300us; 60us; 1835us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 94us; 1836us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 977us; 0us; 17037us; 77us; 32768us; 10us; 991us; 13us; 1093us; 16us; 1837us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 36us; 1833us; 38us; 1834us; 40us; 714us; 45us; 1292us; 55us; 1300us; 60us; 1835us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 94us; 1836us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 977us; 0us; 17038us; 44us; 32768us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 119us; 1250us; 122us; 1338us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 44us; 17347us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 119us; 1250us; 122us; 1338us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17040us; 44us; 32768us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 119us; 1250us; 122us; 1338us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 44us; 17343us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 119us; 1250us; 122us; 1338us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17041us; 44us; 32768us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 119us; 1250us; 122us; 1338us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 44us; 17346us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 119us; 1250us; 122us; 1338us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17042us; 44us; 32768us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 119us; 1250us; 122us; 1338us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 44us; 17359us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 119us; 1250us; 122us; 1338us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17043us; 44us; 32768us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 119us; 1250us; 122us; 1338us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 44us; 17354us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 119us; 1250us; 122us; 1338us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17044us; 44us; 32768us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 119us; 1250us; 122us; 1338us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 44us; 17355us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 119us; 1250us; 122us; 1338us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17045us; 31us; 32768us; 45us; 1710us; 55us; 1638us; 66us; 1632us; 88us; 1629us; 91us; 1703us; 92us; 1622us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1259us; 31us; 32768us; 45us; 1710us; 55us; 1638us; 66us; 1632us; 88us; 1629us; 91us; 1703us; 92us; 1622us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1259us; 2us; 17421us; 34us; 1803us; 35us; 1802us; 35us; 17191us; 14us; 17194us; 21us; 17194us; 26us; 17194us; 34us; 1803us; 35us; 1802us; 55us; 17421us; 71us; 17421us; 72us; 17421us; 74us; 17421us; 87us; 17194us; 92us; 17421us; 106us; 17421us; 111us; 17194us; 122us; 17421us; 136us; 17421us; 148us; 17421us; 155us; 17421us; 165us; 17421us; 166us; 17421us; 167us; 17421us; 168us; 17421us; 169us; 17421us; 170us; 17421us; 171us; 17421us; 172us; 17421us; 173us; 17421us; 174us; 17421us; 175us; 17421us; 176us; 17421us; 177us; 17421us; 179us; 17421us; 180us; 17421us; 192us; 17421us; 193us; 17421us; 194us; 17421us; 29us; 32768us; 55us; 1501us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 92us; 1363us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1258us; 29us; 32768us; 55us; 1501us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 92us; 1363us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1258us; 0us; 17046us; 5us; 17046us; 14us; 17193us; 26us; 17193us; 87us; 17193us; 111us; 17193us; 132us; 499us; 0us; 17047us; 0us; 17048us; 44us; 32768us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 119us; 1250us; 122us; 1338us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17049us; 44us; 32768us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 119us; 1250us; 122us; 1338us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17050us; 36us; 17051us; 45us; 1292us; 55us; 1300us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1269us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 39us; 17051us; 26us; 1454us; 45us; 1292us; 55us; 1300us; 69us; 1441us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 87us; 1450us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1269us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 39us; 32768us; 26us; 1454us; 45us; 1292us; 55us; 1300us; 69us; 1441us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 87us; 1450us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1269us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17052us; 5us; 17053us; 33us; 1278us; 34us; 1277us; 35us; 1276us; 75us; 1290us; 77us; 1282us; 35us; 32768us; 45us; 1292us; 55us; 1300us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 5us; 17054us; 33us; 1278us; 34us; 1277us; 35us; 1276us; 75us; 1290us; 77us; 1282us; 5us; 17055us; 33us; 1278us; 34us; 1277us; 35us; 1276us; 75us; 1290us; 77us; 1282us; 2us; 17056us; 33us; 1278us; 34us; 1277us; 1us; 17057us; 33us; 1278us; 5us; 17059us; 33us; 1278us; 34us; 1277us; 35us; 1276us; 75us; 1290us; 77us; 1282us; 5us; 17287us; 33us; 1278us; 34us; 1277us; 35us; 1276us; 75us; 1290us; 77us; 1282us; 35us; 32768us; 45us; 1292us; 55us; 1300us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 35us; 32768us; 45us; 1292us; 55us; 1300us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 32768us; 160us; 1663us; 0us; 17058us; 35us; 32768us; 45us; 1292us; 55us; 1300us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 35us; 17337us; 45us; 1292us; 55us; 1300us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 7us; 17075us; 10us; 991us; 45us; 1306us; 70us; 1315us; 92us; 1308us; 100us; 1720us; 191us; 1709us; 195us; 977us; 0us; 17060us; 1us; 32768us; 77us; 1285us; 7us; 17075us; 10us; 991us; 45us; 1306us; 70us; 1315us; 92us; 1308us; 100us; 1720us; 191us; 1709us; 195us; 977us; 0us; 17061us; 3us; 32768us; 92us; 1715us; 100us; 1720us; 191us; 1709us; 3us; 17353us; 92us; 1715us; 100us; 1720us; 191us; 1709us; 0us; 17062us; 2us; 32768us; 92us; 1186us; 191us; 1185us; 0us; 17063us; 0us; 17064us; 0us; 17065us; 72us; 17140us; 10us; 991us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 983us; 3us; 32768us; 10us; 991us; 58us; 1296us; 195us; 977us; 0us; 17066us; 0us; 17067us; 0us; 17068us; 0us; 17069us; 2us; 32768us; 72us; 1504us; 92us; 1301us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17070us; 0us; 17071us; 0us; 17072us; 0us; 17073us; 0us; 17074us; 0us; 17076us; 89us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 57us; 1755us; 62us; 1233us; 63us; 1735us; 69us; 1739us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1288us; 79us; 1309us; 83us; 1747us; 86us; 1032us; 89us; 1245us; 90us; 1248us; 92us; 1365us; 96us; 1738us; 98us; 1095us; 100us; 1720us; 102us; 1740us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 143us; 1750us; 145us; 1746us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1351us; 158us; 1242us; 159us; 1070us; 160us; 1741us; 161us; 1742us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 181us; 1748us; 182us; 1239us; 183us; 1236us; 184us; 1732us; 185us; 1734us; 186us; 1281us; 187us; 1731us; 188us; 1730us; 189us; 1729us; 190us; 1728us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1718us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 1us; 32768us; 77us; 1311us; 1us; 32768us; 177us; 1312us; 0us; 17077us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 17078us; 75us; 32768us; 10us; 991us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 96us; 1331us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 143us; 1329us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 188us; 1332us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 984us; 2us; 32768us; 10us; 991us; 195us; 977us; 0us; 17079us; 3us; 32768us; 10us; 991us; 58us; 1319us; 195us; 977us; 0us; 17080us; 0us; 17081us; 0us; 17082us; 0us; 17083us; 1us; 17085us; 97us; 1324us; 73us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 96us; 1331us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 143us; 1329us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 188us; 1332us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17084us; 1us; 17090us; 143us; 1327us; 71us; 17087us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 188us; 1332us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17086us; 71us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 188us; 1332us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17088us; 0us; 17089us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17093us; 0us; 17094us; 0us; 17095us; 0us; 17096us; 0us; 17097us; 0us; 17098us; 0us; 17099us; 0us; 17100us; 0us; 17101us; 0us; 17102us; 72us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 142us; 1349us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1347us; 3us; 32768us; 10us; 991us; 142us; 1345us; 195us; 977us; 0us; 17103us; 0us; 17104us; 1us; 32768us; 142us; 1348us; 0us; 17105us; 0us; 17106us; 72us; 32768us; 10us; 991us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 985us; 73us; 32768us; 10us; 991us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 156us; 1753us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 985us; 3us; 32768us; 10us; 991us; 156us; 1353us; 195us; 977us; 0us; 17107us; 0us; 17108us; 0us; 17109us; 0us; 17110us; 72us; 17140us; 10us; 991us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 986us; 3us; 32768us; 10us; 991us; 64us; 1359us; 195us; 977us; 0us; 17111us; 0us; 17112us; 0us; 17113us; 0us; 17114us; 81us; 32768us; 10us; 991us; 13us; 1093us; 16us; 1375us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 36us; 1372us; 38us; 1373us; 40us; 714us; 45us; 1292us; 55us; 1300us; 60us; 1374us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 88us; 1418us; 89us; 1244us; 90us; 1247us; 92us; 1364us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 987us; 97us; 32768us; 10us; 991us; 13us; 1093us; 16us; 1375us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 36us; 1372us; 38us; 1373us; 40us; 714us; 45us; 1292us; 55us; 1300us; 57us; 1755us; 60us; 1374us; 62us; 1233us; 63us; 1735us; 69us; 1739us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1288us; 83us; 1747us; 86us; 1032us; 88us; 1418us; 89us; 1245us; 90us; 1248us; 92us; 1364us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 96us; 1738us; 98us; 1095us; 100us; 1720us; 102us; 1740us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 143us; 1750us; 145us; 1746us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1351us; 158us; 1242us; 159us; 1070us; 160us; 1741us; 161us; 1742us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 181us; 1748us; 182us; 1239us; 183us; 1236us; 184us; 1732us; 185us; 1734us; 186us; 1281us; 187us; 1731us; 188us; 1707us; 189us; 1729us; 190us; 1728us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 988us; 97us; 32768us; 10us; 991us; 13us; 1093us; 16us; 1375us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 36us; 1372us; 38us; 1373us; 40us; 714us; 45us; 1292us; 55us; 1300us; 57us; 1755us; 60us; 1374us; 62us; 1233us; 63us; 1735us; 69us; 1739us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1288us; 83us; 1747us; 86us; 1032us; 88us; 1418us; 89us; 1245us; 90us; 1248us; 92us; 1364us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 96us; 1738us; 98us; 1095us; 100us; 1720us; 102us; 1740us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 143us; 1750us; 145us; 1746us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1351us; 158us; 1242us; 159us; 1070us; 160us; 1741us; 161us; 1742us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 181us; 1748us; 182us; 1239us; 183us; 1236us; 184us; 1732us; 185us; 1734us; 186us; 1281us; 187us; 1731us; 188us; 1707us; 189us; 1729us; 190us; 1728us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 988us; 0us; 17115us; 9us; 32768us; 10us; 991us; 16us; 1831us; 36us; 1828us; 38us; 1829us; 60us; 1830us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 195us; 977us; 0us; 17116us; 0us; 17117us; 0us; 17118us; 0us; 17118us; 0us; 17119us; 0us; 17120us; 0us; 17121us; 0us; 17122us; 0us; 17123us; 1us; 32768us; 78us; 1378us; 1us; 32768us; 92us; 1379us; 1us; 16542us; 73us; 299us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17124us; 0us; 17125us; 0us; 17126us; 0us; 17127us; 4us; 17127us; 93us; 17130us; 94us; 17130us; 95us; 17130us; 102us; 17130us; 4us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 102us; 1389us; 0us; 17128us; 1us; 32768us; 188us; 1706us; 0us; 17129us; 77us; 32768us; 10us; 991us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 53us; 1434us; 55us; 1300us; 59us; 1818us; 60us; 1815us; 61us; 1817us; 62us; 1232us; 66us; 1445us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1251us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 989us; 5us; 32768us; 10us; 991us; 59us; 1818us; 60us; 1815us; 61us; 1817us; 195us; 977us; 0us; 17131us; 0us; 17132us; 0us; 17133us; 0us; 17134us; 0us; 17135us; 0us; 17136us; 0us; 17137us; 0us; 17138us; 0us; 17139us; 0us; 17141us; 0us; 17142us; 72us; 32768us; 10us; 991us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 977us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17145us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17146us; 77us; 32768us; 10us; 991us; 13us; 1093us; 16us; 1837us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 36us; 1833us; 38us; 1834us; 40us; 714us; 45us; 1292us; 55us; 1300us; 60us; 1835us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 94us; 1836us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 977us; 0us; 17148us; 0us; 17149us; 0us; 17150us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 70us; 32768us; 13us; 1093us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17152us; 0us; 17153us; 0us; 17154us; 2us; 32768us; 192us; 1801us; 193us; 1800us; 3us; 17160us; 36us; 1805us; 37us; 1808us; 108us; 1809us; 0us; 17157us; 37us; 17162us; 45us; 1292us; 55us; 1300us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 78us; 1430us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1269us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 32768us; 88us; 1423us; 0us; 17155us; 0us; 17156us; 0us; 17159us; 1us; 32768us; 92us; 1427us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 17161us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1432us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17163us; 36us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1652us; 0us; 17164us; 30us; 32768us; 45us; 1710us; 55us; 1638us; 66us; 1632us; 88us; 1629us; 91us; 1703us; 92us; 1622us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 2us; 17421us; 34us; 1803us; 35us; 1802us; 28us; 17158us; 55us; 1501us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 92us; 1363us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17183us; 2us; 17175us; 21us; 1463us; 84us; 1464us; 0us; 17165us; 0us; 17166us; 71us; 32768us; 13us; 1093us; 22us; 954us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17183us; 2us; 17175us; 21us; 1463us; 84us; 1464us; 0us; 17167us; 1us; 17168us; 69us; 1446us; 71us; 17169us; 13us; 1093us; 22us; 954us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17183us; 2us; 17175us; 21us; 1463us; 84us; 1464us; 0us; 17170us; 3us; 32768us; 45us; 1710us; 66us; 1468us; 191us; 1709us; 0us; 17183us; 2us; 17175us; 21us; 1463us; 84us; 1464us; 0us; 17171us; 5us; 17175us; 21us; 1463us; 45us; 1710us; 66us; 1468us; 84us; 1464us; 191us; 1709us; 1us; 32768us; 20us; 1456us; 0us; 17172us; 0us; 17183us; 2us; 17175us; 21us; 1463us; 84us; 1464us; 1us; 32768us; 20us; 1460us; 0us; 17173us; 0us; 17174us; 3us; 17174us; 45us; 1710us; 66us; 1468us; 191us; 1709us; 1us; 17176us; 84us; 1466us; 1us; 17177us; 21us; 1465us; 0us; 17178us; 0us; 17179us; 1us; 17180us; 77us; 1712us; 0us; 17181us; 0us; 17182us; 8us; 17187us; 10us; 991us; 16us; 1837us; 36us; 1833us; 38us; 1834us; 60us; 1835us; 69us; 1471us; 94us; 1836us; 195us; 977us; 78us; 17185us; 10us; 991us; 13us; 1093us; 16us; 1837us; 22us; 954us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 36us; 1833us; 38us; 1834us; 40us; 714us; 45us; 1292us; 55us; 1300us; 60us; 1835us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 94us; 1836us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 977us; 0us; 17184us; 0us; 17186us; 0us; 17188us; 3us; 17396us; 21us; 1785us; 26us; 1485us; 87us; 1483us; 1us; 17396us; 21us; 1785us; 3us; 17201us; 14us; 557us; 111us; 556us; 195us; 1494us; 0us; 17189us; 2us; 32768us; 14us; 557us; 111us; 556us; 0us; 17190us; 0us; 17192us; 0us; 17195us; 3us; 16542us; 22us; 502us; 73us; 299us; 195us; 749us; 0us; 17197us; 2us; 16542us; 73us; 299us; 195us; 749us; 1us; 32768us; 20us; 1487us; 0us; 17198us; 3us; 17390us; 19us; 1780us; 20us; 1781us; 142us; 1782us; 0us; 17199us; 3us; 17201us; 14us; 557us; 111us; 556us; 195us; 1494us; 0us; 17200us; 3us; 17201us; 14us; 557us; 111us; 556us; 195us; 1494us; 0us; 17202us; 3us; 17201us; 14us; 557us; 111us; 556us; 195us; 1494us; 0us; 17203us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 8us; 17196us; 26us; 1485us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 87us; 1483us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 3us; 17390us; 19us; 1780us; 20us; 1781us; 142us; 1782us; 1us; 17396us; 21us; 1785us; 0us; 17204us; 1us; 32768us; 72us; 1504us; 0us; 17205us; 0us; 17206us; 39us; 32768us; 10us; 991us; 45us; 1292us; 55us; 1300us; 65us; 1819us; 66us; 1445us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 990us; 3us; 32768us; 10us; 991us; 65us; 1819us; 195us; 977us; 0us; 17207us; 0us; 17208us; 0us; 17209us; 0us; 17210us; 0us; 17211us; 35us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 32768us; 98us; 1513us; 72us; 32768us; 13us; 1093us; 22us; 949us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1515us; 0us; 17212us; 0us; 17213us; 36us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 66us; 465us; 70us; 884us; 71us; 887us; 74us; 881us; 75us; 890us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1527us; 2us; 32768us; 98us; 1518us; 195us; 1525us; 73us; 32768us; 10us; 991us; 13us; 1093us; 18us; 1522us; 24us; 1516us; 25us; 1531us; 29us; 1088us; 30us; 705us; 31us; 1076us; 32us; 701us; 40us; 714us; 45us; 1292us; 55us; 1300us; 62us; 1232us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 86us; 1032us; 89us; 1244us; 90us; 1247us; 92us; 1365us; 98us; 1095us; 100us; 1720us; 106us; 1339us; 107us; 1013us; 114us; 1024us; 115us; 1028us; 116us; 1005us; 117us; 1009us; 119us; 1250us; 122us; 1338us; 123us; 1043us; 124us; 1511us; 125us; 1529us; 126us; 1019us; 130us; 1083us; 133us; 1026us; 134us; 1030us; 136us; 1343us; 146us; 1260us; 147us; 1262us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 158us; 1241us; 159us; 1070us; 162us; 695us; 163us; 1066us; 164us; 1068us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 182us; 1238us; 183us; 1235us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 977us; 3us; 32768us; 10us; 991us; 20us; 1520us; 195us; 977us; 0us; 17214us; 0us; 17215us; 1us; 32768us; 20us; 1523us; 0us; 17216us; 0us; 17217us; 1us; 32768us; 20us; 1526us; 0us; 17218us; 1us; 32768us; 20us; 1528us; 0us; 17219us; 39us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 57us; 1196us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1199us; 0us; 17220us; 39us; 32768us; 42us; 479us; 43us; 478us; 44us; 480us; 45us; 468us; 55us; 905us; 57us; 1196us; 66us; 465us; 70us; 884us; 71us; 887us; 73us; 299us; 74us; 881us; 75us; 890us; 82us; 865us; 92us; 898us; 100us; 1720us; 106us; 896us; 122us; 895us; 148us; 897us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 790us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1199us; 1us; 32768us; 20us; 1533us; 0us; 17221us; 1us; 17222us; 85us; 1535us; 4us; 32768us; 51us; 594us; 91us; 1703us; 92us; 609us; 188us; 1706us; 1us; 17224us; 85us; 1537us; 4us; 32768us; 51us; 594us; 91us; 1703us; 92us; 609us; 188us; 1706us; 33us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 73us; 299us; 75us; 1560us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17227us; 1us; 17229us; 98us; 1541us; 33us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 73us; 299us; 75us; 1560us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17228us; 1us; 17231us; 96us; 1544us; 33us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 73us; 299us; 75us; 1560us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17230us; 1us; 17233us; 96us; 1547us; 33us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 73us; 299us; 75us; 1560us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17232us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 75us; 1553us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 7us; 17236us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 78us; 1551us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 6us; 17234us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 1us; 32768us; 191us; 1709us; 1us; 32768us; 78us; 1555us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 6us; 17235us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 7us; 17239us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 78us; 1558us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 6us; 17237us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 1us; 32768us; 191us; 1709us; 1us; 32768us; 78us; 1562us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 6us; 17238us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 1us; 17241us; 98us; 1565us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17240us; 1us; 32768us; 10us; 1568us; 0us; 17242us; 8us; 17246us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 91us; 1703us; 96us; 1570us; 185us; 1574us; 188us; 1706us; 191us; 1709us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17243us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17244us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17245us; 8us; 17249us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 91us; 1703us; 96us; 1577us; 185us; 1579us; 188us; 1706us; 191us; 1709us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17247us; 31us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17248us; 1us; 17250us; 77us; 1712us; 0us; 17251us; 1us; 17251us; 80us; 1598us; 1us; 17253us; 188us; 1586us; 4us; 17253us; 33us; 1661us; 77us; 1658us; 160us; 1663us; 188us; 1586us; 3us; 32768us; 62us; 807us; 92us; 803us; 177us; 802us; 0us; 17252us; 9us; 32768us; 10us; 991us; 35us; 1590us; 45us; 1710us; 70us; 1603us; 91us; 1703us; 96us; 1640us; 188us; 1706us; 191us; 1709us; 195us; 977us; 0us; 17254us; 1us; 32768us; 70us; 1603us; 0us; 17255us; 0us; 17256us; 33us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1652us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 4us; 32768us; 45us; 1710us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 0us; 17257us; 0us; 17258us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17259us; 1us; 17277us; 80us; 1601us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17260us; 2us; 32768us; 58us; 1604us; 97us; 1605us; 0us; 17261us; 2us; 32768us; 58us; 1606us; 97us; 1607us; 0us; 17262us; 2us; 32768us; 58us; 1608us; 97us; 1609us; 0us; 17263us; 1us; 32768us; 58us; 1610us; 0us; 17264us; 1us; 32768us; 97us; 1612us; 32us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17268us; 1us; 17265us; 97us; 1616us; 4us; 32768us; 10us; 991us; 97us; 1616us; 161us; 1667us; 195us; 977us; 32us; 17309us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17266us; 0us; 17267us; 1us; 17269us; 188us; 1620us; 3us; 32768us; 62us; 807us; 92us; 803us; 177us; 802us; 0us; 17270us; 33us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1652us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 4us; 32768us; 45us; 1710us; 91us; 1703us; 188us; 1706us; 191us; 1709us; 0us; 17271us; 1us; 17272us; 77us; 1655us; 1us; 17273us; 77us; 1655us; 0us; 17274us; 30us; 32768us; 45us; 1710us; 55us; 1638us; 66us; 1632us; 88us; 1629us; 91us; 1703us; 92us; 1633us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 1us; 17275us; 77us; 1655us; 0us; 17276us; 0us; 17277us; 33us; 32768us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 1652us; 5us; 32768us; 10us; 991us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 195us; 977us; 6us; 17304us; 10us; 991us; 69us; 1676us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 195us; 977us; 0us; 17278us; 0us; 17279us; 1us; 32768us; 92us; 1639us; 33us; 32768us; 10us; 991us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 977us; 33us; 32768us; 10us; 991us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 977us; 5us; 32768us; 10us; 991us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 195us; 977us; 0us; 17280us; 0us; 17281us; 0us; 17282us; 0us; 17283us; 0us; 17284us; 0us; 17285us; 0us; 17286us; 35us; 32768us; 45us; 1292us; 55us; 1300us; 70us; 1294us; 71us; 1357us; 72us; 1504us; 74us; 1391us; 75us; 1287us; 92us; 1365us; 100us; 1720us; 106us; 1339us; 122us; 1338us; 136us; 1343us; 148us; 1337us; 154us; 1284us; 155us; 1350us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 186us; 1280us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17288us; 0us; 17289us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 17290us; 0us; 17291us; 2us; 32768us; 45us; 1710us; 191us; 1709us; 3us; 17292us; 33us; 1661us; 77us; 1712us; 160us; 1663us; 0us; 17293us; 7us; 32768us; 10us; 991us; 16us; 1837us; 36us; 1833us; 38us; 1834us; 60us; 1835us; 94us; 1836us; 195us; 977us; 0us; 17294us; 0us; 17295us; 1us; 32768us; 160us; 1663us; 0us; 17296us; 35us; 17309us; 10us; 991us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 161us; 1673us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 977us; 1us; 32768us; 97us; 1665us; 39us; 17309us; 10us; 991us; 16us; 1837us; 36us; 1833us; 38us; 1834us; 45us; 1710us; 55us; 541us; 60us; 1835us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 94us; 1836us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 195us; 977us; 0us; 17268us; 0us; 17297us; 0us; 17298us; 0us; 17299us; 8us; 17307us; 10us; 991us; 16us; 1837us; 36us; 1833us; 38us; 1834us; 60us; 1835us; 94us; 1836us; 161us; 1671us; 195us; 977us; 0us; 17300us; 0us; 17301us; 0us; 17302us; 0us; 17303us; 1us; 17304us; 69us; 1676us; 32us; 17306us; 45us; 1710us; 55us; 541us; 66us; 1600us; 72us; 544us; 88us; 1629us; 91us; 1703us; 92us; 1593us; 106us; 1651us; 113us; 1649us; 122us; 1650us; 148us; 1648us; 165us; 792us; 166us; 791us; 167us; 789us; 168us; 788us; 169us; 787us; 170us; 785us; 171us; 786us; 172us; 784us; 173us; 782us; 174us; 780us; 175us; 778us; 176us; 783us; 177us; 781us; 179us; 779us; 180us; 777us; 185us; 1572us; 188us; 1706us; 191us; 1709us; 192us; 1801us; 193us; 1800us; 194us; 794us; 0us; 17305us; 0us; 17307us; 0us; 17308us; 8us; 32768us; 45us; 1710us; 66us; 1683us; 91us; 1703us; 92us; 1687us; 177us; 1693us; 185us; 1702us; 188us; 1706us; 191us; 1709us; 3us; 32768us; 96us; 1700us; 161us; 1682us; 185us; 1701us; 0us; 17310us; 1us; 32768us; 161us; 1684us; 0us; 17311us; 1us; 17312us; 77us; 1712us; 0us; 17313us; 7us; 32768us; 45us; 1710us; 91us; 1703us; 92us; 1687us; 177us; 1693us; 185us; 1702us; 188us; 1706us; 191us; 1709us; 5us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 96us; 1700us; 185us; 1701us; 0us; 17314us; 1us; 17315us; 188us; 1691us; 3us; 32768us; 62us; 807us; 92us; 803us; 177us; 802us; 0us; 17316us; 0us; 17317us; 6us; 17318us; 45us; 1710us; 91us; 1703us; 92us; 1687us; 177us; 1693us; 188us; 1706us; 191us; 1709us; 0us; 17319us; 0us; 17320us; 0us; 17321us; 0us; 17322us; 0us; 17323us; 7us; 32768us; 45us; 1710us; 91us; 1703us; 92us; 1687us; 177us; 1693us; 185us; 1702us; 188us; 1706us; 191us; 1709us; 7us; 32768us; 45us; 1710us; 91us; 1703us; 92us; 1687us; 177us; 1693us; 185us; 1702us; 188us; 1706us; 191us; 1709us; 7us; 32768us; 45us; 1710us; 91us; 1703us; 92us; 1687us; 177us; 1693us; 185us; 1702us; 188us; 1706us; 191us; 1709us; 1us; 32768us; 191us; 1709us; 0us; 17324us; 0us; 17325us; 1us; 32768us; 191us; 1709us; 1us; 17340us; 191us; 1709us; 0us; 17326us; 0us; 17327us; 0us; 17328us; 0us; 17329us; 8us; 32768us; 10us; 991us; 16us; 1837us; 36us; 1833us; 38us; 1834us; 60us; 1835us; 94us; 1836us; 191us; 1709us; 195us; 977us; 0us; 17330us; 0us; 17331us; 27us; 32768us; 57us; 1755us; 62us; 1737us; 63us; 1735us; 69us; 1739us; 75us; 1743us; 83us; 1747us; 89us; 1744us; 90us; 1745us; 96us; 1738us; 102us; 1740us; 143us; 1750us; 145us; 1746us; 155us; 1752us; 158us; 1749us; 160us; 1741us; 161us; 1742us; 181us; 1748us; 182us; 1736us; 183us; 1733us; 184us; 1732us; 185us; 1734us; 186us; 1727us; 187us; 1731us; 188us; 1730us; 189us; 1729us; 190us; 1728us; 195us; 1718us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 17332us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 17333us; 0us; 17334us; 1us; 32768us; 57us; 1722us; 5us; 32768us; 66us; 1724us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 191us; 1754us; 0us; 17335us; 1us; 32768us; 57us; 1725us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 17336us; 0us; 17337us; 0us; 17338us; 0us; 17339us; 0us; 17340us; 0us; 17341us; 0us; 17342us; 0us; 17343us; 0us; 17344us; 0us; 17345us; 0us; 17346us; 0us; 17347us; 0us; 17348us; 0us; 17349us; 0us; 17350us; 0us; 17351us; 0us; 17352us; 0us; 17353us; 0us; 17354us; 0us; 17355us; 0us; 17356us; 0us; 17357us; 0us; 17358us; 0us; 17359us; 1us; 17360us; 143us; 1751us; 0us; 17361us; 1us; 32768us; 156us; 1753us; 0us; 17362us; 0us; 17363us; 1us; 32768us; 191us; 1754us; 0us; 17364us; 0us; 17365us; 0us; 17366us; 0us; 17367us; 1us; 17368us; 77us; 1762us; 0us; 17369us; 4us; 32768us; 92us; 1715us; 100us; 1720us; 191us; 1709us; 195us; 1764us; 0us; 17370us; 0us; 17371us; 0us; 17372us; 0us; 17373us; 0us; 17374us; 0us; 17375us; 3us; 17376us; 21us; 1768us; 67us; 1767us; 84us; 1766us; 0us; 17377us; 3us; 17379us; 21us; 1768us; 67us; 1767us; 84us; 1766us; 0us; 17378us; 1us; 17380us; 84us; 1775us; 1us; 17381us; 21us; 1776us; 0us; 17382us; 0us; 17383us; 0us; 17384us; 0us; 17385us; 0us; 17386us; 0us; 17387us; 0us; 17388us; 0us; 17389us; 0us; 17391us; 0us; 17393us; 0us; 17395us; 0us; 17397us; 0us; 17399us; 0us; 17403us; 0us; 17405us; 0us; 17407us; 0us; 17408us; 0us; 17409us; 0us; 17410us; 0us; 17411us; 0us; 17412us; 0us; 17413us; 0us; 17414us; 0us; 17415us; 0us; 17416us; 0us; 17417us; 0us; 17418us; 0us; 17419us; 0us; 17420us; 0us; 17422us; 3us; 32768us; 36us; 1805us; 37us; 1808us; 108us; 1809us; 3us; 17445us; 36us; 1805us; 37us; 1808us; 108us; 1809us; 0us; 17424us; 0us; 17425us; 0us; 17426us; 3us; 32768us; 38us; 1810us; 39us; 1813us; 150us; 1814us; 3us; 17446us; 38us; 1810us; 39us; 1813us; 150us; 1814us; 0us; 17427us; 0us; 17428us; 0us; 17429us; 3us; 32768us; 59us; 1818us; 60us; 1815us; 61us; 1817us; 0us; 17430us; 0us; 17431us; 0us; 17432us; 0us; 17433us; 3us; 32768us; 93us; 1823us; 94us; 1820us; 95us; 1822us; 0us; 17434us; 0us; 17435us; 0us; 17436us; 3us; 32768us; 15us; 1827us; 16us; 1824us; 17us; 1826us; 0us; 17437us; 0us; 17438us; 0us; 17439us; 0us; 17440us; 0us; 17441us; 0us; 17442us; 0us; 17443us; 0us; 17444us; 0us; 17445us; 0us; 17446us; 0us; 17447us; 0us; 17448us; 0us; 17449us; 0us; 17450us; |]
+let _fsyacc_actionTableRowOffsets = [|0us; 17us; 18us; 105us; 106us; 114us; 115us; 186us; 187us; 220us; 221us; 222us; 223us; 224us; 225us; 226us; 227us; 232us; 233us; 238us; 239us; 244us; 245us; 251us; 252us; 258us; 259us; 265us; 266us; 283us; 284us; 288us; 367us; 393us; 394us; 397us; 398us; 399us; 400us; 402us; 403us; 406us; 407us; 408us; 411us; 412us; 414us; 415us; 420us; 421us; 425us; 427us; 430us; 432us; 434us; 437us; 439us; 441us; 442us; 444us; 445us; 447us; 464us; 465us; 469us; 478us; 497us; 498us; 499us; 500us; 516us; 522us; 524us; 525us; 526us; 533us; 534us; 535us; 539us; 543us; 559us; 560us; 564us; 569us; 570us; 571us; 572us; 576us; 585us; 588us; 594us; 595us; 596us; 597us; 598us; 601us; 603us; 605us; 607us; 609us; 613us; 617us; 620us; 622us; 656us; 658us; 659us; 731us; 757us; 828us; 857us; 859us; 860us; 869us; 873us; 874us; 890us; 892us; 896us; 897us; 913us; 915us; 916us; 918us; 919us; 921us; 923us; 924us; 927us; 935us; 936us; 937us; 990us; 992us; 1007us; 1009us; 1013us; 1015us; 1016us; 1018us; 1019us; 1020us; 1021us; 1023us; 1057us; 1058us; 1059us; 1076us; 1080us; 1081us; 1082us; 1084us; 1085us; 1100us; 1106us; 1107us; 1108us; 1124us; 1128us; 1129us; 1130us; 1145us; 1151us; 1152us; 1153us; 1154us; 1155us; 1158us; 1173us; 1174us; 1178us; 1182us; 1193us; 1238us; 1240us; 1244us; 1248us; 1251us; 1253us; 1287us; 1290us; 1292us; 1293us; 1325us; 1332us; 1364us; 1371us; 1373us; 1374us; 1380us; 1382us; 1383us; 1385us; 1386us; 1388us; 1422us; 1423us; 1427us; 1428us; 1432us; 1435us; 1436us; 1437us; 1439us; 1443us; 1444us; 1445us; 1447us; 1448us; 1450us; 1451us; 1467us; 1471us; 1472us; 1475us; 1476us; 1478us; 1479us; 1484us; 1485us; 1487us; 1488us; 1490us; 1491us; 1493us; 1580us; 1581us; 1586us; 1665us; 1753us; 1754us; 1755us; 1841us; 1847us; 1849us; 1850us; 1851us; 1858us; 1859us; 1860us; 1861us; 1866us; 1945us; 1974us; 2060us; 2061us; 2062us; 2063us; 2085us; 2086us; 2172us; 2173us; 2177us; 2184us; 2189us; 2194us; 2195us; 2196us; 2197us; 2201us; 2213us; 2214us; 2216us; 2217us; 2289us; 2290us; 2292us; 2294us; 2295us; 2296us; 2298us; 2304us; 2305us; 2308us; 2309us; 2310us; 2315us; 2316us; 2318us; 2325us; 2331us; 2332us; 2333us; 2339us; 2340us; 2341us; 2342us; 2343us; 2345us; 2431us; 2435us; 2436us; 2437us; 2438us; 2445us; 2449us; 2450us; 2451us; 2453us; 2454us; 2469us; 2472us; 2481us; 2483us; 2484us; 2486us; 2488us; 2489us; 2490us; 2491us; 2492us; 2502us; 2503us; 2507us; 2536us; 2537us; 2541us; 2545us; 2574us; 2575us; 2578us; 2583us; 2586us; 2615us; 2616us; 2618us; 2619us; 2621us; 2622us; 2624us; 2625us; 2627us; 2628us; 2639us; 2640us; 2641us; 2642us; 2643us; 2647us; 2649us; 2650us; 2652us; 2654us; 2655us; 2696us; 2703us; 2704us; 2705us; 2709us; 2712us; 2714us; 2716us; 2718us; 2725us; 2726us; 2738us; 2740us; 2748us; 2750us; 2756us; 2758us; 2759us; 2760us; 2762us; 2763us; 2764us; 2765us; 2767us; 2801us; 2802us; 2803us; 2809us; 2813us; 2814us; 2815us; 2820us; 2821us; 2828us; 2834us; 2835us; 2836us; 2843us; 2849us; 2850us; 2851us; 2852us; 2853us; 2864us; 2865us; 2868us; 2879us; 2880us; 2882us; 2883us; 2885us; 2888us; 2889us; 2890us; 2892us; 2894us; 2895us; 2897us; 2934us; 2936us; 2938us; 3010us; 3011us; 3048us; 3050us; 3054us; 3126us; 3127us; 3128us; 3130us; 3131us; 3135us; 3139us; 3155us; 3205us; 3206us; 3207us; 3210us; 3212us; 3213us; 3245us; 3253us; 3254us; 3256us; 3260us; 3263us; 3265us; 3299us; 3302us; 3304us; 3305us; 3306us; 3308us; 3309us; 3311us; 3312us; 3314us; 3315us; 3351us; 3353us; 3355us; 3427us; 3429us; 3430us; 3432us; 3433us; 3435us; 3439us; 3441us; 3443us; 3476us; 3477us; 3479us; 3483us; 3485us; 3487us; 3489us; 3561us; 3564us; 3565us; 3598us; 3599us; 3601us; 3605us; 3606us; 3608us; 3612us; 3613us; 3614us; 3619us; 3621us; 3625us; 3626us; 3627us; 3628us; 3629us; 3630us; 3631us; 3632us; 3635us; 3639us; 3640us; 3647us; 3651us; 3652us; 3690us; 3722us; 3723us; 3752us; 3754us; 3755us; 3756us; 3757us; 3759us; 3760us; 3761us; 3764us; 3765us; 3766us; 3768us; 3774us; 3775us; 3776us; 3777us; 3780us; 3795us; 3796us; 3800us; 3805us; 3809us; 3811us; 3812us; 3814us; 3815us; 3816us; 3818us; 3820us; 3821us; 3822us; 3823us; 3827us; 3862us; 3865us; 3867us; 3870us; 3871us; 3872us; 3873us; 3874us; 3908us; 3912us; 3913us; 3916us; 3922us; 3923us; 3924us; 3928us; 3929us; 3932us; 3933us; 3934us; 3937us; 3941us; 3942us; 3943us; 3945us; 3946us; 3977us; 3979us; 3980us; 3981us; 3982us; 3983us; 3984us; 3985us; 3991us; 3995us; 3998us; 4000us; 4001us; 4002us; 4004us; 4009us; 4010us; 4013us; 4015us; 4017us; 4020us; 4021us; 4022us; 4025us; 4026us; 4028us; 4030us; 4032us; 4033us; 4034us; 4036us; 4040us; 4042us; 4044us; 4045us; 4046us; 4074us; 4079us; 4081us; 4083us; 4085us; 4090us; 4091us; 4092us; 4095us; 4097us; 4130us; 4131us; 4134us; 4167us; 4168us; 4174us; 4175us; 4179us; 4180us; 4181us; 4183us; 4187us; 4188us; 4220us; 4225us; 4227us; 4229us; 4231us; 4235us; 4236us; 4239us; 4240us; 4241us; 4273us; 4280us; 4287us; 4289us; 4290us; 4292us; 4294us; 4295us; 4298us; 4299us; 4301us; 4303us; 4304us; 4308us; 4312us; 4317us; 4318us; 4351us; 4353us; 4354us; 4388us; 4390us; 4391us; 4410us; 4412us; 4413us; 4414us; 4444us; 4448us; 4449us; 4451us; 4455us; 4456us; 4461us; 4462us; 4481us; 4483us; 4529us; 4530us; 4563us; 4564us; 4566us; 4598us; 4599us; 4601us; 4633us; 4640us; 4647us; 4648us; 4649us; 4652us; 4660us; 4661us; 4662us; 4664us; 4665us; 4669us; 4671us; 4673us; 4706us; 4707us; 4709us; 4710us; 4711us; 4713us; 4717us; 4719us; 4721us; 4722us; 4724us; 4757us; 4758us; 4761us; 4763us; 4766us; 4768us; 4770us; 4773us; 4774us; 4775us; 4847us; 4848us; 4850us; 4853us; 4857us; 4858us; 4930us; 4934us; 4935us; 4936us; 4937us; 4938us; 4939us; 4940us; 4941us; 4943us; 4947us; 4949us; 4952us; 4954us; 4959us; 4963us; 4964us; 4966us; 4968us; 4970us; 4971us; 4973us; 4974us; 4978us; 4985us; 4986us; 4988us; 4994us; 4996us; 4998us; 4999us; 5000us; 5001us; 5003us; 5005us; 5006us; 5010us; 5012us; 5013us; 5016us; 5018us; 5019us; 5021us; 5022us; 5023us; 5025us; 5062us; 5064us; 5068us; 5141us; 5142us; 5143us; 5144us; 5215us; 5221us; 5222us; 5223us; 5224us; 5225us; 5227us; 5228us; 5231us; 5234us; 5306us; 5307us; 5310us; 5311us; 5312us; 5315us; 5348us; 5349us; 5350us; 5351us; 5352us; 5353us; 5354us; 5355us; 5356us; 5357us; 5358us; 5359us; 5360us; 5361us; 5362us; 5363us; 5365us; 5366us; 5367us; 5368us; 5369us; 5371us; 5373us; 5374us; 5376us; 5378us; 5380us; 5381us; 5382us; 5385us; 5389us; 5390us; 5391us; 5394us; 5395us; 5397us; 5399us; 5400us; 5406us; 5407us; 5409us; 5410us; 5412us; 5415us; 5448us; 5449us; 5453us; 5457us; 5458us; 5467us; 5473us; 5474us; 5475us; 5476us; 5480us; 5481us; 5482us; 5486us; 5488us; 5491us; 5494us; 5496us; 5498us; 5505us; 5512us; 5514us; 5515us; 5552us; 5589us; 5591us; 5592us; 5593us; 5630us; 5667us; 5704us; 5741us; 5744us; 5745us; 5747us; 5748us; 5750us; 5753us; 5791us; 5798us; 5828us; 5866us; 5867us; 5903us; 5904us; 5940us; 5941us; 5973us; 5974us; 5975us; 6039us; 6043us; 6044us; 6045us; 6083us; 6084us; 6120us; 6121us; 6157us; 6158us; 6159us; 6161us; 6162us; 6165us; 6169us; 6170us; 6208us; 6210us; 6211us; 6249us; 6251us; 6252us; 6254us; 6256us; 6257us; 6258us; 6259us; 6260us; 6261us; 6262us; 6326us; 6332us; 6333us; 6334us; 6338us; 6341us; 6342us; 6344us; 6384us; 6391us; 6392us; 6393us; 6397us; 6398us; 6399us; 6406us; 6411us; 6415us; 6418us; 6422us; 6426us; 6429us; 6436us; 6439us; 6446us; 6455us; 6471us; 6479us; 6481us; 6482us; 6520us; 6522us; 6524us; 6557us; 6558us; 6596us; 6634us; 6635us; 6673us; 6711us; 6749us; 6787us; 6790us; 6791us; 6794us; 6795us; 6798us; 6836us; 6837us; 6875us; 6876us; 6947us; 6953us; 6954us; 6955us; 6956us; 7027us; 7031us; 7032us; 7058us; 7060us; 7061us; 7063us; 7096us; 7097us; 7099us; 7100us; 7130us; 7162us; 7193us; 7264us; 7265us; 7336us; 7337us; 7339us; 7410us; 7414us; 7415us; 7489us; 7490us; 7493us; 7496us; 7499us; 7502us; 7505us; 7507us; 7509us; 7511us; 7513us; 7517us; 7521us; 7525us; 7527us; 7528us; 7530us; 7602us; 7603us; 7604us; 7678us; 7679us; 7680us; 7753us; 7754us; 7755us; 7756us; 7757us; 7758us; 7829us; 7834us; 7835us; 7836us; 7907us; 7912us; 7913us; 7914us; 7985us; 7991us; 7992us; 7993us; 8065us; 8066us; 8139us; 8169us; 8170us; 8171us; 8172us; 8243us; 8244us; 8307us; 8308us; 8380us; 8381us; 8445us; 8446us; 8519us; 8549us; 8622us; 8627us; 8628us; 8629us; 8632us; 8633us; 8634us; 8635us; 8636us; 8681us; 8692us; 8771us; 8781us; 8782us; 8783us; 8784us; 8785us; 8786us; 8791us; 8865us; 8870us; 8871us; 8872us; 8873us; 8874us; 8875us; 8947us; 8950us; 8951us; 8952us; 8953us; 8954us; 9025us; 9051us; 9122us; 9148us; 9185us; 9257us; 9259us; 9261us; 9333us; 9334us; 9371us; 9443us; 9447us; 9449us; 9522us; 9523us; 9524us; 9595us; 9597us; 9599us; 9671us; 9672us; 9744us; 9748us; 9749us; 9751us; 9752us; 9823us; 9849us; 9920us; 9921us; 9947us; 9968us; 9989us; 9999us; 10020us; 10039us; 10058us; 10068us; 10078us; 10088us; 10098us; 10108us; 10118us; 10128us; 10130us; 10139us; 10144us; 10149us; 10151us; 10153us; 10155us; 10181us; 10207us; 10233us; 10263us; 10287us; 10313us; 10337us; 10362us; 10387us; 10414us; 10443us; 10470us; 10496us; 10522us; 10555us; 10556us; 10589us; 10590us; 10623us; 10624us; 10695us; 10697us; 10769us; 10770us; 10772us; 10779us; 10851us; 10923us; 10995us; 11067us; 11139us; 11211us; 11283us; 11355us; 11427us; 11499us; 11573us; 11574us; 11646us; 11718us; 11790us; 11862us; 11934us; 12006us; 12078us; 12150us; 12222us; 12223us; 12224us; 12225us; 12226us; 12227us; 12228us; 12229us; 12230us; 12231us; 12232us; 12233us; 12234us; 12235us; 12236us; 12237us; 12238us; 12239us; 12240us; 12241us; 12242us; 12243us; 12314us; 12318us; 12319us; 12359us; 12360us; 12400us; 12404us; 12405us; 12406us; 12407us; 12446us; 12447us; 12448us; 12449us; 12450us; 12453us; 12456us; 12495us; 12496us; 12497us; 12498us; 12499us; 12570us; 12641us; 12642us; 12646us; 12647us; 12718us; 12720us; 12791us; 12797us; 12798us; 12799us; 12870us; 12872us; 12943us; 12949us; 12950us; 12951us; 13022us; 13023us; 13024us; 13102us; 13103us; 13181us; 13182us; 13227us; 13272us; 13273us; 13318us; 13363us; 13364us; 13409us; 13454us; 13455us; 13500us; 13545us; 13546us; 13591us; 13636us; 13637us; 13682us; 13727us; 13728us; 13760us; 13792us; 13795us; 13831us; 13861us; 13891us; 13892us; 13898us; 13899us; 13900us; 13945us; 13946us; 13991us; 13992us; 14029us; 14069us; 14109us; 14110us; 14116us; 14152us; 14158us; 14164us; 14167us; 14169us; 14175us; 14181us; 14217us; 14253us; 14255us; 14256us; 14292us; 14328us; 14336us; 14337us; 14339us; 14347us; 14348us; 14352us; 14356us; 14357us; 14360us; 14361us; 14362us; 14363us; 14436us; 14440us; 14441us; 14442us; 14443us; 14444us; 14447us; 14518us; 14519us; 14520us; 14521us; 14522us; 14523us; 14524us; 14614us; 14618us; 14620us; 14622us; 14623us; 14627us; 14628us; 14704us; 14707us; 14708us; 14712us; 14713us; 14714us; 14715us; 14716us; 14718us; 14792us; 14793us; 14795us; 14867us; 14868us; 14940us; 14941us; 14942us; 15013us; 15014us; 15015us; 15016us; 15017us; 15018us; 15019us; 15020us; 15021us; 15022us; 15023us; 15096us; 15100us; 15101us; 15102us; 15104us; 15105us; 15106us; 15179us; 15253us; 15257us; 15258us; 15259us; 15260us; 15261us; 15334us; 15338us; 15339us; 15340us; 15341us; 15342us; 15424us; 15522us; 15620us; 15621us; 15631us; 15632us; 15633us; 15634us; 15635us; 15636us; 15637us; 15638us; 15639us; 15640us; 15642us; 15644us; 15646us; 15650us; 15721us; 15722us; 15723us; 15724us; 15725us; 15730us; 15735us; 15736us; 15738us; 15739us; 15817us; 15823us; 15824us; 15825us; 15826us; 15827us; 15828us; 15829us; 15830us; 15831us; 15832us; 15833us; 15834us; 15907us; 15978us; 15979us; 16050us; 16051us; 16129us; 16130us; 16131us; 16132us; 16203us; 16274us; 16275us; 16276us; 16277us; 16280us; 16284us; 16285us; 16323us; 16325us; 16326us; 16327us; 16328us; 16330us; 16363us; 16367us; 16368us; 16401us; 16402us; 16439us; 16440us; 16471us; 16474us; 16503us; 16504us; 16507us; 16508us; 16509us; 16581us; 16582us; 16585us; 16586us; 16588us; 16660us; 16661us; 16664us; 16665us; 16669us; 16670us; 16673us; 16674us; 16680us; 16682us; 16683us; 16684us; 16687us; 16689us; 16690us; 16691us; 16695us; 16697us; 16699us; 16700us; 16701us; 16703us; 16704us; 16705us; 16714us; 16793us; 16794us; 16795us; 16796us; 16800us; 16802us; 16806us; 16807us; 16810us; 16811us; 16812us; 16813us; 16817us; 16818us; 16821us; 16823us; 16824us; 16828us; 16829us; 16833us; 16834us; 16838us; 16839us; 16843us; 16844us; 16876us; 16885us; 16889us; 16891us; 16892us; 16894us; 16895us; 16896us; 16936us; 16940us; 16941us; 16942us; 16943us; 16944us; 16945us; 16981us; 16983us; 17056us; 17057us; 17058us; 17095us; 17098us; 17172us; 17176us; 17177us; 17178us; 17180us; 17181us; 17182us; 17184us; 17185us; 17187us; 17188us; 17228us; 17229us; 17269us; 17271us; 17272us; 17274us; 17279us; 17281us; 17286us; 17320us; 17321us; 17323us; 17357us; 17358us; 17360us; 17394us; 17395us; 17397us; 17431us; 17432us; 17465us; 17473us; 17505us; 17512us; 17514us; 17516us; 17548us; 17555us; 17563us; 17595us; 17602us; 17604us; 17606us; 17638us; 17645us; 17647us; 17680us; 17681us; 17683us; 17684us; 17693us; 17725us; 17726us; 17758us; 17759us; 17791us; 17792us; 17801us; 17833us; 17834us; 17866us; 17867us; 17869us; 17870us; 17872us; 17874us; 17879us; 17883us; 17884us; 17894us; 17895us; 17897us; 17898us; 17899us; 17933us; 17937us; 17942us; 17943us; 17944us; 17977us; 17978us; 17980us; 18013us; 18014us; 18017us; 18018us; 18021us; 18022us; 18025us; 18026us; 18028us; 18029us; 18031us; 18064us; 18065us; 18067us; 18072us; 18105us; 18106us; 18107us; 18109us; 18113us; 18114us; 18148us; 18152us; 18157us; 18158us; 18160us; 18162us; 18163us; 18194us; 18196us; 18197us; 18198us; 18232us; 18238us; 18245us; 18246us; 18247us; 18249us; 18283us; 18317us; 18323us; 18324us; 18325us; 18326us; 18327us; 18328us; 18329us; 18330us; 18366us; 18367us; 18368us; 18372us; 18373us; 18374us; 18377us; 18381us; 18382us; 18390us; 18391us; 18392us; 18394us; 18395us; 18431us; 18433us; 18473us; 18474us; 18475us; 18476us; 18477us; 18486us; 18487us; 18488us; 18489us; 18490us; 18492us; 18525us; 18526us; 18527us; 18528us; 18537us; 18541us; 18542us; 18544us; 18545us; 18547us; 18548us; 18556us; 18562us; 18563us; 18565us; 18569us; 18570us; 18571us; 18578us; 18579us; 18580us; 18581us; 18582us; 18583us; 18591us; 18599us; 18607us; 18609us; 18610us; 18611us; 18613us; 18615us; 18616us; 18617us; 18618us; 18619us; 18628us; 18629us; 18630us; 18658us; 18662us; 18663us; 18667us; 18668us; 18669us; 18671us; 18677us; 18678us; 18680us; 18684us; 18685us; 18686us; 18687us; 18688us; 18689us; 18690us; 18691us; 18692us; 18693us; 18694us; 18695us; 18696us; 18697us; 18698us; 18699us; 18700us; 18701us; 18702us; 18703us; 18704us; 18705us; 18706us; 18707us; 18708us; 18710us; 18711us; 18713us; 18714us; 18715us; 18717us; 18718us; 18719us; 18720us; 18721us; 18723us; 18724us; 18729us; 18730us; 18731us; 18732us; 18733us; 18734us; 18735us; 18739us; 18740us; 18744us; 18745us; 18747us; 18749us; 18750us; 18751us; 18752us; 18753us; 18754us; 18755us; 18756us; 18757us; 18758us; 18759us; 18760us; 18761us; 18762us; 18763us; 18764us; 18765us; 18766us; 18767us; 18768us; 18769us; 18770us; 18771us; 18772us; 18773us; 18774us; 18775us; 18776us; 18777us; 18778us; 18779us; 18783us; 18787us; 18788us; 18789us; 18790us; 18794us; 18798us; 18799us; 18800us; 18801us; 18805us; 18806us; 18807us; 18808us; 18809us; 18813us; 18814us; 18815us; 18816us; 18820us; 18821us; 18822us; 18823us; 18824us; 18825us; 18826us; 18827us; 18828us; 18829us; 18830us; 18831us; 18832us; 18833us; |]
+let _fsyacc_reductionSymbolCounts = [|1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 2us; 2us; 2us; 3us; 3us; 3us; 1us; 2us; 3us; 1us; 1us; 2us; 1us; 1us; 3us; 0us; 2us; 1us; 2us; 3us; 2us; 4us; 3us; 1us; 2us; 2us; 1us; 3us; 4us; 1us; 1us; 4us; 3us; 3us; 1us; 1us; 0us; 3us; 3us; 2us; 1us; 1us; 5us; 5us; 3us; 3us; 2us; 12us; 0us; 2us; 5us; 3us; 5us; 3us; 2us; 3us; 1us; 3us; 2us; 7us; 2us; 1us; 1us; 3us; 1us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 1us; 1us; 0us; 3us; 11us; 4us; 4us; 4us; 5us; 5us; 5us; 0us; 2us; 3us; 3us; 1us; 3us; 1us; 1us; 2us; 2us; 3us; 0us; 2us; 3us; 2us; 1us; 2us; 2us; 1us; 3us; 4us; 1us; 4us; 3us; 3us; 1us; 1us; 0us; 5us; 4us; 3us; 1us; 2us; 2us; 3us; 1us; 2us; 3us; 1us; 1us; 3us; 3us; 3us; 5us; 3us; 5us; 2us; 1us; 3us; 1us; 3us; 3us; 3us; 3us; 3us; 1us; 1us; 3us; 3us; 3us; 3us; 1us; 0us; 1us; 2us; 5us; 4us; 4us; 2us; 1us; 3us; 3us; 4us; 6us; 2us; 2us; 2us; 2us; 2us; 1us; 1us; 1us; 3us; 3us; 0us; 1us; 3us; 2us; 8us; 7us; 6us; 2us; 1us; 1us; 3us; 1us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 1us; 1us; 2us; 0us; 3us; 2us; 3us; 3us; 1us; 3us; 6us; 5us; 4us; 1us; 2us; 3us; 4us; 5us; 5us; 10us; 3us; 4us; 5us; 5us; 8us; 5us; 6us; 8us; 0us; 2us; 3us; 3us; 1us; 4us; 2us; 0us; 1us; 1us; 1us; 1us; 1us; 0us; 3us; 0us; 3us; 0us; 3us; 5us; 2us; 1us; 0us; 2us; 1us; 0us; 2us; 2us; 3us; 3us; 1us; 3us; 2us; 4us; 4us; 3us; 4us; 1us; 1us; 6us; 3us; 3us; 3us; 5us; 3us; 3us; 3us; 2us; 1us; 3us; 3us; 3us; 3us; 1us; 1us; 1us; 1us; 1us; 2us; 3us; 3us; 1us; 3us; 3us; 1us; 2us; 5us; 3us; 1us; 0us; 5us; 1us; 0us; 1us; 0us; 0us; 2us; 3us; 1us; 4us; 3us; 3us; 4us; 3us; 5us; 7us; 4us; 4us; 3us; 3us; 1us; 2us; 3us; 1us; 1us; 3us; 1us; 4us; 6us; 6us; 6us; 1us; 3us; 4us; 2us; 4us; 2us; 3us; 4us; 3us; 1us; 3us; 1us; 1us; 1us; 3us; 2us; 2us; 5us; 2us; 1us; 5us; 1us; 3us; 0us; 2us; 2us; 3us; 1us; 2us; 4us; 3us; 1us; 1us; 1us; 1us; 1us; 1us; 8us; 1us; 1us; 0us; 3us; 3us; 2us; 3us; 1us; 4us; 2us; 2us; 2us; 2us; 2us; 2us; 3us; 0us; 2us; 1us; 6us; 6us; 5us; 3us; 3us; 1us; 2us; 2us; 0us; 4us; 3us; 1us; 3us; 2us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 3us; 4us; 1us; 2us; 1us; 3us; 1us; 2us; 1us; 3us; 1us; 1us; 2us; 3us; 2us; 1us; 3us; 3us; 2us; 3us; 3us; 2us; 3us; 3us; 3us; 1us; 1us; 1us; 3us; 3us; 3us; 3us; 2us; 3us; 3us; 2us; 3us; 4us; 4us; 2us; 1us; 3us; 1us; 2us; 3us; 3us; 1us; 1us; 3us; 3us; 3us; 3us; 1us; 2us; 1us; 1us; 1us; 1us; 1us; 3us; 3us; 3us; 2us; 4us; 4us; 4us; 3us; 1us; 0us; 3us; 3us; 1us; 1us; 3us; 2us; 3us; 1us; 3us; 3us; 3us; 3us; 2us; 3us; 3us; 0us; 2us; 3us; 3us; 3us; 1us; 3us; 1us; 2us; 1us; 3us; 1us; 2us; 3us; 2us; 1us; 3us; 5us; 1us; 1us; 1us; 3us; 3us; 2us; 2us; 3us; 3us; 1us; 1us; 1us; 3us; 3us; 3us; 3us; 3us; 3us; 4us; 3us; 3us; 2us; 2us; 2us; 1us; 2us; 2us; 1us; 5us; 5us; 5us; 3us; 2us; 3us; 5us; 5us; 5us; 4us; 3us; 5us; 5us; 5us; 4us; 3us; 5us; 2us; 4us; 3us; 2us; 2us; 7us; 7us; 7us; 5us; 3us; 4us; 2us; 2us; 3us; 3us; 3us; 3us; 3us; 1us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 3us; 1us; 1us; 3us; 2us; 3us; 3us; 1us; 2us; 2us; 1us; 2us; 2us; 4us; 4us; 3us; 2us; 2us; 0us; 2us; 2us; 2us; 4us; 4us; 0us; 2us; 4us; 4us; 3us; 3us; 3us; 3us; 3us; 3us; 2us; 2us; 2us; 2us; 2us; 2us; 4us; 4us; 2us; 2us; 2us; 1us; 2us; 1us; 2us; 1us; 3us; 3us; 3us; 2us; 3us; 3us; 2us; 3us; 1us; 1us; 3us; 3us; 3us; 2us; 4us; 4us; 1us; 1us; 1us; 0us; 1us; 5us; 3us; 3us; 3us; 3us; 3us; 2us; 3us; 1us; 3us; 2us; 2us; 1us; 1us; 1us; 2us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 3us; 3us; 3us; 2us; 3us; 3us; 3us; 2us; 3us; 3us; 3us; 2us; 2us; 3us; 3us; 3us; 2us; 2us; 2us; 2us; 2us; 6us; 1us; 1us; 1us; 3us; 3us; 1us; 3us; 3us; 3us; 2us; 2us; 1us; 1us; 1us; 1us; 0us; 1us; 1us; 3us; 5us; 3us; 2us; 3us; 3us; 3us; 2us; 5us; 3us; 1us; 1us; 6us; 2us; 0us; 0us; 1us; 0us; 4us; 0us; 2us; 3us; 6us; 1us; 5us; 1us; 2us; 5us; 5us; 4us; 6us; 1us; 0us; 1us; 1us; 2us; 2us; 1us; 1us; 3us; 0us; 3us; 2us; 3us; 1us; 2us; 4us; 3us; 2us; 5us; 4us; 2us; 1us; 0us; 2us; 3us; 3us; 2us; 0us; 2us; 2us; 5us; 2us; 1us; 3us; 3us; 3us; 2us; 2us; 4us; 4us; 5us; 5us; 5us; 4us; 4us; 3us; 2us; 3us; 1us; 3us; 1us; 3us; 0us; 2us; 3us; 1us; 3us; 1us; 3us; 1us; 4us; 5us; 2us; 3us; 4us; 1us; 3us; 1us; 2us; 3us; 2us; 3us; 1us; 3us; 3us; 1us; 1us; 1us; 3us; 1us; 2us; 3us; 2us; 4us; 1us; 3us; 3us; 2us; 3us; 4us; 5us; 4us; 3us; 3us; 0us; 1us; 3us; 4us; 1us; 1us; 1us; 2us; 1us; 1us; 3us; 3us; 6us; 6us; 5us; 4us; 3us; 1us; 1us; 2us; 1us; 1us; 3us; 2us; 3us; 4us; 3us; 1us; 2us; 6us; 6us; 4us; 3us; 3us; 2us; 2us; 1us; 3us; 2us; 1us; 1us; 0us; 3us; 3us; 1us; 1us; 3us; 1us; 3us; 1us; 1us; 2us; 1us; 3us; 3us; 2us; 2us; 1us; 2us; 1us; 1us; 1us; 3us; 3us; 3us; 3us; 1us; 4us; 6us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 2us; 2us; 1us; 2us; 3us; 1us; 1us; 1us; 1us; 3us; 3us; 1us; 1us; 1us; 1us; 1us; 2us; 2us; 0us; 1us; 1us; 2us; 2us; 1us; 1us; 1us; 1us; 1us; 1us; 0us; 1us; 0us; 1us; 0us; 1us; 0us; 1us; 0us; 1us; 0us; 1us; 0us; 1us; 0us; 1us; 0us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 0us; 1us; 0us; 2us; 1us; 1us; 2us; 1us; 1us; 2us; 1us; 1us; 1us; 2us; 1us; 1us; 2us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; |]
+let _fsyacc_productionToNonTerminalTable = [|0us; 1us; 2us; 3us; 4us; 5us; 5us; 5us; 6us; 6us; 7us; 7us; 7us; 7us; 7us; 7us; 7us; 8us; 8us; 9us; 10us; 11us; 11us; 12us; 12us; 13us; 14us; 14us; 15us; 16us; 16us; 16us; 17us; 18us; 19us; 19us; 20us; 20us; 21us; 22us; 22us; 23us; 23us; 23us; 23us; 24us; 24us; 24us; 25us; 25us; 25us; 26us; 26us; 26us; 26us; 26us; 26us; 26us; 27us; 28us; 28us; 28us; 29us; 29us; 29us; 30us; 31us; 31us; 32us; 32us; 33us; 33us; 34us; 34us; 34us; 35us; 35us; 35us; 35us; 36us; 36us; 36us; 36us; 37us; 37us; 37us; 38us; 38us; 39us; 40us; 40us; 40us; 40us; 40us; 40us; 40us; 41us; 41us; 41us; 41us; 42us; 42us; 43us; 43us; 43us; 44us; 45us; 45us; 46us; 46us; 46us; 47us; 47us; 48us; 48us; 49us; 50us; 50us; 51us; 51us; 51us; 51us; 52us; 52us; 53us; 53us; 53us; 53us; 53us; 54us; 54us; 54us; 54us; 54us; 55us; 55us; 56us; 56us; 56us; 56us; 56us; 56us; 56us; 56us; 57us; 57us; 58us; 58us; 58us; 58us; 58us; 58us; 58us; 59us; 59us; 59us; 60us; 61us; 61us; 62us; 62us; 63us; 63us; 63us; 63us; 64us; 64us; 65us; 65us; 65us; 66us; 66us; 66us; 66us; 67us; 67us; 67us; 67us; 68us; 69us; 69us; 70us; 70us; 70us; 70us; 71us; 71us; 71us; 72us; 72us; 72us; 73us; 73us; 73us; 73us; 74us; 74us; 75us; 75us; 75us; 76us; 76us; 76us; 77us; 78us; 78us; 78us; 79us; 79us; 80us; 81us; 81us; 82us; 82us; 83us; 83us; 83us; 83us; 83us; 83us; 83us; 83us; 83us; 83us; 83us; 84us; 85us; 86us; 86us; 87us; 87us; 87us; 87us; 87us; 88us; 88us; 89us; 89us; 89us; 90us; 90us; 91us; 91us; 92us; 92us; 93us; 93us; 93us; 94us; 94us; 95us; 96us; 96us; 97us; 97us; 98us; 98us; 98us; 99us; 99us; 100us; 100us; 100us; 100us; 101us; 101us; 102us; 102us; 102us; 102us; 102us; 103us; 103us; 103us; 104us; 104us; 105us; 105us; 105us; 106us; 107us; 107us; 107us; 108us; 108us; 109us; 109us; 109us; 110us; 110us; 111us; 111us; 112us; 113us; 114us; 114us; 114us; 115us; 116us; 116us; 117us; 117us; 118us; 118us; 119us; 119us; 120us; 120us; 120us; 120us; 120us; 120us; 120us; 120us; 120us; 120us; 121us; 121us; 122us; 122us; 122us; 123us; 124us; 124us; 125us; 125us; 125us; 125us; 126us; 126us; 126us; 127us; 127us; 127us; 128us; 128us; 129us; 129us; 130us; 130us; 131us; 131us; 132us; 132us; 133us; 134us; 135us; 136us; 137us; 138us; 138us; 139us; 139us; 140us; 141us; 141us; 142us; 143us; 144us; 145us; 145us; 145us; 145us; 146us; 146us; 147us; 148us; 148us; 148us; 149us; 149us; 150us; 150us; 151us; 151us; 151us; 151us; 151us; 152us; 152us; 153us; 154us; 154us; 155us; 155us; 156us; 156us; 156us; 157us; 157us; 157us; 158us; 159us; 159us; 160us; 161us; 161us; 162us; 162us; 163us; 163us; 163us; 163us; 163us; 163us; 163us; 163us; 163us; 163us; 163us; 163us; 163us; 163us; 163us; 163us; 163us; 164us; 164us; 164us; 164us; 165us; 165us; 166us; 166us; 167us; 167us; 168us; 169us; 169us; 169us; 169us; 170us; 170us; 171us; 171us; 171us; 171us; 171us; 172us; 172us; 172us; 172us; 172us; 172us; 173us; 173us; 174us; 174us; 175us; 175us; 176us; 177us; 177us; 177us; 177us; 177us; 177us; 178us; 178us; 179us; 179us; 179us; 179us; 180us; 180us; 180us; 180us; 180us; 180us; 180us; 180us; 180us; 180us; 180us; 180us; 180us; 180us; 180us; 180us; 180us; 180us; 180us; 180us; 181us; 181us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 182us; 183us; 183us; 184us; 184us; 185us; 185us; 186us; 187us; 187us; 187us; 188us; 188us; 188us; 189us; 189us; 190us; 190us; 191us; 191us; 192us; 193us; 193us; 193us; 193us; 193us; 193us; 194us; 194us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 195us; 196us; 196us; 197us; 197us; 197us; 198us; 198us; 198us; 198us; 199us; 200us; 200us; 200us; 200us; 200us; 201us; 201us; 202us; 203us; 204us; 204us; 204us; 205us; 205us; 205us; 205us; 205us; 205us; 206us; 206us; 206us; 206us; 207us; 207us; 207us; 207us; 207us; 207us; 207us; 207us; 207us; 207us; 207us; 207us; 208us; 208us; 209us; 209us; 210us; 210us; 210us; 210us; 210us; 210us; 210us; 210us; 210us; 210us; 210us; 210us; 210us; 210us; 210us; 210us; 210us; 211us; 211us; 211us; 211us; 211us; 211us; 211us; 211us; 211us; 211us; 211us; 212us; 212us; 213us; 213us; 213us; 213us; 213us; 214us; 214us; 215us; 215us; 215us; 215us; 215us; 215us; 215us; 215us; 215us; 215us; 216us; 216us; 216us; 216us; 217us; 217us; 217us; 217us; 218us; 218us; 218us; 218us; 219us; 219us; 219us; 219us; 219us; 219us; 219us; 219us; 219us; 220us; 220us; 220us; 221us; 221us; 222us; 222us; 223us; 223us; 223us; 223us; 223us; 224us; 224us; 224us; 225us; 225us; 226us; 226us; 227us; 227us; 227us; 228us; 229us; 229us; 229us; 229us; 230us; 230us; 231us; 231us; 232us; 233us; 233us; 234us; 234us; 235us; 235us; 236us; 236us; 236us; 237us; 237us; 238us; 238us; 238us; 238us; 238us; 238us; 238us; 239us; 239us; 240us; 240us; 240us; 240us; 241us; 241us; 242us; 242us; 243us; 243us; 243us; 243us; 243us; 244us; 244us; 244us; 245us; 245us; 245us; 246us; 246us; 247us; 247us; 247us; 248us; 249us; 249us; 249us; 250us; 251us; 251us; 252us; 252us; 252us; 252us; 252us; 253us; 253us; 253us; 253us; 253us; 253us; 253us; 253us; 254us; 254us; 255us; 255us; 256us; 256us; 257us; 257us; 258us; 258us; 259us; 259us; 260us; 260us; 261us; 261us; 261us; 261us; 261us; 261us; 262us; 262us; 263us; 264us; 264us; 264us; 264us; 265us; 265us; 265us; 266us; 266us; 267us; 267us; 268us; 268us; 268us; 268us; 268us; 268us; 268us; 269us; 269us; 269us; 269us; 270us; 271us; 271us; 271us; 272us; 272us; 273us; 273us; 274us; 274us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 275us; 276us; 276us; 277us; 277us; 277us; 277us; 277us; 277us; 277us; 278us; 278us; 278us; 279us; 279us; 280us; 281us; 281us; 282us; 282us; 282us; 283us; 283us; 283us; 284us; 284us; 285us; 285us; 285us; 285us; 286us; 286us; 287us; 288us; 289us; 289us; 289us; 289us; 290us; 290us; 290us; 290us; 290us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 291us; 292us; 293us; 293us; 294us; 294us; 295us; 295us; 295us; 295us; 296us; 297us; 297us; 297us; 298us; 298us; 299us; 299us; 300us; 300us; 300us; 300us; 301us; 301us; 301us; 302us; 302us; 302us; 302us; 303us; 303us; 304us; 304us; 305us; 305us; 306us; 306us; 307us; 307us; 308us; 308us; 309us; 309us; 310us; 310us; 311us; 311us; 312us; 312us; 313us; 313us; 314us; 314us; 315us; 315us; 316us; 316us; 317us; 317us; 317us; 318us; 318us; 319us; 319us; 319us; 320us; 320us; 320us; 321us; 321us; 321us; 322us; 323us; 323us; 323us; 324us; 324us; 324us; 325us; 325us; 325us; 325us; 325us; 326us; 326us; 326us; 326us; 326us; 326us; |]
+let _fsyacc_immediateActions = [|65535us; 49152us; 65535us; 49152us; 65535us; 49152us; 65535us; 49152us; 65535us; 49152us; 16389us; 16390us; 16391us; 16392us; 16393us; 16394us; 65535us; 16395us; 65535us; 16396us; 65535us; 16397us; 65535us; 16398us; 65535us; 16399us; 65535us; 16400us; 65535us; 16402us; 65535us; 65535us; 65535us; 16404us; 65535us; 16406us; 16407us; 16408us; 65535us; 65535us; 65535us; 16411us; 16412us; 65535us; 16413us; 65535us; 16414us; 65535us; 16415us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16419us; 65535us; 16420us; 65535us; 65535us; 16422us; 65535us; 65535us; 65535us; 16423us; 16424us; 16425us; 65535us; 65535us; 65535us; 16426us; 16427us; 65535us; 16428us; 16429us; 65535us; 65535us; 65535us; 16432us; 65535us; 65535us; 16433us; 16435us; 16436us; 65535us; 65535us; 65535us; 65535us; 16437us; 16438us; 16439us; 16440us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16442us; 65535us; 65535us; 65535us; 65535us; 65535us; 16445us; 65535us; 65535us; 16446us; 65535us; 65535us; 65535us; 16447us; 65535us; 65535us; 16448us; 65535us; 16449us; 65535us; 65535us; 16450us; 65535us; 65535us; 16452us; 16453us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16454us; 65535us; 16455us; 16456us; 16457us; 65535us; 65535us; 16458us; 16459us; 65535us; 65535us; 16460us; 16461us; 65535us; 16462us; 65535us; 65535us; 16463us; 16464us; 65535us; 65535us; 16465us; 16466us; 65535us; 65535us; 16467us; 16468us; 16469us; 16470us; 65535us; 65535us; 16472us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16473us; 65535us; 65535us; 65535us; 65535us; 65535us; 16476us; 65535us; 65535us; 16477us; 65535us; 16478us; 65535us; 65535us; 16479us; 65535us; 16481us; 65535us; 65535us; 16482us; 16483us; 65535us; 65535us; 16485us; 16486us; 65535us; 16488us; 65535us; 16489us; 65535us; 65535us; 16490us; 65535us; 16492us; 65535us; 16493us; 65535us; 16494us; 65535us; 16496us; 65535us; 16497us; 65535us; 65535us; 16499us; 65535us; 65535us; 65535us; 16500us; 16501us; 65535us; 65535us; 65535us; 16502us; 16503us; 65535us; 16504us; 16505us; 16506us; 65535us; 65535us; 65535us; 65535us; 16508us; 16511us; 16512us; 65535us; 16513us; 65535us; 16514us; 65535us; 65535us; 65535us; 65535us; 16517us; 16518us; 16519us; 65535us; 65535us; 16520us; 65535us; 16521us; 65535us; 16522us; 65535us; 65535us; 16523us; 16524us; 65535us; 65535us; 16525us; 65535us; 16526us; 16527us; 65535us; 16528us; 65535us; 65535us; 65535us; 16530us; 16531us; 65535us; 16532us; 16533us; 16534us; 16535us; 65535us; 65535us; 65535us; 16537us; 16538us; 16539us; 65535us; 65535us; 16540us; 16541us; 65535us; 16544us; 65535us; 65535us; 65535us; 65535us; 16545us; 65535us; 65535us; 16546us; 16547us; 16548us; 16549us; 65535us; 16550us; 65535us; 65535us; 16551us; 65535us; 65535us; 65535us; 16552us; 65535us; 65535us; 65535us; 65535us; 16553us; 65535us; 16554us; 65535us; 16555us; 65535us; 16556us; 65535us; 16557us; 65535us; 16558us; 16559us; 16560us; 16561us; 65535us; 65535us; 16562us; 65535us; 65535us; 16563us; 65535us; 65535us; 16566us; 16567us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16568us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16569us; 16570us; 65535us; 16571us; 16572us; 16573us; 65535us; 65535us; 16574us; 16575us; 65535us; 65535us; 16576us; 16577us; 65535us; 16578us; 65535us; 65535us; 16579us; 16580us; 65535us; 65535us; 16581us; 16582us; 16583us; 16584us; 65535us; 16585us; 65535us; 65535us; 16587us; 65535us; 16588us; 65535us; 65535us; 16589us; 16590us; 65535us; 65535us; 16592us; 65535us; 65535us; 65535us; 65535us; 65535us; 16593us; 65535us; 65535us; 65535us; 65535us; 16594us; 16595us; 65535us; 16597us; 65535us; 65535us; 65535us; 65535us; 16598us; 16599us; 65535us; 65535us; 16600us; 65535us; 65535us; 16601us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16602us; 16603us; 65535us; 16604us; 65535us; 16605us; 65535us; 16606us; 65535us; 65535us; 65535us; 65535us; 65535us; 16607us; 65535us; 16608us; 65535us; 65535us; 65535us; 65535us; 65535us; 16609us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16610us; 65535us; 16612us; 65535us; 65535us; 16613us; 65535us; 65535us; 16614us; 16615us; 65535us; 65535us; 65535us; 16616us; 16617us; 16619us; 16620us; 16621us; 16622us; 16623us; 65535us; 65535us; 16625us; 65535us; 65535us; 16627us; 65535us; 65535us; 16629us; 65535us; 65535us; 16630us; 16631us; 16632us; 65535us; 16634us; 16635us; 65535us; 16637us; 16638us; 65535us; 65535us; 16639us; 16640us; 16641us; 65535us; 65535us; 16642us; 65535us; 65535us; 65535us; 65535us; 16644us; 65535us; 16645us; 16646us; 65535us; 65535us; 16647us; 16648us; 16649us; 65535us; 65535us; 65535us; 65535us; 65535us; 16650us; 16651us; 16652us; 16653us; 65535us; 65535us; 16654us; 65535us; 65535us; 16655us; 16656us; 65535us; 16657us; 65535us; 16658us; 16659us; 65535us; 65535us; 16660us; 16661us; 65535us; 16662us; 65535us; 65535us; 16663us; 16664us; 16665us; 16666us; 16667us; 16668us; 65535us; 65535us; 65535us; 65535us; 16671us; 16672us; 65535us; 65535us; 16673us; 65535us; 65535us; 65535us; 65535us; 16674us; 16675us; 65535us; 16676us; 65535us; 65535us; 65535us; 16677us; 16678us; 65535us; 65535us; 65535us; 65535us; 16681us; 16682us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16688us; 16689us; 65535us; 65535us; 65535us; 16690us; 65535us; 65535us; 16691us; 65535us; 16692us; 65535us; 16693us; 16694us; 65535us; 65535us; 16695us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16696us; 65535us; 16697us; 16698us; 65535us; 65535us; 65535us; 65535us; 16702us; 65535us; 65535us; 16703us; 65535us; 16705us; 65535us; 65535us; 16706us; 65535us; 65535us; 65535us; 16708us; 65535us; 65535us; 16709us; 65535us; 65535us; 16710us; 65535us; 65535us; 16711us; 16712us; 65535us; 65535us; 16713us; 65535us; 65535us; 16714us; 65535us; 16715us; 65535us; 65535us; 65535us; 16717us; 65535us; 16718us; 65535us; 65535us; 16720us; 65535us; 65535us; 65535us; 65535us; 16724us; 16725us; 65535us; 65535us; 16726us; 16727us; 65535us; 16728us; 65535us; 65535us; 65535us; 65535us; 16729us; 65535us; 16730us; 16731us; 65535us; 65535us; 65535us; 65535us; 16732us; 65535us; 65535us; 16734us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16738us; 16739us; 65535us; 16740us; 65535us; 65535us; 65535us; 16741us; 65535us; 65535us; 16742us; 16743us; 16744us; 16745us; 16746us; 16747us; 16748us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16749us; 65535us; 65535us; 65535us; 16753us; 65535us; 16754us; 65535us; 65535us; 16756us; 65535us; 65535us; 65535us; 65535us; 16758us; 16759us; 16760us; 65535us; 65535us; 16761us; 65535us; 65535us; 16764us; 65535us; 65535us; 16765us; 65535us; 16767us; 16768us; 65535us; 65535us; 65535us; 65535us; 65535us; 16769us; 16770us; 16771us; 65535us; 65535us; 16772us; 16773us; 16774us; 65535us; 65535us; 16776us; 65535us; 65535us; 65535us; 16778us; 65535us; 16779us; 16780us; 65535us; 65535us; 16781us; 16782us; 16783us; 16784us; 16785us; 16786us; 16787us; 16788us; 16789us; 16790us; 16791us; 16792us; 16793us; 16794us; 16795us; 65535us; 16796us; 16797us; 16798us; 16799us; 65535us; 65535us; 16800us; 65535us; 65535us; 65535us; 16801us; 16804us; 65535us; 65535us; 16805us; 16806us; 65535us; 16807us; 65535us; 65535us; 16809us; 65535us; 16811us; 65535us; 16812us; 65535us; 65535us; 65535us; 16813us; 65535us; 65535us; 16816us; 65535us; 65535us; 16817us; 16818us; 16819us; 65535us; 16820us; 16821us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16822us; 65535us; 65535us; 65535us; 65535us; 16827us; 65535us; 65535us; 65535us; 65535us; 65535us; 16832us; 65535us; 16833us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16836us; 65535us; 16837us; 65535us; 16838us; 65535us; 16839us; 16840us; 65535us; 65535us; 16841us; 16842us; 65535us; 16843us; 65535us; 16844us; 65535us; 16845us; 16847us; 65535us; 16848us; 65535us; 65535us; 16849us; 65535us; 65535us; 16850us; 65535us; 65535us; 16851us; 65535us; 65535us; 16853us; 16854us; 16855us; 16856us; 16857us; 16858us; 65535us; 65535us; 16859us; 16860us; 65535us; 65535us; 16862us; 65535us; 65535us; 65535us; 16863us; 16864us; 65535us; 16865us; 16866us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16869us; 65535us; 65535us; 65535us; 65535us; 16873us; 65535us; 65535us; 16876us; 65535us; 65535us; 65535us; 65535us; 65535us; 16881us; 65535us; 16882us; 65535us; 65535us; 16885us; 65535us; 16886us; 65535us; 65535us; 16887us; 16888us; 16889us; 65535us; 65535us; 16890us; 65535us; 65535us; 16892us; 65535us; 65535us; 16894us; 65535us; 16896us; 65535us; 65535us; 65535us; 65535us; 16897us; 65535us; 16900us; 65535us; 65535us; 65535us; 16901us; 65535us; 16903us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16904us; 65535us; 65535us; 16905us; 16906us; 65535us; 16907us; 16908us; 65535us; 16909us; 16910us; 16911us; 16912us; 16913us; 65535us; 65535us; 16914us; 16915us; 65535us; 65535us; 16916us; 16917us; 65535us; 65535us; 16918us; 16919us; 65535us; 16920us; 65535us; 65535us; 16921us; 16922us; 16923us; 65535us; 65535us; 65535us; 65535us; 65535us; 16927us; 65535us; 16928us; 65535us; 65535us; 65535us; 65535us; 16930us; 16931us; 65535us; 16932us; 16933us; 16934us; 16935us; 65535us; 65535us; 65535us; 65535us; 16936us; 16937us; 16938us; 16939us; 16940us; 65535us; 65535us; 65535us; 16941us; 16942us; 16943us; 16944us; 16945us; 65535us; 65535us; 16946us; 16947us; 16948us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16952us; 65535us; 65535us; 65535us; 65535us; 65535us; 16953us; 16954us; 65535us; 65535us; 65535us; 65535us; 16955us; 65535us; 65535us; 16956us; 65535us; 16957us; 65535us; 65535us; 65535us; 16959us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16960us; 65535us; 16961us; 65535us; 16962us; 65535us; 65535us; 65535us; 16964us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16977us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16987us; 16988us; 16989us; 16990us; 16991us; 16992us; 16993us; 16994us; 16995us; 16996us; 16997us; 16998us; 16999us; 17000us; 17001us; 17002us; 17003us; 17004us; 17005us; 17006us; 17008us; 65535us; 65535us; 17009us; 65535us; 17010us; 65535us; 65535us; 17011us; 17012us; 17013us; 65535us; 17014us; 17015us; 17016us; 17017us; 65535us; 65535us; 65535us; 17019us; 17020us; 17021us; 17022us; 65535us; 65535us; 17025us; 65535us; 17026us; 65535us; 65535us; 65535us; 65535us; 17028us; 17029us; 65535us; 65535us; 65535us; 65535us; 17032us; 17033us; 65535us; 17034us; 17035us; 65535us; 17037us; 65535us; 17038us; 65535us; 65535us; 17040us; 65535us; 65535us; 17041us; 65535us; 65535us; 17042us; 65535us; 65535us; 17043us; 65535us; 65535us; 17044us; 65535us; 65535us; 17045us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 17046us; 65535us; 17047us; 17048us; 65535us; 17049us; 65535us; 17050us; 65535us; 65535us; 65535us; 17052us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 17058us; 65535us; 65535us; 65535us; 17060us; 65535us; 65535us; 17061us; 65535us; 65535us; 17062us; 65535us; 17063us; 17064us; 17065us; 65535us; 65535us; 17066us; 17067us; 17068us; 17069us; 65535us; 65535us; 17070us; 17071us; 17072us; 17073us; 17074us; 17076us; 65535us; 65535us; 65535us; 65535us; 17077us; 65535us; 17078us; 65535us; 65535us; 17079us; 65535us; 17080us; 17081us; 17082us; 17083us; 65535us; 65535us; 17084us; 65535us; 65535us; 17086us; 65535us; 17088us; 17089us; 65535us; 17093us; 17094us; 17095us; 17096us; 17097us; 17098us; 17099us; 17100us; 17101us; 17102us; 65535us; 65535us; 17103us; 17104us; 65535us; 17105us; 17106us; 65535us; 65535us; 65535us; 17107us; 17108us; 17109us; 17110us; 65535us; 65535us; 17111us; 17112us; 17113us; 17114us; 65535us; 65535us; 65535us; 17115us; 65535us; 17116us; 17117us; 17118us; 65535us; 17119us; 17120us; 17121us; 17122us; 17123us; 65535us; 65535us; 65535us; 65535us; 65535us; 17124us; 17125us; 17126us; 17127us; 65535us; 65535us; 17128us; 65535us; 17129us; 65535us; 65535us; 17131us; 17132us; 17133us; 17134us; 17135us; 17136us; 17137us; 17138us; 17139us; 17141us; 17142us; 65535us; 65535us; 17145us; 65535us; 17146us; 65535us; 17148us; 17149us; 17150us; 65535us; 65535us; 17152us; 17153us; 17154us; 65535us; 65535us; 65535us; 65535us; 65535us; 17155us; 17156us; 17159us; 65535us; 65535us; 65535us; 17161us; 65535us; 17163us; 65535us; 17164us; 65535us; 65535us; 65535us; 65535us; 65535us; 17165us; 17166us; 65535us; 65535us; 65535us; 17167us; 65535us; 65535us; 65535us; 65535us; 17170us; 65535us; 65535us; 65535us; 17171us; 65535us; 65535us; 17172us; 65535us; 65535us; 65535us; 17173us; 17174us; 65535us; 65535us; 65535us; 17178us; 17179us; 65535us; 17181us; 17182us; 65535us; 65535us; 17184us; 17186us; 17188us; 65535us; 65535us; 65535us; 17189us; 65535us; 17190us; 17192us; 17195us; 65535us; 17197us; 65535us; 65535us; 17198us; 65535us; 17199us; 65535us; 17200us; 65535us; 17202us; 65535us; 17203us; 65535us; 65535us; 65535us; 65535us; 17204us; 65535us; 17205us; 17206us; 65535us; 65535us; 17207us; 17208us; 17209us; 17210us; 17211us; 65535us; 65535us; 65535us; 17212us; 17213us; 65535us; 65535us; 65535us; 65535us; 17214us; 17215us; 65535us; 17216us; 17217us; 65535us; 17218us; 65535us; 17219us; 65535us; 17220us; 65535us; 65535us; 17221us; 65535us; 65535us; 65535us; 65535us; 65535us; 17227us; 65535us; 65535us; 17228us; 65535us; 65535us; 17230us; 65535us; 65535us; 17232us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 17240us; 65535us; 17242us; 65535us; 65535us; 17243us; 65535us; 17244us; 65535us; 17245us; 65535us; 65535us; 17247us; 65535us; 17248us; 65535us; 17251us; 65535us; 65535us; 65535us; 65535us; 17252us; 65535us; 17254us; 65535us; 17255us; 17256us; 65535us; 65535us; 65535us; 17257us; 17258us; 65535us; 17259us; 65535us; 65535us; 17260us; 65535us; 17261us; 65535us; 17262us; 65535us; 17263us; 65535us; 17264us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 17266us; 17267us; 65535us; 65535us; 17270us; 65535us; 65535us; 65535us; 17271us; 65535us; 65535us; 17274us; 65535us; 65535us; 17276us; 17277us; 65535us; 65535us; 65535us; 17278us; 17279us; 65535us; 65535us; 65535us; 65535us; 17280us; 17281us; 17282us; 17283us; 17284us; 17285us; 17286us; 65535us; 17288us; 17289us; 65535us; 17290us; 17291us; 65535us; 65535us; 17293us; 65535us; 17294us; 17295us; 65535us; 17296us; 65535us; 65535us; 65535us; 65535us; 17297us; 17298us; 17299us; 65535us; 17300us; 17301us; 17302us; 17303us; 65535us; 65535us; 17305us; 17307us; 17308us; 65535us; 65535us; 17310us; 65535us; 17311us; 65535us; 17313us; 65535us; 65535us; 17314us; 65535us; 65535us; 17316us; 17317us; 65535us; 17319us; 17320us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 17324us; 17325us; 65535us; 65535us; 17326us; 17327us; 17328us; 17329us; 65535us; 17330us; 17331us; 65535us; 65535us; 17332us; 65535us; 17333us; 17334us; 65535us; 65535us; 17335us; 65535us; 65535us; 17336us; 17337us; 17338us; 17339us; 17340us; 17341us; 17342us; 17343us; 17344us; 17345us; 17346us; 17347us; 17348us; 17349us; 17350us; 17351us; 17352us; 17353us; 17354us; 17355us; 17356us; 17357us; 17358us; 17359us; 65535us; 17361us; 65535us; 17362us; 17363us; 65535us; 17364us; 17365us; 17366us; 17367us; 65535us; 17369us; 65535us; 17370us; 17371us; 17372us; 17373us; 17374us; 17375us; 65535us; 17377us; 65535us; 17378us; 65535us; 65535us; 17382us; 17383us; 17384us; 17385us; 17386us; 17387us; 17388us; 17389us; 17391us; 17393us; 17395us; 17397us; 17399us; 17403us; 17405us; 17407us; 17408us; 17409us; 17410us; 17411us; 17412us; 17413us; 17414us; 17415us; 17416us; 17417us; 17418us; 17419us; 17420us; 17422us; 65535us; 65535us; 17424us; 17425us; 17426us; 65535us; 65535us; 17427us; 17428us; 17429us; 65535us; 17430us; 17431us; 17432us; 17433us; 65535us; 17434us; 17435us; 17436us; 65535us; 17437us; 17438us; 17439us; 17440us; 17441us; 17442us; 17443us; 17444us; 17445us; 17446us; 17447us; 17448us; 17449us; 17450us; |]
+let _fsyacc_reductions () = [|
+# 2775 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.ParsedSigFile)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+ raise (Internal.Utilities.Text.Parsing.Accept(Microsoft.FSharp.Core.Operators.box _1))
+ )
+ : '_startsignatureFile));
+# 2784 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.ParsedImplFile)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+ raise (Internal.Utilities.Text.Parsing.Accept(Microsoft.FSharp.Core.Operators.box _1))
+ )
+ : '_startimplementationFile));
+# 2793 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.ParsedFsiInteraction)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+ raise (Internal.Utilities.Text.Parsing.Accept(Microsoft.FSharp.Core.Operators.box _1))
+ )
+ : '_startinteraction));
+# 2802 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+ raise (Internal.Utilities.Text.Parsing.Accept(Microsoft.FSharp.Core.Operators.box _1))
+ )
+ : '_starttypedSeqExprEOF));
+# 2811 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+ raise (Internal.Utilities.Text.Parsing.Accept(Microsoft.FSharp.Core.Operators.box _1))
+ )
+ : '_starttypEOF));
+# 2820 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveItemsTerminator)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 497 "../pars.fsy"
+ IDefns (_1,lhs parseState)
+ )
+# 497 "../pars.fsy"
+ : Ast.ParsedFsiInteraction));
+# 2831 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 500 "../pars.fsy"
+ warning(Error(FSComp.SR.parsUnexpectedSemicolon(),rhs parseState 1))
+ IDefns ([],lhs parseState)
+ )
+# 500 "../pars.fsy"
+ : Ast.ParsedFsiInteraction));
+# 2842 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 504 "../pars.fsy"
+ IDefns ([],lhs parseState)
+ )
+# 504 "../pars.fsy"
+ : Ast.ParsedFsiInteraction));
+# 2852 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 508 "../pars.fsy"
+
+ )
+# 508 "../pars.fsy"
+ : 'interactiveTerminator));
+# 2862 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LexerWhitespaceContinuation)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 509 "../pars.fsy"
+ checkEndOfFileError _1
+ )
+# 509 "../pars.fsy"
+ : 'interactiveTerminator));
+# 2873 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveTerminator)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 523 "../pars.fsy"
+ []
+ )
+# 523 "../pars.fsy"
+ : 'interactiveItemsTerminator));
+# 2884 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveDefns)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveTerminator)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 526 "../pars.fsy"
+ _1
+ )
+# 526 "../pars.fsy"
+ : 'interactiveItemsTerminator));
+# 2896 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveTerminator)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 529 "../pars.fsy"
+ _1
+ )
+# 529 "../pars.fsy"
+ : 'interactiveItemsTerminator));
+# 2908 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveHash)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveTerminator)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 532 "../pars.fsy"
+ _1
+ )
+# 532 "../pars.fsy"
+ : 'interactiveItemsTerminator));
+# 2920 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveDefns)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveSeparators)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveItemsTerminator)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 535 "../pars.fsy"
+ _1 @ _3
+ )
+# 535 "../pars.fsy"
+ : 'interactiveItemsTerminator));
+# 2933 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveSeparators)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveItemsTerminator)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 538 "../pars.fsy"
+ _1 @ _3
+ )
+# 538 "../pars.fsy"
+ : 'interactiveItemsTerminator));
+# 2946 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveHash)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveSeparators)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveItemsTerminator)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 541 "../pars.fsy"
+ _1 @ _3
+ )
+# 541 "../pars.fsy"
+ : 'interactiveItemsTerminator));
+# 2959 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 547 "../pars.fsy"
+ _1
+ )
+# 547 "../pars.fsy"
+ : 'interactiveDefns));
+# 2970 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefn)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveDefns)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 550 "../pars.fsy"
+ _1 @ _2
+ )
+# 550 "../pars.fsy"
+ : 'interactiveDefns));
+# 2982 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 556 "../pars.fsy"
+ match _2 with
+ | Some vis -> errorR(Error(FSComp.SR.parsUnexpectedVisibilityDeclaration(vis.ToString()),rhs parseState 3))
+ | _ -> ()
+ let attrDecls = if not (isNil _1) then [ SynModuleDecl.Attributes (_1, rangeOfNonNilAttrs _1) ] else [] in
+ attrDecls @ [ mkSynDoDecl(_3)]
+ )
+# 556 "../pars.fsy"
+ : 'interactiveExpr));
+# 2999 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'hashDirective)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 566 "../pars.fsy"
+ [SynModuleDecl.HashDirective(_1,rhs parseState 1)]
+ )
+# 566 "../pars.fsy"
+ : 'interactiveHash));
+# 3010 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveSeparator)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 571 "../pars.fsy"
+
+ )
+# 571 "../pars.fsy"
+ : 'interactiveSeparators));
+# 3021 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveSeparator)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'interactiveSeparators)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 572 "../pars.fsy"
+
+ )
+# 572 "../pars.fsy"
+ : 'interactiveSeparators));
+# 3033 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 577 "../pars.fsy"
+
+ )
+# 577 "../pars.fsy"
+ : 'interactiveSeparator));
+# 3043 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 578 "../pars.fsy"
+
+ )
+# 578 "../pars.fsy"
+ : 'interactiveSeparator));
+# 3053 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'hashDirectiveArgs)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 588 "../pars.fsy"
+ ParsedHashDirective (_2,_3,lhs parseState)
+ )
+# 588 "../pars.fsy"
+ : 'hashDirective));
+# 3065 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 594 "../pars.fsy"
+ []
+ )
+# 594 "../pars.fsy"
+ : 'hashDirectiveArgs));
+# 3075 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'hashDirectiveArgs)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'hashDirectiveArg)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 597 "../pars.fsy"
+ _1 @ [_2]
+ )
+# 597 "../pars.fsy"
+ : 'hashDirectiveArgs));
+# 3087 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'stringOrKeywordString)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 603 "../pars.fsy"
+ _1
+ )
+# 603 "../pars.fsy"
+ : 'hashDirectiveArg));
+# 3098 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileNamespaceSpecs)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LexerWhitespaceContinuation)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 612 "../pars.fsy"
+ checkEndOfFileError _2; _1
+ )
+# 612 "../pars.fsy"
+ : Ast.ParsedSigFile));
+# 3110 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileNamespaceSpecs)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LexerWhitespaceContinuation)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 615 "../pars.fsy"
+ _1
+ )
+# 615 "../pars.fsy"
+ : Ast.ParsedSigFile));
+# 3122 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LexerWhitespaceContinuation)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 621 "../pars.fsy"
+ let emptySigFileFrag = ParsedSigFileFragment.AnonModule([],rhs parseState 1) in
+ ParsedSigFile ([],[emptySigFileFrag])
+ )
+# 621 "../pars.fsy"
+ : Ast.ParsedSigFile));
+# 3134 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleKeyword)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_access)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_rec)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 629 "../pars.fsy"
+ _3, _4.Lid, grabXmlDoc(parseState,1), _2
+ )
+# 629 "../pars.fsy"
+ : 'moduleIntro));
+# 3148 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_rec)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 635 "../pars.fsy"
+ _2, _3.Lid, grabXmlDoc(parseState,1)
+ )
+# 635 "../pars.fsy"
+ : 'namespaceIntro));
+# 3160 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileModuleSpec)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 641 "../pars.fsy"
+ ParsedSigFile ([],[ (_1 (false,[],PreXmlDoc.Empty)) ])
+ )
+# 641 "../pars.fsy"
+ : 'fileNamespaceSpecs));
+# 3171 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileModuleSpec)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileNamespaceSpecList)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 644 "../pars.fsy"
+ // If there are namespaces, the first fileModuleImpl may only contain # directives
+ let decls =
+ match (_1 (false,[],PreXmlDoc.Empty)) with
+ | ParsedSigFileFragment.AnonModule(decls,m) -> decls
+ | ParsedSigFileFragment.NamespaceFragment(_,_,_, decls, _,_,_) -> decls
+ | ParsedSigFileFragment.NamedModule(SynModuleOrNamespaceSig(_,_,_,_,_,_,_,m)) ->
+ raiseParseErrorAt m (FSComp.SR.parsOnlyHashDirectivesAllowed())
+ let decls =
+ decls |> List.collect (function
+ | (SynModuleSigDecl.HashDirective (hd,_)) -> [hd]
+ | d ->
+ reportParseErrorAt d.Range (FSComp.SR.parsOnlyHashDirectivesAllowed())
+ [])
+ ParsedSigFile (decls, _2)
+ )
+# 644 "../pars.fsy"
+ : 'fileNamespaceSpecs));
+# 3196 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileNamespaceSpec)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileNamespaceSpecList)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 662 "../pars.fsy"
+ _1 :: _2
+ )
+# 662 "../pars.fsy"
+ : 'fileNamespaceSpecList));
+# 3208 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileNamespaceSpec)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 665 "../pars.fsy"
+ [_1]
+ )
+# 665 "../pars.fsy"
+ : 'fileNamespaceSpecList));
+# 3219 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'namespaceIntro)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'deprecated_opt_equals)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileModuleSpec)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 669 "../pars.fsy"
+ let isRec,path,xml = _1 in (_3 (isRec,path,xml))
+ )
+# 669 "../pars.fsy"
+ : 'fileNamespaceSpec));
+# 3232 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleIntro)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleSpfnsPossiblyEmptyBlock)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 675 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ let m2 = rhs parseState 3
+ let m = (rhs2 parseState 3 4)
+ let isRec,path2,xml,vis = _3
+ (fun (isRec2,path,_) ->
+ if not (isNil path) then errorR(Error(FSComp.SR.parsNamespaceOrModuleNotBoth(),m2))
+ let lid = path@path2
+ ParsedSigFileFragment.NamedModule(SynModuleOrNamespaceSig(lid, (isRec || isRec2), NamedModule, _4, xml,_1,vis,m)))
+ )
+# 675 "../pars.fsy"
+ : 'fileModuleSpec));
+# 3253 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleSpfnsPossiblyEmptyBlock)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 685 "../pars.fsy"
+ let m = (rhs parseState 1)
+ (fun (isRec, path, xml) ->
+ match path with
+ | [] -> ParsedSigFileFragment.AnonModule(_1, m)
+ | _ -> ParsedSigFileFragment.NamespaceFragment(path, isRec, DeclaredNamespace, _1, xml,[],m))
+ )
+# 685 "../pars.fsy"
+ : 'fileModuleSpec));
+# 3268 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleSpfnsPossiblyEmpty)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 694 "../pars.fsy"
+ _1
+ )
+# 694 "../pars.fsy"
+ : 'moduleSpfnsPossiblyEmptyBlock));
+# 3279 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleSpfnsPossiblyEmpty)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 697 "../pars.fsy"
+ _2
+ )
+# 697 "../pars.fsy"
+ : 'moduleSpfnsPossiblyEmptyBlock));
+# 3292 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleSpfnsPossiblyEmpty)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 700 "../pars.fsy"
+ // The lex filter ensures we can only get a mismatch in OBLOCKBEGIN/OBLOCKEND tokens if there was some other kind of error, hence we don't need to report this error
+ // reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnClosedBlockInHashLight())
+ _2
+
+ )
+# 700 "../pars.fsy"
+ : 'moduleSpfnsPossiblyEmptyBlock));
+# 3307 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 706 "../pars.fsy"
+ []
+ )
+# 706 "../pars.fsy"
+ : 'moduleSpfnsPossiblyEmptyBlock));
+# 3318 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleSpfns)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 711 "../pars.fsy"
+ _1
+ )
+# 711 "../pars.fsy"
+ : 'moduleSpfnsPossiblyEmpty));
+# 3329 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 714 "../pars.fsy"
+ []
+ )
+# 714 "../pars.fsy"
+ : 'moduleSpfnsPossiblyEmpty));
+# 3339 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 717 "../pars.fsy"
+ []
+ )
+# 717 "../pars.fsy"
+ : 'moduleSpfnsPossiblyEmpty));
+# 3349 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleSpfn)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_topSeparators)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleSpfns)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 722 "../pars.fsy"
+ _1 :: _3
+ )
+# 722 "../pars.fsy"
+ : 'moduleSpfns));
+# 3362 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'topSeparators)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleSpfns)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 725 "../pars.fsy"
+ (* silent recovery *) _3
+ )
+# 725 "../pars.fsy"
+ : 'moduleSpfns));
+# 3374 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleSpfn)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_topSeparators)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 728 "../pars.fsy"
+ [_1]
+ )
+# 728 "../pars.fsy"
+ : 'moduleSpfns));
+# 3386 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'hashDirective)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 733 "../pars.fsy"
+ SynModuleSigDecl.HashDirective (_1,rhs2 parseState 1 1)
+ )
+# 733 "../pars.fsy"
+ : 'moduleSpfn));
+# 3397 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'valSpfn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 736 "../pars.fsy"
+ _1
+ )
+# 736 "../pars.fsy"
+ : 'moduleSpfn));
+# 3408 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleIntro)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'colonOrEquals)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'namedModuleAbbrevBlock)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 739 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ let isRec, path, xml, vis = _3
+ if isRec then raiseParseErrorAt (rhs parseState 3) (FSComp.SR.parsInvalidUseOfRec())
+ if not (isSingleton path) then raiseParseErrorAt (rhs parseState 3) (FSComp.SR.parsModuleAbbreviationMustBeSimpleName())
+ if not (isNil _1) then raiseParseErrorAt (rhs parseState 1) (FSComp.SR.parsIgnoreAttributesOnModuleAbbreviation())
+ match vis with
+ | Some vis -> raiseParseErrorAt (rhs parseState 1) (FSComp.SR.parsIgnoreVisibilityOnModuleAbbreviationAlwaysPrivate(vis.ToString()))
+ | _ -> SynModuleSigDecl.ModuleAbbrev(List.head path,_5,rhs2 parseState 3 5)
+ )
+# 739 "../pars.fsy"
+ : 'moduleSpfn));
+# 3430 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleIntro)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'colonOrEquals)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleSpecBlock)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 749 "../pars.fsy"
+ let isRec, path, xml, vis = _3
+ if not (isSingleton path) then raiseParseErrorAt (rhs parseState 3) (FSComp.SR.parsModuleDefnMustBeSimpleName())
+ if isRec then raiseParseErrorAt (rhs parseState 3) (FSComp.SR.parsInvalidUseOfRec())
+ let info = ComponentInfo(_1,[],[],path,xml,false,vis,rhs parseState 3)
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ SynModuleSigDecl.NestedModule(info, isRec, _5, rhs2 parseState 3 5)
+ )
+# 749 "../pars.fsy"
+ : 'moduleSpfn));
+# 3450 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypeDefnSig list)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 757 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ let (TypeDefnSig(ComponentInfo(cas,a,cs,b,c,d,d2,d3),e,f,g)),rest =
+ match _3 with
+ | [] -> raiseParseErrorAt (rhs parseState 3) (FSComp.SR.parsUnexpectedEmptyModuleDefn())
+ | h :: t -> h,t
+ let tc = (TypeDefnSig(ComponentInfo(_1@cas,a,cs,b,c,d,d2,d3),e,f,g))in
+ SynModuleSigDecl.Types (tc :: rest,rhs parseState 3)
+ )
+# 757 "../pars.fsy"
+ : 'moduleSpfn));
+# 3469 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'exconSpfn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 766 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ let (SynExceptionSig(SynExceptionDefnRepr(cas,a,b,c,d,d2),e,f)) = _3
+ let ec = (SynExceptionSig(SynExceptionDefnRepr(_1@cas,a,b,c,d,d2),e,f))
+ SynModuleSigDecl.Exception(ec, rhs parseState 3)
+ )
+# 766 "../pars.fsy"
+ : 'moduleSpfn));
+# 3485 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 772 "../pars.fsy"
+ SynModuleSigDecl.Open (_2.Lid, unionRanges (rhs parseState 1) _2.Range)
+ )
+# 772 "../pars.fsy"
+ : 'moduleSpfn));
+# 3496 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_inline)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_mutable)) in
+ let _7 = (let data = parseState.GetInput(7) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_access)) in
+ let _8 = (let data = parseState.GetInput(8) in (Microsoft.FSharp.Core.Operators.unbox data : 'nameop)) in
+ let _9 = (let data = parseState.GetInput(9) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_explicitValTyparDecls)) in
+ let _11 = (let data = parseState.GetInput(11) in (Microsoft.FSharp.Core.Operators.unbox data : 'topTypeWithTypeConstraints)) in
+ let _12 = (let data = parseState.GetInput(12) in (Microsoft.FSharp.Core.Operators.unbox data : 'optLiteralValueSpfn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 776 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ let attr1,attr2,isInline,isMutable,vis2,id,doc,explicitValTyparDecls,(ty,arity),konst = (_1),(_4),(_5),(_6),(_7),(_8),grabXmlDoc(parseState,3),(_9),(_11),(_12)
+ if not (isNil attr2) then errorR(Deprecated(FSComp.SR.parsAttributesMustComeBeforeVal(),rhs parseState 4))
+ let m = rhs2 parseState 3 11
+ let valSpfn = ValSpfn((attr1@attr2),id,explicitValTyparDecls,ty,arity,isInline,isMutable,doc, vis2,konst,m)
+ SynModuleSigDecl.Val(valSpfn,m)
+
+ )
+# 776 "../pars.fsy"
+ : 'valSpfn));
+# 3522 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 787 "../pars.fsy"
+ None
+ )
+# 787 "../pars.fsy"
+ : 'optLiteralValueSpfn));
+# 3532 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 790 "../pars.fsy"
+ Some(_2)
+ )
+# 790 "../pars.fsy"
+ : 'optLiteralValueSpfn));
+# 3543 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_ODECLEND)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 793 "../pars.fsy"
+ Some(_3)
+ )
+# 793 "../pars.fsy"
+ : 'optLiteralValueSpfn));
+# 3556 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleSpfns)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 801 "../pars.fsy"
+ _2
+ )
+# 801 "../pars.fsy"
+ : 'moduleSpecBlock));
+# 3568 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'sigOrBegin)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleSpfnsPossiblyEmpty)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 805 "../pars.fsy"
+ _3
+ )
+# 805 "../pars.fsy"
+ : 'moduleSpecBlock));
+# 3581 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'sigOrBegin)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleSpfnsPossiblyEmpty)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 809 "../pars.fsy"
+ _2
+ )
+# 809 "../pars.fsy"
+ : 'moduleSpecBlock));
+# 3593 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeKeyword)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconSpfnList)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 815 "../pars.fsy"
+ _2
+ )
+# 815 "../pars.fsy"
+ : Ast.SynTypeDefnSig list));
+# 3605 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconSpfn)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconSpfnList)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 820 "../pars.fsy"
+ _1 :: _3
+ )
+# 820 "../pars.fsy"
+ : 'tyconSpfnList));
+# 3617 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconSpfn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 823 "../pars.fsy"
+ [_1]
+ )
+# 823 "../pars.fsy"
+ : 'tyconSpfnList));
+# 3628 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeNameInfo)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconSpfnRhsBlock)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 829 "../pars.fsy"
+ let lhsm = rhs parseState 1
+ _3 lhsm _1
+ )
+# 829 "../pars.fsy"
+ : 'tyconSpfn));
+# 3641 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeNameInfo)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_classSpfn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 832 "../pars.fsy"
+ TypeDefnSig(_1,SynTypeDefnSigRepr.Simple (SynTypeDefnSimpleRepr.None (lhs parseState),lhs parseState),_2,lhs parseState)
+ )
+# 832 "../pars.fsy"
+ : 'tyconSpfn));
+# 3653 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconSpfnRhs)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'classSpfnMembers)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_classSpfn)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ let _7 = (let data = parseState.GetInput(7) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_classSpfn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 846 "../pars.fsy"
+ let m = lhs parseState
+ (fun lhsm nameInfo ->
+ _2 lhsm nameInfo (checkForMultipleAugmentations m (_4 @ _5) _7))
+ )
+# 846 "../pars.fsy"
+ : 'tyconSpfnRhsBlock));
+# 3671 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconSpfnRhs)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_classSpfn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 851 "../pars.fsy"
+ let m = lhs parseState
+ (fun lhsm nameInfo ->
+ _1 lhsm nameInfo _2)
+ )
+# 851 "../pars.fsy"
+ : 'tyconSpfnRhsBlock));
+# 3685 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypeDefnSimpleRepr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 859 "../pars.fsy"
+ let m = _1.Range
+ (fun lhsm nameInfo augmentation ->
+ TypeDefnSig(nameInfo,SynTypeDefnSigRepr.Simple (_1,m),augmentation,m))
+ )
+# 859 "../pars.fsy"
+ : 'tyconSpfnRhs));
+# 3698 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconClassSpfn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 864 "../pars.fsy"
+ let m = lhs parseState
+ let needsCheck,(kind,decls) = _1
+ (fun nameRange nameInfo augmentation ->
+ if needsCheck && isNil decls then
+ reportParseErrorAt nameRange (FSComp.SR.parsEmptyTypeDefinition())
+ TypeDefnSig(nameInfo,SynTypeDefnSigRepr.ObjectModel (kind,decls,m),augmentation,m))
+ )
+# 864 "../pars.fsy"
+ : 'tyconSpfnRhs));
+# 3714 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'topType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 872 "../pars.fsy"
+ let m = lhs parseState
+ let ty,arity = _3
+ let invoke = SynMemberSig.Member(ValSpfn([],mkSynId m "Invoke",inferredTyparDecls,ty,arity,false,false,PreXmlDoc.Empty,None,None,m),AbstractMemberFlags MemberKind.Member,m)
+ (fun nameRange nameInfo augmentation ->
+ if not (isNil augmentation) then raiseParseErrorAt m (FSComp.SR.parsAugmentationsIllegalOnDelegateType())
+ TypeDefnSig(nameInfo,SynTypeDefnSigRepr.ObjectModel (TyconDelegate (ty,arity),[invoke],m),[],m))
+ )
+# 872 "../pars.fsy"
+ : 'tyconSpfnRhs));
+# 3730 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classSpfnBlockKindUnspecified)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 883 "../pars.fsy"
+ let needsCheck,decls = _1
+ needsCheck,(TyconUnspecified, decls)
+ )
+# 883 "../pars.fsy"
+ : 'tyconClassSpfn));
+# 3742 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classOrInterfaceOrStruct)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classSpfnBlock)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 887 "../pars.fsy"
+ false,(_1,_2)
+ )
+# 887 "../pars.fsy"
+ : 'tyconClassSpfn));
+# 3754 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classOrInterfaceOrStruct)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classSpfnBlock)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 890 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedClassInterfaceOrStruct())
+ false,(_1,_2)
+ )
+# 890 "../pars.fsy"
+ : 'tyconClassSpfn));
+# 3768 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classOrInterfaceOrStruct)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 894 "../pars.fsy"
+ // silent recovery
+ false,(_1,[])
+ )
+# 894 "../pars.fsy"
+ : 'tyconClassSpfn));
+# 3780 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classSpfnMembers)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 901 "../pars.fsy"
+ true, _2
+ )
+# 901 "../pars.fsy"
+ : 'classSpfnBlockKindUnspecified));
+# 3792 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classSpfnMembers)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 904 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 3) (FSComp.SR.parsUnexpectedEndOfFileTypeSignature())
+ false, _2
+ )
+# 904 "../pars.fsy"
+ : 'classSpfnBlockKindUnspecified));
+# 3805 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classSpfnBlock)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 909 "../pars.fsy"
+ false, _2
+ )
+# 909 "../pars.fsy"
+ : 'classSpfnBlockKindUnspecified));
+# 3816 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classSpfnBlock)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 912 "../pars.fsy"
+ false, _2
+ )
+# 912 "../pars.fsy"
+ : 'classSpfnBlockKindUnspecified));
+# 3828 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classSpfnMembers)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 918 "../pars.fsy"
+ _2
+ )
+# 918 "../pars.fsy"
+ : 'classSpfnBlock));
+# 3840 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classSpfnMembers)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 921 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 3) (FSComp.SR.parsUnexpectedEndOfFileTypeSignature())
+ _2
+ )
+# 921 "../pars.fsy"
+ : 'classSpfnBlock));
+# 3853 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classSpfnMembers)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 924 "../pars.fsy"
+ _1
+ )
+# 924 "../pars.fsy"
+ : 'classSpfnBlock));
+# 3864 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classSpfnMembersAtLeastOne)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 929 "../pars.fsy"
+ _1
+ )
+# 929 "../pars.fsy"
+ : 'classSpfnMembers));
+# 3875 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 932 "../pars.fsy"
+ []
+ )
+# 932 "../pars.fsy"
+ : 'classSpfnMembers));
+# 3885 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classMemberSpfn)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'classSpfnMembers)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 938 "../pars.fsy"
+ _1 :: _3
+ )
+# 938 "../pars.fsy"
+ : 'classSpfnMembersAtLeastOne));
+# 3898 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'memberSpecFlags)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_inline)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_access)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'nameop)) in
+ let _7 = (let data = parseState.GetInput(7) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_explicitValTyparDecls)) in
+ let _9 = (let data = parseState.GetInput(9) in (Microsoft.FSharp.Core.Operators.unbox data : 'topTypeWithTypeConstraints)) in
+ let _10 = (let data = parseState.GetInput(10) in (Microsoft.FSharp.Core.Operators.unbox data : 'classMemberSpfnGetSet)) in
+ let _11 = (let data = parseState.GetInput(11) in (Microsoft.FSharp.Core.Operators.unbox data : 'optLiteralValueSpfn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 944 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ let isInline,doc,vis2,id,explicitValTyparDecls,(ty,arity),optLiteralValue = _4,grabXmlDoc(parseState,3),_5,_6,_7,_9,_11
+ let getSetRangeOpt, getSet = _10
+ let getSetAdjuster arity = match arity,getSet with SynValInfo([],_),MemberKind.Member -> MemberKind.PropertyGet | _ -> getSet
+ let wholeRange =
+ let m = rhs parseState 3
+ match getSetRangeOpt with
+ | None -> unionRanges m ty.Range
+ | Some m2 -> unionRanges m m2
+ let valSpfn = ValSpfn(_1,id,explicitValTyparDecls,ty,arity, isInline,false,doc, vis2,optLiteralValue,wholeRange)
+ let _,flags = _3
+ SynMemberSig.Member(valSpfn, flags (getSetAdjuster arity),wholeRange)
+ )
+# 944 "../pars.fsy"
+ : 'classMemberSpfn));
+# 3929 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'interfaceMember)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 958 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ SynMemberSig.Interface (_4,unionRanges (rhs parseState 3) (_4).Range)
+ )
+# 958 "../pars.fsy"
+ : 'classMemberSpfn));
+# 3944 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 962 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ SynMemberSig.Inherit (_4,unionRanges (rhs parseState 3) (_4).Range)
+ )
+# 962 "../pars.fsy"
+ : 'classMemberSpfn));
+# 3958 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'fieldDecl)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 966 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ let fld = _4 _1 false
+ SynMemberSig.ValField(fld,rhs2 parseState 3 4)
+ )
+# 966 "../pars.fsy"
+ : 'classMemberSpfn));
+# 3973 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'fieldDecl)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 971 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ SynMemberSig.ValField(_5 _1 true,rhs2 parseState 3 5)
+ )
+# 971 "../pars.fsy"
+ : 'classMemberSpfn));
+# 3987 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeKeyword)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconSpfn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 975 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ SynMemberSig.NestedType(_5,rhs2 parseState 3 5)
+ )
+# 975 "../pars.fsy"
+ : 'classMemberSpfn));
+# 4002 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'topTypeWithTypeConstraints)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 979 "../pars.fsy"
+ let vis,doc,(ty,valSynInfo) = _2,grabXmlDoc(parseState,3),_5
+ let m = unionRanges (rhs parseState 3) ty.Range
+ let isInline = false
+ let valSpfn = ValSpfn (_1, mkSynId (rhs parseState 3) "new", noInferredTypars, ty, valSynInfo, isInline, false, doc, vis, None, m)
+ SynMemberSig.Member(valSpfn, CtorMemberFlags,m)
+ )
+# 979 "../pars.fsy"
+ : 'classMemberSpfn));
+# 4019 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 989 "../pars.fsy"
+ None, MemberKind.Member
+ )
+# 989 "../pars.fsy"
+ : 'classMemberSpfnGetSet));
+# 4029 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classMemberSpfnGetSetElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 992 "../pars.fsy"
+ Some (rhs2 parseState 1 2), _2
+ )
+# 992 "../pars.fsy"
+ : 'classMemberSpfnGetSet));
+# 4040 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classMemberSpfnGetSetElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 995 "../pars.fsy"
+ Some (rhs2 parseState 1 2), _2
+ )
+# 995 "../pars.fsy"
+ : 'classMemberSpfnGetSet));
+# 4051 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classMemberSpfnGetSetElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 998 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedWith())
+ Some (rhs2 parseState 1 2), _2
+ )
+# 998 "../pars.fsy"
+ : 'classMemberSpfnGetSet));
+# 4063 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'nameop)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1005 "../pars.fsy"
+ (let (id:Ident) = _1
+ if id.idText = "get" then MemberKind.PropertyGet
+ else if id.idText = "set" then MemberKind.PropertySet
+ else raiseParseErrorAt (rhs parseState 1) (FSComp.SR.parsGetOrSetRequired()))
+ )
+# 1005 "../pars.fsy"
+ : 'classMemberSpfnGetSetElements));
+# 4077 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'nameop)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'nameop)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1011 "../pars.fsy"
+ let (id:Ident) = _1
+ if not ((id.idText = "get" && _3.idText = "set") ||
+ (id.idText = "set" && _3.idText = "get")) then
+ raiseParseErrorAt (rhs2 parseState 1 3) (FSComp.SR.parsGetOrSetRequired())
+ MemberKind.PropertyGetSet
+ )
+# 1011 "../pars.fsy"
+ : 'classMemberSpfnGetSetElements));
+# 4093 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'memberFlags)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1018 "../pars.fsy"
+ _1
+ )
+# 1018 "../pars.fsy"
+ : 'memberSpecFlags));
+# 4104 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1019 "../pars.fsy"
+ (false,AbstractMemberFlags)
+ )
+# 1019 "../pars.fsy"
+ : 'memberSpecFlags));
+# 4114 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1020 "../pars.fsy"
+ (false,AbstractMemberFlags)
+ )
+# 1020 "../pars.fsy"
+ : 'memberSpecFlags));
+# 4124 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExceptionDefnRepr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_classSpfn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1026 "../pars.fsy"
+ SynExceptionSig(_1,_2,lhs parseState)
+ )
+# 1026 "../pars.fsy"
+ : 'exconSpfn));
+# 4136 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classSpfnBlock)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'declEnd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1032 "../pars.fsy"
+ _2
+ )
+# 1032 "../pars.fsy"
+ : 'opt_classSpfn));
+# 4148 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1035 "../pars.fsy"
+ []
+ )
+# 1035 "../pars.fsy"
+ : 'opt_classSpfn));
+# 4158 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileNamespaceImpls)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LexerWhitespaceContinuation)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1044 "../pars.fsy"
+ checkEndOfFileError _2; _1
+ )
+# 1044 "../pars.fsy"
+ : Ast.ParsedImplFile));
+# 4170 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileNamespaceImpls)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LexerWhitespaceContinuation)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1047 "../pars.fsy"
+ _1
+ )
+# 1047 "../pars.fsy"
+ : Ast.ParsedImplFile));
+# 4182 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LexerWhitespaceContinuation)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1053 "../pars.fsy"
+ let emptyImplFileFrag = ParsedImplFileFragment.AnonModule([],rhs parseState 1) in
+ ParsedImplFile ([],[emptyImplFileFrag])
+ )
+# 1053 "../pars.fsy"
+ : Ast.ParsedImplFile));
+# 4194 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileModuleImpl)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1060 "../pars.fsy"
+ ParsedImplFile ([], [ (_1 (false,[],PreXmlDoc.Empty)) ])
+ )
+# 1060 "../pars.fsy"
+ : 'fileNamespaceImpls));
+# 4205 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileModuleImpl)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileNamespaceImplList)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1063 "../pars.fsy"
+ // If there are namespaces, the first fileModuleImpl may only contain # directives
+ let decls =
+ match (_1 (false,[],PreXmlDoc.Empty)) with
+ | ParsedImplFileFragment.AnonModule(decls,m) -> decls
+ | ParsedImplFileFragment.NamespaceFragment(_,_,_, decls, _,_,_) -> decls
+ | ParsedImplFileFragment.NamedModule(SynModuleOrNamespace(_,_,_,_,_,_,_,m)) ->
+ raiseParseErrorAt m (FSComp.SR.parsOnlyHashDirectivesAllowed())
+ let decls =
+ decls |> List.collect (function
+ | (SynModuleDecl.HashDirective (hd,_)) -> [hd]
+ | d ->
+ reportParseErrorAt d.Range (FSComp.SR.parsOnlyHashDirectivesAllowed())
+ [])
+ ParsedImplFile (decls, _2)
+ )
+# 1063 "../pars.fsy"
+ : 'fileNamespaceImpls));
+# 4230 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileNamespaceImpl)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileNamespaceImplList)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1082 "../pars.fsy"
+ _1 :: _2
+ )
+# 1082 "../pars.fsy"
+ : 'fileNamespaceImplList));
+# 4242 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileNamespaceImpl)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1085 "../pars.fsy"
+ [_1]
+ )
+# 1085 "../pars.fsy"
+ : 'fileNamespaceImplList));
+# 4253 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'namespaceIntro)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'deprecated_opt_equals)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'fileModuleImpl)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1091 "../pars.fsy"
+ let isRec, path, xml = _1 in (_3 (isRec, path, xml))
+ )
+# 1091 "../pars.fsy"
+ : 'fileNamespaceImpl));
+# 4266 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleIntro)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynModuleDecl list)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1097 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ let m2 = rhs parseState 3
+ let m = (m2, _4) ||> unionRangeWithListBy (fun modu -> modu.Range)
+ let isRec2,path2,xml,vis = _3
+ (fun (isRec, path, _) ->
+ if not (isNil path) then errorR(Error(FSComp.SR.parsNamespaceOrModuleNotBoth(),m2))
+ let lid = path@path2
+ ParsedImplFileFragment.NamedModule(SynModuleOrNamespace(lid, (isRec || isRec2), NamedModule, _4, xml,_1,vis,m)))
+ )
+# 1097 "../pars.fsy"
+ : 'fileModuleImpl));
+# 4287 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynModuleDecl list)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1107 "../pars.fsy"
+ let m = (rhs parseState 1)
+ (fun (isRec, path, xml) ->
+ match path with
+ | [] -> ParsedImplFileFragment.AnonModule(_1,m)
+ | _ -> ParsedImplFileFragment.NamespaceFragment(path, isRec, DeclaredNamespace, _1, xml,[],m))
+ )
+# 1107 "../pars.fsy"
+ : 'fileModuleImpl));
+# 4302 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefnsOrExprPossiblyEmpty)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1117 "../pars.fsy"
+ _2
+ )
+# 1117 "../pars.fsy"
+ : Ast.SynModuleDecl list));
+# 4315 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefnsOrExprPossiblyEmpty)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1120 "../pars.fsy"
+ // The lex filter ensures we can only get a mismatch in OBLOCKBEGIN/OBLOCKEND tokens if there was some other kind of error, hence we don't need to report this error
+ // reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnClosedBlockInHashLight())
+ _2
+ )
+# 1120 "../pars.fsy"
+ : Ast.SynModuleDecl list));
+# 4329 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1125 "../pars.fsy"
+ []
+ )
+# 1125 "../pars.fsy"
+ : Ast.SynModuleDecl list));
+# 4340 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefnsOrExprPossiblyEmpty)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1128 "../pars.fsy"
+ _1
+ )
+# 1128 "../pars.fsy"
+ : Ast.SynModuleDecl list));
+# 4351 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefnsOrExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1134 "../pars.fsy"
+ _1
+ )
+# 1134 "../pars.fsy"
+ : 'moduleDefnsOrExprPossiblyEmpty));
+# 4362 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1137 "../pars.fsy"
+ []
+ )
+# 1137 "../pars.fsy"
+ : 'moduleDefnsOrExprPossiblyEmpty));
+# 4372 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'topSeparators)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefnsOrExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1144 "../pars.fsy"
+ match _2 with
+ | Some vis -> errorR(Error(FSComp.SR.parsUnexpectedVisibilityDeclaration(vis.ToString()),rhs parseState 3))
+ | _ -> ()
+ let attrDecls = if not (isNil _1) then [ SynModuleDecl.Attributes (_1, rangeOfNonNilAttrs _1) ] else []
+ attrDecls @ mkSynDoDecl (_3) :: _5
+ )
+# 1144 "../pars.fsy"
+ : 'moduleDefnsOrExpr));
+# 4391 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'topSeparators)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1151 "../pars.fsy"
+ match _2 with
+ | Some vis -> errorR(Error(FSComp.SR.parsUnexpectedVisibilityDeclaration(vis.ToString()),rhs parseState 3))
+ | _ -> ()
+ let attrDecls = if not (isNil _1) then [ SynModuleDecl.Attributes (_1, rangeOfNonNilAttrs _1) ] else []
+ attrDecls @ [ mkSynDoDecl(_3) ]
+ )
+# 1151 "../pars.fsy"
+ : 'moduleDefnsOrExpr));
+# 4409 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1158 "../pars.fsy"
+ match _2 with
+ | Some vis -> errorR(Error(FSComp.SR.parsUnexpectedVisibilityDeclaration(vis.ToString()),rhs parseState 3))
+ | _ -> ()
+ let attrDecls = if not (isNil _1) then [ SynModuleDecl.Attributes (_1, rangeOfNonNilAttrs _1) ] else []
+ attrDecls @ [ mkSynDoDecl(_3) ]
+ )
+# 1158 "../pars.fsy"
+ : 'moduleDefnsOrExpr));
+# 4426 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefns)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1165 "../pars.fsy"
+ _1
+ )
+# 1165 "../pars.fsy"
+ : 'moduleDefnsOrExpr));
+# 4437 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1168 "../pars.fsy"
+ if not (isNil _1) then [ SynModuleDecl.Attributes (_1, rangeOfNonNilAttrs _1) ] else []
+ )
+# 1168 "../pars.fsy"
+ : 'moduleDefnsOrExpr));
+# 4448 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefnOrDirective)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefns)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1174 "../pars.fsy"
+ _1 @ _2
+ )
+# 1174 "../pars.fsy"
+ : 'moduleDefns));
+# 4460 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefnOrDirective)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'topSeparators)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefnsOrExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1177 "../pars.fsy"
+ _1 @ _3
+ )
+# 1177 "../pars.fsy"
+ : 'moduleDefns));
+# 4473 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefnOrDirective)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1180 "../pars.fsy"
+ _1
+ )
+# 1180 "../pars.fsy"
+ : 'moduleDefns));
+# 4484 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefnOrDirective)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'topSeparators)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1183 "../pars.fsy"
+ _1
+ )
+# 1183 "../pars.fsy"
+ : 'moduleDefns));
+# 4496 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'topSeparators)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefnsOrExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1186 "../pars.fsy"
+ _3
+ )
+# 1186 "../pars.fsy"
+ : 'moduleDefns));
+# 4508 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1192 "../pars.fsy"
+ _1
+ )
+# 1192 "../pars.fsy"
+ : 'moduleDefnOrDirective));
+# 4519 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'hashDirective)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1195 "../pars.fsy"
+ [ SynModuleDecl.HashDirective (_1,rhs2 parseState 1 1) ]
+ )
+# 1195 "../pars.fsy"
+ : 'moduleDefnOrDirective));
+# 4530 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'defnBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1204 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ parseState.ResetSynArgNameGenerator()
+ let (BindingSetPreAttrs(_,_,_,_,mWhole)) = _3
+ mkDefnBindings (mWhole,_3,_1,_2,mWhole)
+ )
+# 1204 "../pars.fsy"
+ : 'moduleDefn));
+# 4546 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'hardwhiteLetBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1211 "../pars.fsy"
+ let hwlb,m = _3
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ parseState.ResetSynArgNameGenerator()
+ mkDefnBindings (m,hwlb,_1,_2,m)
+ )
+# 1211 "../pars.fsy"
+ : 'moduleDefn));
+# 4562 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'doBinding)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1218 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ let mWhole = rhs parseState 3
+ mkDefnBindings (mWhole,_3,_1,_2,mWhole)
+ )
+# 1218 "../pars.fsy"
+ : 'moduleDefn));
+# 4577 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeKeyword)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconDefn)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconDefnList)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1224 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ let (TypeDefn(ComponentInfo(cas,a,cs,b,c,d,d2,d3),e,f,g)) = _4
+ let tc = (TypeDefn(ComponentInfo(_1@cas,a,cs,b,c,d,d2,d3),e,f,g))
+ let types = tc :: _5
+ [ SynModuleDecl.Types(types, (rhs parseState 3, types) ||> unionRangeWithListBy (fun t -> t.Range) ) ]
+ )
+# 1224 "../pars.fsy"
+ : 'moduleDefn));
+# 4596 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExceptionDefn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1232 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ let (SynExceptionDefn(SynExceptionDefnRepr(cas,a,b,c,d,d2),e,f)) = _3
+ let f = (f, _1) ||> unionRangeWithListBy (fun a -> a.Range)
+ let ec = (SynExceptionDefn(SynExceptionDefnRepr(_1@cas,a,b,c,d,d2),e,f))
+ [ SynModuleDecl.Exception(ec, f) ]
+ )
+# 1232 "../pars.fsy"
+ : 'moduleDefn));
+# 4613 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleIntro)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'namedModuleDefnBlock)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1240 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ let attribs, (isRec, path, xml, vis) = _1,_3
+ match _5 with
+ | Choice1Of2 eqn ->
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ if isRec then raiseParseErrorAt (rhs parseState 3) (FSComp.SR.parsInvalidUseOfRec())
+ if not (isSingleton path) then raiseParseErrorAt (rhs parseState 3) (FSComp.SR.parsModuleAbbreviationMustBeSimpleName())
+ if not (isNil _1) then raiseParseErrorAt (rhs parseState 1) (FSComp.SR.parsIgnoreAttributesOnModuleAbbreviation())
+ match vis with
+ | Some vis -> raiseParseErrorAt (rhs parseState 1) (FSComp.SR.parsIgnoreAttributesOnModuleAbbreviationAlwaysPrivate(vis.ToString()))
+ | _ -> ()
+ [ SynModuleDecl.ModuleAbbrev(List.head path,eqn,(rhs parseState 3, eqn) ||> unionRangeWithListBy (fun id -> id.idRange) ) ]
+ | Choice2Of2 def ->
+ if not (isSingleton path) then raiseParseErrorAt (rhs parseState 3) (FSComp.SR.parsModuleAbbreviationMustBeSimpleName())
+ let info = ComponentInfo(attribs,[],[],path,xml,false,vis,rhs parseState 3)
+ [ SynModuleDecl.NestedModule(info, isRec, def, false,(rhs2 parseState 3 4, def) ||> unionRangeWithListBy (fun d -> d.Range) ) ]
+ )
+# 1240 "../pars.fsy"
+ : 'moduleDefn));
+# 4642 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1259 "../pars.fsy"
+ errorR(Error(FSComp.SR.parsAttributeOnIncompleteCode(),rhs parseState 1))
+ []
+ )
+# 1259 "../pars.fsy"
+ : 'moduleDefn));
+# 4655 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1264 "../pars.fsy"
+ [SynModuleDecl.Open(_1, _1.Range)]
+ )
+# 1264 "../pars.fsy"
+ : 'moduleDefn));
+# 4666 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1272 "../pars.fsy"
+ _2.Lid
+ )
+# 1272 "../pars.fsy"
+ : 'namedModuleAbbrevBlock));
+# 4678 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1275 "../pars.fsy"
+ _1.Lid
+ )
+# 1275 "../pars.fsy"
+ : 'namedModuleAbbrevBlock));
+# 4689 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'wrappedNamedModuleDefn)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1281 "../pars.fsy"
+ Choice2Of2 _2
+ )
+# 1281 "../pars.fsy"
+ : 'namedModuleDefnBlock));
+# 4701 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'wrappedNamedModuleDefn)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1284 "../pars.fsy"
+ // The lex filter ensures we can only get a mismatch in OBLOCKBEGIN/OBLOCKEND tokens if there was some other kind of error, hence we don't need to report this error
+ Choice2Of2 _2
+ )
+# 1284 "../pars.fsy"
+ : 'namedModuleDefnBlock));
+# 4714 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefnsOrExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1288 "../pars.fsy"
+ // There is an ambiguity here
+ // In particular, consider the following two:
+ //
+ // module M2 =
+ // System.DateTime.Now
+ // module M2 =
+ // Microsoft.FSharp.Core.List
+ // The second is a module abbreviation, the first a module containing a single expression.
+ // The resolution is in favour of the module abbreviation, i.e. anything of the form
+ // module M2 = ID.ID.ID.ID
+ // will be taken as a module abbreviation, regardles of the identifiers themselves.
+ //
+ // This is similar to the ambiguitty between
+ // type X = int
+ // and
+ // type X = OneValue
+ // However in that case we do use type name lookup to make the resolution.
+ match _2 with
+ | [ SynModuleDecl.DoExpr (_,LongOrSingleIdent(false,LongIdentWithDots(path,_),None,_),_) ] ->
+ Choice1Of2 path
+ | _ ->
+ Choice2Of2 _2
+
+ )
+# 1288 "../pars.fsy"
+ : 'namedModuleDefnBlock));
+# 4748 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefnsOrExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1314 "../pars.fsy"
+ // The lex filter ensures we can only get a mismatch in OBLOCKBEGIN/OBLOCKEND tokens if there was some other kind of error, hence we don't need to report this error
+ // reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnClosedBlockInHashLight())
+ Choice2Of2 _2
+ )
+# 1314 "../pars.fsy"
+ : 'namedModuleDefnBlock));
+# 4762 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1319 "../pars.fsy"
+ Choice2Of2 []
+ )
+# 1319 "../pars.fsy"
+ : 'namedModuleDefnBlock));
+# 4773 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'wrappedNamedModuleDefn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1322 "../pars.fsy"
+ Choice2Of2 _1
+ )
+# 1322 "../pars.fsy"
+ : 'namedModuleDefnBlock));
+# 4784 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1325 "../pars.fsy"
+ Choice1Of2 _1.Lid
+ )
+# 1325 "../pars.fsy"
+ : 'namedModuleDefnBlock));
+# 4795 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'structOrBegin)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefnsOrExprPossiblyEmpty)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1331 "../pars.fsy"
+ _2
+ )
+# 1331 "../pars.fsy"
+ : 'wrappedNamedModuleDefn));
+# 4807 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'structOrBegin)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleDefnsOrExprPossiblyEmpty)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1334 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBeginOrStruct())
+ _2
+ )
+# 1334 "../pars.fsy"
+ : 'wrappedNamedModuleDefn));
+# 4821 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'structOrBegin)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1338 "../pars.fsy"
+ []
+ )
+# 1338 "../pars.fsy"
+ : 'wrappedNamedModuleDefn));
+# 4832 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnBlock)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'declEnd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1343 "../pars.fsy"
+ _2
+ )
+# 1343 "../pars.fsy"
+ : Ast.SynMemberDefns));
+# 4844 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attributes)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1349 "../pars.fsy"
+ _1
+ )
+# 1349 "../pars.fsy"
+ : 'opt_attributes));
+# 4855 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1352 "../pars.fsy"
+ []
+ )
+# 1352 "../pars.fsy"
+ : 'opt_attributes));
+# 4865 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attributeList)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1357 "../pars.fsy"
+ _1
+ )
+# 1357 "../pars.fsy"
+ : 'attributes));
+# 4876 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attributeList)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'attributes)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1360 "../pars.fsy"
+ _1 @ _2
+ )
+# 1360 "../pars.fsy"
+ : 'attributes));
+# 4888 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'attributeListElements)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1366 "../pars.fsy"
+ mkAttributeList _2 (rhs2 parseState 1 3)
+ )
+# 1366 "../pars.fsy"
+ : 'attributeList));
+# 4901 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1369 "../pars.fsy"
+ mkAttributeList [] (rhs2 parseState 1 3)
+ )
+# 1369 "../pars.fsy"
+ : 'attributeList));
+# 4912 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'attributeListElements)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1372 "../pars.fsy"
+ if not _4 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedLBrackLess())
+ mkAttributeList _2 (rhs2 parseState 1 2)
+ )
+# 1372 "../pars.fsy"
+ : 'attributeList));
+# 4926 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1376 "../pars.fsy"
+ if not _2 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedLBrackLess())
+ mkAttributeList [] (rhs parseState 1)
+ )
+# 1376 "../pars.fsy"
+ : 'attributeList));
+# 4938 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attribute)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1383 "../pars.fsy"
+ [_1]
+ )
+# 1383 "../pars.fsy"
+ : 'attributeListElements));
+# 4949 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attributeListElements)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'seps)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'attribute)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1386 "../pars.fsy"
+ _1 @ [_3]
+ )
+# 1386 "../pars.fsy"
+ : 'attributeListElements));
+# 4962 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_HIGH_PRECEDENCE_APP)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_atomicExprAfterType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1393 "../pars.fsy"
+ let arg = match _3 with None -> mkSynUnit _1.Range | Some e -> e
+ ({ TypeName=_1; ArgExpr=arg; Target=None; AppliesToGetterAndSetter=false; Range=_1.Range } : SynAttribute)
+ )
+# 1393 "../pars.fsy"
+ : 'attribute));
+# 4976 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attributeTarget)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_HIGH_PRECEDENCE_APP)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_atomicExprAfterType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1398 "../pars.fsy"
+ let arg = match _4 with None -> mkSynUnit _2.Range | Some e -> e
+ ({ TypeName=_2; ArgExpr=arg; Target=_1; AppliesToGetterAndSetter=false; Range=_2.Range } : SynAttribute)
+ )
+# 1398 "../pars.fsy"
+ : 'attribute));
+# 4991 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attributeTarget)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_HIGH_PRECEDENCE_APP)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_atomicExprAfterType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1403 "../pars.fsy"
+ let arg = match _6 with None -> mkSynUnit _3.Range | Some e -> e
+ ({ TypeName=_3; ArgExpr=arg; Target=_1; AppliesToGetterAndSetter=false; Range=_3.Range } : SynAttribute)
+ )
+# 1403 "../pars.fsy"
+ : 'attribute));
+# 5007 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleKeyword)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1410 "../pars.fsy"
+ Some(ident("module",(rhs parseState 1)))
+ )
+# 1410 "../pars.fsy"
+ : 'attributeTarget));
+# 5018 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeKeyword)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1413 "../pars.fsy"
+ Some(ident("type",(rhs parseState 1)))
+ )
+# 1413 "../pars.fsy"
+ : 'attributeTarget));
+# 5029 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1415 "../pars.fsy"
+ Some(_1)
+ )
+# 1415 "../pars.fsy"
+ : 'attributeTarget));
+# 5040 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1419 "../pars.fsy"
+ if _1 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsSyntaxError())
+ Some(ident("return",(rhs parseState 1)))
+ )
+# 1419 "../pars.fsy"
+ : 'attributeTarget));
+# 5052 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1424 "../pars.fsy"
+ (true,StaticMemberFlags)
+ )
+# 1424 "../pars.fsy"
+ : 'memberFlags));
+# 5062 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1425 "../pars.fsy"
+ (false,NonVirtualMemberFlags)
+ )
+# 1425 "../pars.fsy"
+ : 'memberFlags));
+# 5072 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1426 "../pars.fsy"
+ (false,OverrideMemberFlags)
+ )
+# 1426 "../pars.fsy"
+ : 'memberFlags));
+# 5082 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1427 "../pars.fsy"
+ (false,OverrideMemberFlags)
+ )
+# 1427 "../pars.fsy"
+ : 'memberFlags));
+# 5092 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconNameAndTyparDecls)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_typeConstraints)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1432 "../pars.fsy"
+ let typars,lid,fixity,tpcs1,vis,xmlDoc = _2
+ let tpcs2 = _3
+ ComponentInfo(_1,typars,(tpcs1 @ tpcs2),lid,xmlDoc,fixity,vis,rangeOfLid lid)
+ )
+# 1432 "../pars.fsy"
+ : 'typeNameInfo));
+# 5107 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconDefn)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconDefnList)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1439 "../pars.fsy"
+ _2 :: _3
+ )
+# 1439 "../pars.fsy"
+ : 'tyconDefnList));
+# 5119 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1441 "../pars.fsy"
+ []
+ )
+# 1441 "../pars.fsy"
+ : 'tyconDefnList));
+# 5129 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeNameInfo)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1446 "../pars.fsy"
+ TypeDefn(_1,SynTypeDefnRepr.Simple(SynTypeDefnSimpleRepr.None(_1.Range),_1.Range),[],_1.Range)
+ )
+# 1446 "../pars.fsy"
+ : 'tyconDefn));
+# 5140 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeNameInfo)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconDefnRhsBlock)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1449 "../pars.fsy"
+ let nameRange = rhs parseState 1
+ let (tcDefRepr:SynTypeDefnRepr),members = _3 nameRange
+ let declRange = unionRanges (rhs parseState 1) tcDefRepr.Range
+ let mWhole = (declRange, members) ||> unionRangeWithListBy (fun (mem:SynMemberDefn) -> mem.Range)
+ TypeDefn(_1, tcDefRepr, members, mWhole)
+ )
+# 1449 "../pars.fsy"
+ : 'tyconDefn));
+# 5156 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeNameInfo)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynMemberDefns)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1456 "../pars.fsy"
+ let m = (rhs parseState 1, _2) ||> unionRangeWithListBy (fun mem -> mem.Range)
+ TypeDefn(_1,SynTypeDefnRepr.ObjectModel(TyconAugmentation,[],m),_2,m)
+ )
+# 1456 "../pars.fsy"
+ : 'tyconDefn));
+# 5169 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeNameInfo)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_HIGH_PRECEDENCE_APP)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'simplePatterns)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'optAsSpec)) in
+ let _8 = (let data = parseState.GetInput(8) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconDefnRhsBlock)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1460 "../pars.fsy"
+ let vis,spats, az = _3,_5,_6
+ let nameRange = rhs parseState 1
+ let (tcDefRepr,members) = _8 nameRange
+ let (ComponentInfo(_,_,_,lid,_,_,_,_)) = _1
+ let memberCtorPattern = SynMemberDefn.ImplicitCtor (vis,_2,spats,az,rangeOfLid lid)
+ let tcDefRepr =
+ match tcDefRepr with
+ | SynTypeDefnRepr.ObjectModel (k,cspec,m) -> SynTypeDefnRepr.ObjectModel (k,memberCtorPattern :: cspec,m)
+ | _ -> reportParseErrorAt (rhs2 parseState 1 5) (FSComp.SR.parsOnlyClassCanTakeValueArguments()); tcDefRepr
+ let declRange = unionRanges (rhs parseState 1) tcDefRepr.Range
+ let mWhole = (declRange, members) ||> unionRangeWithListBy (fun (mem:SynMemberDefn) -> mem.Range)
+
+ TypeDefn(_1,tcDefRepr,members,mWhole)
+ )
+# 1460 "../pars.fsy"
+ : 'tyconDefn));
+# 5198 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconDefnRhs)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMembers)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_classDefn)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ let _7 = (let data = parseState.GetInput(7) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_classDefn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1486 "../pars.fsy"
+ let m = unionRanges (rhs parseState 1) (match _7 with [] -> (match _5 with [] -> (rhs parseState 4) | _ -> (rhs parseState 5)) | _ -> (rhs parseState 7))
+ (fun nameRange -> _2 nameRange (checkForMultipleAugmentations m (_4 @ _5) _7))
+ )
+# 1486 "../pars.fsy"
+ : 'tyconDefnRhsBlock));
+# 5215 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconDefnRhs)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMembers)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_classDefn)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1490 "../pars.fsy"
+ if not _6 then reportParseErrorAt (rhs parseState 6) (FSComp.SR.parsUnexpectedEndOfFileTypeDefinition())
+ let m = unionRanges (rhs parseState 1) (match _5 with [] -> (rhs parseState 4) | _ -> (rhs parseState 5))
+ (fun nameRange -> _2 nameRange (checkForMultipleAugmentations m (_4 @ _5) []))
+ )
+# 1490 "../pars.fsy"
+ : 'tyconDefnRhsBlock));
+# 5232 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconDefnRhs)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_classDefn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1495 "../pars.fsy"
+ let m = rhs parseState 1
+ (fun nameRange -> _1 nameRange _2)
+ )
+# 1495 "../pars.fsy"
+ : 'tyconDefnRhsBlock));
+# 5245 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypeDefnSimpleRepr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1504 "../pars.fsy"
+ let m = _1.Range
+ (fun nameRange augmentation -> SynTypeDefnRepr.Simple (_1,m),augmentation)
+ )
+# 1504 "../pars.fsy"
+ : 'tyconDefnRhs));
+# 5257 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconClassDefn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1509 "../pars.fsy"
+ let needsCheck,(kind,decls),mopt = _1
+ let m = match mopt with
+ | None -> (lhs parseState).StartRange // create a zero-width range
+ | Some m -> m
+ (fun nameRange augmentation ->
+ if needsCheck && isNil decls then
+ reportParseErrorAt nameRange (FSComp.SR.parsEmptyTypeDefinition())
+ SynTypeDefnRepr.ObjectModel (kind,decls,m),augmentation)
+ )
+# 1509 "../pars.fsy"
+ : 'tyconDefnRhs));
+# 5275 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'topType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1520 "../pars.fsy"
+ let m = lhs parseState
+ let ty,arity = _3
+ (fun nameRange augmentation ->
+ let valSpfn = ValSpfn([],mkSynId m "Invoke",inferredTyparDecls,ty,arity,false,false,PreXmlDoc.Empty,None,None,m)
+ let invoke = SynMemberDefn.AbstractSlot(valSpfn,AbstractMemberFlags MemberKind.Member,m)
+ if not (isNil augmentation) then raiseParseErrorAt m (FSComp.SR.parsAugmentationsIllegalOnDelegateType())
+ SynTypeDefnRepr.ObjectModel (TyconDelegate (ty,arity),[invoke],m),[])
+ )
+# 1520 "../pars.fsy"
+ : 'tyconDefnRhs));
+# 5292 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnBlockKindUnspecified)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1532 "../pars.fsy"
+ let needsCheck,decls,mopt = _1
+ needsCheck,(TyconUnspecified, decls),mopt
+ )
+# 1532 "../pars.fsy"
+ : 'tyconClassDefn));
+# 5304 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classOrInterfaceOrStruct)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnBlock)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1536 "../pars.fsy"
+ let m = (rhs parseState 1, _2) ||> unionRangeWithListBy (fun (d:SynMemberDefn) -> d.Range)
+ false,(_1,_2),Some(m)
+ )
+# 1536 "../pars.fsy"
+ : 'tyconClassDefn));
+# 5317 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classOrInterfaceOrStruct)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnBlock)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1540 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedClassInterfaceOrStruct())
+ let m = (rhs parseState 1, _2) ||> unionRangeWithListBy (fun (d:SynMemberDefn) -> d.Range)
+ false,(_1,_2),Some(m)
+ )
+# 1540 "../pars.fsy"
+ : 'tyconClassDefn));
+# 5332 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classOrInterfaceOrStruct)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1545 "../pars.fsy"
+ // silent recovery
+ false,(_1,[]),Some(rhs parseState 1)
+ )
+# 1545 "../pars.fsy"
+ : 'tyconClassDefn));
+# 5344 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMembers)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1552 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 3) (FSComp.SR.parsUnexpectedEndOfFileTypeDefinition())
+ let mopt =
+ match _2 with
+ | _ :: _ -> Some( (rhs parseState 1, _2) ||> unionRangeWithListBy (fun (d:SynMemberDefn) -> d.Range) )
+ | _ -> None
+ false,_2,mopt
+ )
+# 1552 "../pars.fsy"
+ : 'classDefnBlockKindUnspecified));
+# 5361 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMembers)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1560 "../pars.fsy"
+ let mopt =
+ match _2 with
+ | _ :: _ -> Some( (rhs parseState 1, _2) ||> unionRangeWithListBy (fun (d:SynMemberDefn) -> d.Range) )
+ | _ -> None
+ true, _2, mopt
+ )
+# 1560 "../pars.fsy"
+ : 'classDefnBlockKindUnspecified));
+# 5377 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMembers)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1570 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 3) (FSComp.SR.parsUnexpectedEndOfFileTypeDefinition())
+ _2
+ )
+# 1570 "../pars.fsy"
+ : 'classDefnBlock));
+# 5390 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMembers)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1574 "../pars.fsy"
+ _2
+ )
+# 1574 "../pars.fsy"
+ : 'classDefnBlock));
+# 5402 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMembers)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1577 "../pars.fsy"
+ _1
+ )
+# 1577 "../pars.fsy"
+ : 'classDefnBlock));
+# 5413 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMembersAtLeastOne)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1583 "../pars.fsy"
+ _1
+ )
+# 1583 "../pars.fsy"
+ : 'classDefnMembers));
+# 5424 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMembers)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1587 "../pars.fsy"
+ _2
+ )
+# 1587 "../pars.fsy"
+ : 'classDefnMembers));
+# 5435 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1590 "../pars.fsy"
+ []
+ )
+# 1590 "../pars.fsy"
+ : 'classDefnMembers));
+# 5445 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMember)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMembers)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1596 "../pars.fsy"
+ _1 @ _3
+ )
+# 1596 "../pars.fsy"
+ : 'classDefnMembersAtLeastOne));
+# 5458 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMemberGetSetElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1602 "../pars.fsy"
+ _2
+ )
+# 1602 "../pars.fsy"
+ : 'classDefnMemberGetSet));
+# 5469 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMemberGetSetElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1605 "../pars.fsy"
+ _2
+ )
+# 1605 "../pars.fsy"
+ : 'classDefnMemberGetSet));
+# 5480 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMemberGetSetElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1608 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedWith())
+ _2
+ )
+# 1608 "../pars.fsy"
+ : 'classDefnMemberGetSet));
+# 5492 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMemberGetSetElement)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1614 "../pars.fsy"
+ [_1]
+ )
+# 1614 "../pars.fsy"
+ : 'classDefnMemberGetSetElements));
+# 5503 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMemberGetSetElement)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMemberGetSetElement)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1616 "../pars.fsy"
+ [_1;_3]
+ )
+# 1616 "../pars.fsy"
+ : 'classDefnMemberGetSetElements));
+# 5515 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_inline)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'bindingPattern)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_topReturnTypeWithTypeConstraints)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1620 "../pars.fsy"
+ let mRhs = (_6 : SynExpr).Range
+ (_1,_2,_3,_4,_6,mRhs)
+ )
+# 1620 "../pars.fsy"
+ : 'classDefnMemberGetSetElement));
+# 5531 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_inline)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'bindingPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_topReturnTypeWithTypeConstraints)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1628 "../pars.fsy"
+ let mRhs = _5.Range
+ let optReturnType = _3
+ let bindingBuilder, mBindLhs = _2
+ (fun vis memFlagsBuilder attrs rangeStart ->
+ let memberFlags = Some (memFlagsBuilder MemberKind.Member)
+ let binding = bindingBuilder (vis, _1, false, mBindLhs, NoSequencePointAtInvisibleBinding, optReturnType, _5, mRhs, [], attrs, memberFlags)
+ let memberRange = unionRanges rangeStart mRhs
+ [ SynMemberDefn.Member (binding, memberRange) ])
+ )
+# 1628 "../pars.fsy"
+ : 'memberCore));
+# 5552 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_inline)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'bindingPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_topReturnTypeWithTypeConstraints)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnMemberGetSet)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1639 "../pars.fsy"
+ let mWhole = (rhs parseState 2, _4) ||> unionRangeWithListBy (fun (_,_,_,_,_,m2) -> m2)
+ let propertyNameBindingBuilder, _ = _2
+ let optPropertyType = _3
+ let isMutable = false
+ (fun visNoLongerUsed memFlagsBuilder attrs rangeStart ->
+ let hasGet = ref false
+ let hasSet = ref false
+ // Iterate over 1 or 2 'get'/'set' entries
+ _4 |> List.choose (fun (optInline,optAttrs,(bindingBuilder,mBindLhs),optReturnType,expr,exprm) ->
+ let optInline = _1 || optInline
+ // optional attributes are only applied to getters and setters
+ // the "top level" attrs will be applied to both
+ let optAttrs =
+ optAttrs |> List.map (fun attrList ->
+ { attrList with Attributes = attrList.Attributes |> List.map (fun a -> { a with AppliesToGetterAndSetter = true } ) })
+ let attrs = attrs @ optAttrs
+
+ let binding = bindingBuilder (visNoLongerUsed,optInline,isMutable,mBindLhs,NoSequencePointAtInvisibleBinding,optReturnType,expr,exprm,[],attrs,Some (memFlagsBuilder MemberKind.Member))
+ let (Binding (vis, _, isInline, _, attrs, doc, valSynData, pv, _, _, mBindLhs, spBind)) = binding
+ let memberKind =
+ let getset =
+ let rec go p =
+ match p with
+ | SynPat.LongIdent (LongIdentWithDots([id],_),_,_,_,_,_) -> id.idText
+ | SynPat.Named (_,nm,_,_,_) -> nm.idText
+ | SynPat.Typed (p,_,_) -> go p
+ | SynPat.Attrib (p,_,_) -> go p
+ | _ -> raiseParseErrorAt mBindLhs (FSComp.SR.parsInvalidDeclarationSyntax())
+ go pv
+ if getset = "get" then
+ if !hasGet then
+ reportParseErrorAt mBindLhs (FSComp.SR.parsGetAndOrSetRequired())
+ None
+ else
+ hasGet := true
+ Some MemberKind.PropertyGet
+ else if getset = "set" then
+ if !hasSet then
+ reportParseErrorAt mBindLhs (FSComp.SR.parsGetAndOrSetRequired())
+ None
+ else
+ hasSet := true
+ Some MemberKind.PropertySet
+ else
+ raiseParseErrorAt mBindLhs (FSComp.SR.parsGetAndOrSetRequired())
+ match memberKind with
+ | None -> None
+ | Some memberKind ->
+ // REVIEW: It's hard not to ignore the optPropertyType type annotation for 'set' properties. To apply it,
+ // we should apply it to the last argument, but at this point we've already pushed the patterns that
+ // make up the arguments onto the RHS. So we just always give a warning.
+ begin match optPropertyType with
+ | Some _ -> errorR(Error(FSComp.SR.parsTypeAnnotationsOnGetSet(),mBindLhs))
+ | None -> ()
+ end
+
+ let optReturnType =
+ match (memberKind, optReturnType) with
+ | MemberKind.PropertySet, _ -> optReturnType
+ | _, None -> optPropertyType
+ | _ -> optReturnType
+ // REDO with the correct member kind
+ let binding = bindingBuilder(vis,isInline,isMutable,mBindLhs,NoSequencePointAtInvisibleBinding,optReturnType,expr,exprm,[],attrs,Some(memFlagsBuilder memberKind))
+ let (Binding (vis, _, isInline, _, attrs, doc, valSynData, pv, rhsRetInfo, rhsExpr, mBindLhs, spBind)) = binding
+
+ let (SynValData(_,valSynInfo,_)) = valSynData
+ // Setters have all arguments tupled in their internal TAST form, though they don't appear to be
+ // tupled from the syntax
+ let memFlags = memFlagsBuilder memberKind
+ let valSynInfo =
+ let adjustValueArg valueArg =
+ match valueArg with
+ | [_] -> valueArg
+ | _ -> SynInfo.unnamedTopArg
+ match memberKind, valSynInfo, memFlags.IsInstance with
+ | MemberKind.PropertyGet, SynValInfo ([], _ret), false
+ | MemberKind.PropertyGet, SynValInfo ([_], _ret), true ->
+ raiseParseErrorAt mBindLhs (FSComp.SR.parsGetterMustHaveAtLeastOneArgument())
+ | MemberKind.PropertyGet, SynValInfo (thisArg :: indexOrUnitArgs :: rest, ret), true ->
+ if not rest.IsEmpty then
+ reportParseErrorAt mBindLhs (FSComp.SR.parsGetterAtMostOneArgument ())
+ SynValInfo ([thisArg; indexOrUnitArgs], ret)
+ | MemberKind.PropertyGet, SynValInfo (indexOrUnitArgs :: rest,ret), false ->
+ if not rest.IsEmpty then
+ reportParseErrorAt mBindLhs (FSComp.SR.parsGetterAtMostOneArgument ())
+ SynValInfo ([indexOrUnitArgs], ret)
+ | MemberKind.PropertySet, SynValInfo ([thisArg;valueArg], ret), true ->
+ SynValInfo ([thisArg; adjustValueArg valueArg], ret)
+ | MemberKind.PropertySet, SynValInfo (thisArg :: indexArgs :: valueArg :: rest, ret), true ->
+ if not rest.IsEmpty then
+ reportParseErrorAt mBindLhs (FSComp.SR.parsSetterAtMostTwoArguments ())
+ SynValInfo ([thisArg; indexArgs @ adjustValueArg valueArg], ret)
+ | MemberKind.PropertySet, SynValInfo ([valueArg], ret), false ->
+ SynValInfo ([adjustValueArg valueArg], ret)
+ | MemberKind.PropertySet, SynValInfo (indexArgs :: valueArg :: rest,ret), _ ->
+ if not rest.IsEmpty then
+ reportParseErrorAt mBindLhs (FSComp.SR.parsSetterAtMostTwoArguments ())
+ SynValInfo ([indexArgs @ adjustValueArg valueArg], ret)
+ | _ ->
+ // should be unreachable, cover just in case
+ raiseParseErrorAt mBindLhs (FSComp.SR.parsInvalidProperty ())
+ let valSynData = SynValData(Some(memFlags), valSynInfo,None)
+ // Fold together the information from the first lambda pattern and the get/set binding
+ // This uses the 'this' variable from the first and the patterns for the get/set binding,
+ // replacing the get/set identifier. A little gross.
+ let bindingPatAdjusted, xmlDocAdjusted =
+ let bindingOuter = propertyNameBindingBuilder(vis,optInline,isMutable,mBindLhs,spBind,optReturnType,expr,exprm,[],attrs,Some(memFlagsBuilder MemberKind.Member))
+ let (Binding (_,_,_,_,_,doc2,_,bindingPatOuter,_,_,_,_)) = bindingOuter
+
+
+ let lidOuter,lidVisOuter =
+ match bindingPatOuter with
+ | SynPat.LongIdent (lid,None,None, SynConstructorArgs.Pats [],lidVisOuter,m) -> lid,lidVisOuter
+ | SynPat.Named (_,id,_,visOuter,m) -> LongIdentWithDots([id],[]),visOuter
+ | p -> raiseParseErrorAt mBindLhs (FSComp.SR.parsInvalidDeclarationSyntax())
+ // Merge the visibility from the outer point with the inner point, e.g.
+ // member this.Size with get () = m_size
+
+ let mergeLidVisOuter lidVisInner =
+ match lidVisInner,lidVisOuter with
+ | None,None -> None
+ | Some lidVisInner,None | None,Some lidVisInner -> Some lidVisInner
+ | Some _, Some _ ->
+ errorR(Error(FSComp.SR.parsMultipleAccessibilitiesForGetSet(),mBindLhs))
+ lidVisInner
+
+ // Replace the "get" or the "set" with the right name
+ let rec go p =
+ match p with
+ | SynPat.LongIdent (LongIdentWithDots([id],_),_,tyargs,SynConstructorArgs.Pats args,lidVisInner,m) ->
+ // Setters have all arguments tupled in their internal form, though they don't
+ // appear to be tupled from the syntax. Somewhat unfortunate
+ let args =
+ if id.idText = "set" then
+ match args with
+ | [SynPat.Paren(SynPat.Tuple (false,indexPats,_),indexPatRange);valuePat] when id.idText = "set" ->
+ [SynPat.Tuple(false,indexPats@[valuePat],unionRanges indexPatRange valuePat.Range)]
+ | [indexPat;valuePat] ->
+ [SynPat.Tuple(false,args,unionRanges indexPat.Range valuePat.Range)]
+ | [valuePat] ->
+ [valuePat]
+ | _ ->
+ raiseParseErrorAt m (FSComp.SR.parsSetSyntax())
+ else
+ args
+ // let idTool : Ident list = lidOuter |> List.map (fun (li:Ident) -> ident(li.idText,id.idRange)) |> List.rev |> List.take 1
+ SynPat.LongIdent (lidOuter,Some(id),tyargs, SynConstructorArgs.Pats args,mergeLidVisOuter lidVisInner,m)
+ | SynPat.Named (_,nm,_,lidVisInner,m) -> SynPat.LongIdent (lidOuter,None,None, SynConstructorArgs.Pats [], mergeLidVisOuter lidVisInner,m)
+ | SynPat.Typed (p,ty,m) -> SynPat.Typed(go p,ty,m)
+ | SynPat.Attrib (p,attribs,m) -> SynPat.Attrib(go p,attribs,m)
+ | SynPat.Wild(m) -> SynPat.Wild(m)
+ | _ -> raiseParseErrorAt mBindLhs (FSComp.SR.parsInvalidDeclarationSyntax())
+ go pv,PreXmlDoc.Merge doc2 doc
+ let binding = Binding (vis, NormalBinding, isInline, isMutable, attrs, xmlDocAdjusted, valSynData, bindingPatAdjusted, rhsRetInfo, rhsExpr, mBindLhs, spBind)
+ let memberRange = unionRanges rangeStart mWhole
+ Some (SynMemberDefn.Member (binding, memberRange))))
+
+ )
+# 1639 "../pars.fsy"
+ : 'memberCore));
+# 5722 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1825 "../pars.fsy"
+
+ )
+# 1825 "../pars.fsy"
+ : 'abstractMemberFlags));
+# 5732 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1826 "../pars.fsy"
+
+ )
+# 1826 "../pars.fsy"
+ : 'abstractMemberFlags));
+# 5742 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1832 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ [mkClassMemberLocalBindings(false,None,_1,_2,_3)]
+ )
+# 1832 "../pars.fsy"
+ : 'classDefnMember));
+# 5756 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1836 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ [mkClassMemberLocalBindings(true,Some (rhs parseState 3),_1,_2,_4)]
+ )
+# 1836 "../pars.fsy"
+ : 'classDefnMember));
+# 5770 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'memberFlags)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'memberCore)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_ODECLEND)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1840 "../pars.fsy"
+ let rangeStart = rhs parseState 1
+ if Option.isSome _2 then
+ errorR (Error (FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier (), rhs parseState 2))
+ let _, flags = _3
+ _4 _2 flags _1 rangeStart
+ )
+# 1840 "../pars.fsy"
+ : 'classDefnMember));
+# 5789 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'interfaceMember)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_interfaceImplDefn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1847 "../pars.fsy"
+ if not (isNil _1) then errorR(Error(FSComp.SR.parsAttributesAreNotPermittedOnInterfaceImplementations(),rhs parseState 1))
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsInterfacesHaveSameVisibilityAsEnclosingType(),rhs parseState 3))
+ let mWhole =
+ match _5 with
+ | None -> rhs2 parseState 3 4
+ | Some(mems) -> (rhs2 parseState 3 4, mems) ||> unionRangeWithListBy (fun (mem:SynMemberDefn) -> mem.Range)
+ [ SynMemberDefn.Interface (_4, _5, mWhole) ]
+ )
+# 1847 "../pars.fsy"
+ : 'classDefnMember));
+# 5810 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'abstractMemberFlags)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_inline)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'nameop)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_explicitValTyparDecls)) in
+ let _8 = (let data = parseState.GetInput(8) in (Microsoft.FSharp.Core.Operators.unbox data : 'topTypeWithTypeConstraints)) in
+ let _9 = (let data = parseState.GetInput(9) in (Microsoft.FSharp.Core.Operators.unbox data : 'classMemberSpfnGetSet)) in
+ let _10 = (let data = parseState.GetInput(10) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_ODECLEND)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1856 "../pars.fsy"
+ let ty,arity = _8
+ let isInline,doc,id,explicitValTyparDecls = _4,grabXmlDoc(parseState,3),_5,_6
+ let getSetRangeOpt, getSet = _9
+ let getSetAdjuster arity = match arity,getSet with SynValInfo([],_),MemberKind.Member -> MemberKind.PropertyGet | _ -> getSet
+ let wholeRange =
+ let m = rhs parseState 3
+ match getSetRangeOpt with
+ | None -> unionRanges m ty.Range
+ | Some m2 -> unionRanges m m2
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsAccessibilityModsIllegalForAbstract(),wholeRange))
+ let valSpfn = ValSpfn(_1,id,explicitValTyparDecls,ty,arity, isInline,false,doc, None,None,wholeRange)
+ [ SynMemberDefn.AbstractSlot(valSpfn,AbstractMemberFlags (getSetAdjuster arity), wholeRange) ]
+ )
+# 1856 "../pars.fsy"
+ : 'classDefnMember));
+# 5840 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'inheritsDefn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1870 "../pars.fsy"
+ if not (isNil _1) then errorR(Error(FSComp.SR.parsAttributesIllegalOnInherit(),rhs parseState 1))
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityIllegalOnInherit(),rhs parseState 1))
+ [ _3 ]
+ )
+# 1870 "../pars.fsy"
+ : 'classDefnMember));
+# 5855 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'valDefnDecl)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_ODECLEND)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1875 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ _3 None _1 false
+ )
+# 1875 "../pars.fsy"
+ : 'classDefnMember));
+# 5870 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'valDefnDecl)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_ODECLEND)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1879 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ _4 (Some (rhs parseState 3)) _1 true
+ )
+# 1879 "../pars.fsy"
+ : 'classDefnMember));
+# 5885 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'memberFlags)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'autoPropsDefnDecl)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_ODECLEND)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1883 "../pars.fsy"
+ let rangeStart = rhs parseState 1
+ if Option.isSome _2 then
+ errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ let isStatic, flags = _3
+ _4 _1 isStatic flags rangeStart
+ )
+# 1883 "../pars.fsy"
+ : 'classDefnMember));
+# 5904 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPattern)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'optAsSpec)) in
+ let _7 = (let data = parseState.GetInput(7) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _8 = (let data = parseState.GetInput(8) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_ODECLEND)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1890 "../pars.fsy"
+ let m = unionRanges (rhs2 parseState 3 6) _7.Range
+ let expr = _7
+ let valSynData = SynValData (Some CtorMemberFlags, SynValInfo([SynInfo.InferSynArgInfoFromPat _4],SynInfo.unnamedRetVal), _5)
+ let vis = _2
+ let declPat = SynPat.LongIdent (LongIdentWithDots([mkSynId (rhs parseState 3) "new"],[]),None,Some noInferredTypars, SynConstructorArgs.Pats [_4],vis,rhs parseState 3)
+ // Check that 'SynPatForConstructorDecl' matches this correctly
+ assert (match declPat with SynPatForConstructorDecl _ -> true | _ -> false)
+ [ SynMemberDefn.Member(Binding (None,NormalBinding,false,false,_1,grabXmlDoc(parseState,3),valSynData, declPat,None,expr,m,NoSequencePointAtInvisibleBinding),m) ]
+ )
+# 1890 "../pars.fsy"
+ : 'classDefnMember));
+# 5927 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeKeyword)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'tyconDefn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1900 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsVisibilityDeclarationsShouldComePriorToIdentifier(),rhs parseState 2))
+ [ SynMemberDefn.NestedType(_5,None,rhs2 parseState 3 5) ]
+ )
+# 1900 "../pars.fsy"
+ : 'classDefnMember));
+# 5942 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_mutable)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_access)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1907 "../pars.fsy"
+ let mRhs = rhs2 parseState 4 6
+ let doc = grabXmlDoc(parseState,4)
+ let mValDecl = rhs2 parseState 1 6
+ (fun mLeft attribs isStatic ->
+ let mValDecl = match mLeft with None -> mValDecl | Some m -> unionRanges m mValDecl
+ let fld = Field(attribs,isStatic,Some _4,_6,_2,doc,_3,mRhs)
+ [ SynMemberDefn.ValField(fld, mValDecl) ])
+ )
+# 1907 "../pars.fsy"
+ : 'valDefnDecl));
+# 5962 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_mutable)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_access)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_typ)) in
+ let _7 = (let data = parseState.GetInput(7) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _8 = (let data = parseState.GetInput(8) in (Microsoft.FSharp.Core.Operators.unbox data : 'classMemberSpfnGetSet)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1919 "../pars.fsy"
+ let doc = grabXmlDoc(parseState, 5)
+ let mGetSetOpt, getSet = _8
+ if _2 then
+ errorR (Error (FSComp.SR.parsMutableOnAutoPropertyShouldBeGetSet (), rhs parseState 3))
+ (fun attribs isStatic flags rangeStart ->
+ let memberRange = unionRanges rangeStart _7.Range
+ [ SynMemberDefn.AutoProperty(attribs, isStatic, _4, _5, getSet, flags, doc, _3, _7, mGetSetOpt, memberRange) ])
+ )
+# 1919 "../pars.fsy"
+ : 'autoPropsDefnDecl));
+# 5984 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1930 "../pars.fsy"
+ None
+ )
+# 1930 "../pars.fsy"
+ : 'opt_typ));
+# 5994 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1931 "../pars.fsy"
+ Some _2
+ )
+# 1931 "../pars.fsy"
+ : 'opt_typ));
+# 6005 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1934 "../pars.fsy"
+
+ if not (parseState.LexBuffer.SupportsFeature LanguageFeature.SingleUnderscorePattern) then
+ raiseParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnexpectedSymbolDot())
+ let (LongIdentWithDots(lid,dotms)) = _3 in (None,LongIdentWithDots(ident("_",rhs parseState 1)::lid, rhs parseState 2::dotms))
+
+ )
+# 1934 "../pars.fsy"
+ : 'atomicPatternLongIdent));
+# 6020 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1939 "../pars.fsy"
+ let (LongIdentWithDots(lid,dotms)) = _3 in (None,LongIdentWithDots(ident(MangledGlobalName,rhs parseState 1) :: lid, rhs parseState 2 :: dotms))
+ )
+# 1939 "../pars.fsy"
+ : 'atomicPatternLongIdent));
+# 6031 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1940 "../pars.fsy"
+ (None,_1)
+ )
+# 1940 "../pars.fsy"
+ : 'atomicPatternLongIdent));
+# 6042 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'access)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1941 "../pars.fsy"
+
+ if not (parseState.LexBuffer.SupportsFeature LanguageFeature.SingleUnderscorePattern) then
+ raiseParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnexpectedSymbolDot())
+ let (LongIdentWithDots(lid,dotms)) = _4 in (Some(_1),LongIdentWithDots(ident("_",rhs parseState 1)::lid, rhs parseState 2::dotms))
+
+ )
+# 1941 "../pars.fsy"
+ : 'atomicPatternLongIdent));
+# 6058 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'access)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1946 "../pars.fsy"
+ (Some(_1), _2)
+ )
+# 1946 "../pars.fsy"
+ : 'atomicPatternLongIdent));
+# 6070 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1950 "../pars.fsy"
+ None
+ )
+# 1950 "../pars.fsy"
+ : 'opt_access));
+# 6080 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'access)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1951 "../pars.fsy"
+ Some(_1)
+ )
+# 1951 "../pars.fsy"
+ : 'opt_access));
+# 6091 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1955 "../pars.fsy"
+ SynAccess.Private
+ )
+# 1955 "../pars.fsy"
+ : 'access));
+# 6101 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1956 "../pars.fsy"
+ SynAccess.Public
+ )
+# 1956 "../pars.fsy"
+ : 'access));
+# 6111 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1957 "../pars.fsy"
+ SynAccess.Internal
+ )
+# 1957 "../pars.fsy"
+ : 'access));
+# 6121 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'access)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1961 "../pars.fsy"
+ Some(_1)
+ )
+# 1961 "../pars.fsy"
+ : 'opt_declVisibility));
+# 6132 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1962 "../pars.fsy"
+ None
+ )
+# 1962 "../pars.fsy"
+ : 'opt_declVisibility));
+# 6142 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'objectImplementationBlock)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'declEnd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1966 "../pars.fsy"
+ Some(_2)
+ )
+# 1966 "../pars.fsy"
+ : 'opt_interfaceImplDefn));
+# 6154 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1967 "../pars.fsy"
+ None
+ )
+# 1967 "../pars.fsy"
+ : 'opt_interfaceImplDefn));
+# 6164 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'classDefnBlock)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'declEnd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1971 "../pars.fsy"
+ _2
+ )
+# 1971 "../pars.fsy"
+ : 'opt_classDefn));
+# 6176 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1972 "../pars.fsy"
+ []
+ )
+# 1972 "../pars.fsy"
+ : 'opt_classDefn));
+# 6186 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomTypeNonAtomicDeprecated)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'optBaseSpec)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1978 "../pars.fsy"
+ let mDecl = unionRanges (rhs parseState 1) ((_2): SynType).Range
+ SynMemberDefn.Inherit(_2,_3,mDecl)
+ )
+# 1978 "../pars.fsy"
+ : 'inheritsDefn));
+# 6199 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomTypeNonAtomicDeprecated)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_HIGH_PRECEDENCE_APP)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'optBaseSpec)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1982 "../pars.fsy"
+ let mDecl = unionRanges (rhs parseState 1) _4.Range
+ SynMemberDefn.ImplicitInherit(_2,_4,_5,mDecl)
+ )
+# 1982 "../pars.fsy"
+ : 'inheritsDefn));
+# 6214 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1986 "../pars.fsy"
+ let mDecl = (rhs parseState 1)
+ if not _2 then errorR(Error(FSComp.SR.parsTypeNameCannotBeEmpty(), mDecl))
+ SynMemberDefn.Inherit(SynType.LongIdent(LongIdentWithDots([], [])), None,mDecl)
+ )
+# 1986 "../pars.fsy"
+ : 'inheritsDefn));
+# 6227 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'asSpec)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1991 "../pars.fsy"
+ Some(_1)
+ )
+# 1991 "../pars.fsy"
+ : 'optAsSpec));
+# 6238 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1992 "../pars.fsy"
+ None
+ )
+# 1992 "../pars.fsy"
+ : 'optAsSpec));
+# 6248 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1995 "../pars.fsy"
+ _2
+ )
+# 1995 "../pars.fsy"
+ : 'asSpec));
+# 6259 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'baseSpec)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 1999 "../pars.fsy"
+ Some(_1)
+ )
+# 1999 "../pars.fsy"
+ : 'optBaseSpec));
+# 6270 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2000 "../pars.fsy"
+ None
+ )
+# 2000 "../pars.fsy"
+ : 'optBaseSpec));
+# 6280 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2005 "../pars.fsy"
+ if (_2).idText <> "base" then
+ errorR(Error(FSComp.SR.parsInheritDeclarationsCannotHaveAsBindings(),rhs2 parseState 1 2))
+ ident("base",rhs parseState 2)
+ )
+# 2005 "../pars.fsy"
+ : 'baseSpec));
+# 6293 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2010 "../pars.fsy"
+ errorR(Error(FSComp.SR.parsInheritDeclarationsCannotHaveAsBindings(),rhs2 parseState 1 2))
+ ident("base",rhs parseState 2)
+ )
+# 2010 "../pars.fsy"
+ : 'baseSpec));
+# 6304 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'objectImplementationMembers)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2017 "../pars.fsy"
+ _2
+ )
+# 2017 "../pars.fsy"
+ : 'objectImplementationBlock));
+# 6316 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'objectImplementationMembers)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2020 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 3) (FSComp.SR.parsUnexpectedEndOfFileObjectMembers())
+ _2
+ )
+# 2020 "../pars.fsy"
+ : 'objectImplementationBlock));
+# 6329 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'objectImplementationMembers)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2024 "../pars.fsy"
+ _1
+ )
+# 2024 "../pars.fsy"
+ : 'objectImplementationBlock));
+# 6340 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'objectImplementationMember)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'objectImplementationMembers)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2030 "../pars.fsy"
+ _1 @ _3
+ )
+# 2030 "../pars.fsy"
+ : 'objectImplementationMembers));
+# 6353 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'objectImplementationMember)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2033 "../pars.fsy"
+ _1
+ )
+# 2033 "../pars.fsy"
+ : 'objectImplementationMembers));
+# 6365 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'memberOrOverride)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'memberCore)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_ODECLEND)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2039 "../pars.fsy"
+ let rangeStart = rhs parseState 1
+ _3 None OverrideMemberFlags _1 rangeStart
+ )
+# 2039 "../pars.fsy"
+ : 'objectImplementationMember));
+# 6380 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'memberOrOverride)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'autoPropsDefnDecl)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_ODECLEND)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2043 "../pars.fsy"
+ let rangeStart = rhs parseState 1
+ _3 _1 false OverrideMemberFlags rangeStart
+ )
+# 2043 "../pars.fsy"
+ : 'objectImplementationMember));
+# 6395 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'memberOrOverride)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2047 "../pars.fsy"
+ []
+ )
+# 2047 "../pars.fsy"
+ : 'objectImplementationMember));
+# 6407 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'memberCore)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_ODECLEND)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2050 "../pars.fsy"
+ []
+ )
+# 2050 "../pars.fsy"
+ : 'objectImplementationMember));
+# 6420 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2054 "../pars.fsy"
+
+ )
+# 2054 "../pars.fsy"
+ : 'memberOrOverride));
+# 6430 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2055 "../pars.fsy"
+
+ )
+# 2055 "../pars.fsy"
+ : 'memberOrOverride));
+# 6440 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : string * bool)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2063 "../pars.fsy"
+ errorR(Error(FSComp.SR.parsUnexpectedQuotationOperatorInTypeAliasDidYouMeanVerbatimString(), rhs parseState 4))
+ SynTypeDefnSimpleRepr.TypeAbbrev (ParserDetail.ThereWereSignificantParseErrorsSoDoNotTypecheckThisNode, SynType.LongIdent(_3), unionRanges (rhs parseState 1) _3.Range)
+ )
+# 2063 "../pars.fsy"
+ : Ast.SynTypeDefnSimpleRepr));
+# 6457 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2068 "../pars.fsy"
+ if not (isNil _1) then errorR(Error(FSComp.SR.parsAttributesIllegalHere(),rhs parseState 1))
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsTypeAbbreviationsCannotHaveVisibilityDeclarations(),rhs parseState 2))
+ SynTypeDefnSimpleRepr.TypeAbbrev (ParserDetail.Ok, _3, unionRanges (rhs parseState 1) _3.Range)
+ )
+# 2068 "../pars.fsy"
+ : Ast.SynTypeDefnSimpleRepr));
+# 6472 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : (Ast.SynEnumCase, Ast.SynUnionCase) Choice list)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2074 "../pars.fsy"
+ if not (isNil _1) then errorR(Error(FSComp.SR.parsAttributesIllegalHere(),rhs parseState 1))
+ let rangesOf3 = _3 |> List.map (function |Choice1Of2(ec)->ec.Range | Choice2Of2(uc)->uc.Range)
+ let mWhole = (rhs2 parseState 1 2, rangesOf3) ||> List.fold unionRanges
+ if _3 |> List.exists (function Choice1Of2 _ -> true | _ -> false) then (
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsEnumTypesCannotHaveVisibilityDeclarations(),rhs parseState 2));
+ SynTypeDefnSimpleRepr.Enum (_3 |> List.choose (function
+ | Choice1Of2 data ->
+ Some(data)
+ | Choice2Of2(UnionCase(_,_,_,_,_,m)) ->
+ errorR(Error(FSComp.SR.parsAllEnumFieldsRequireValues(),m)); None),
+ mWhole)
+ ) else
+ SynTypeDefnSimpleRepr.Union (_2,
+ _3 |> List.choose (function Choice2Of2 data -> Some(data) | Choice1Of2 _ -> failwith "huh?"),
+ mWhole)
+ )
+# 2074 "../pars.fsy"
+ : Ast.SynTypeDefnSimpleRepr));
+# 6499 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'braceFieldDeclList)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2092 "../pars.fsy"
+ if not (isNil _1) then errorR(Error(FSComp.SR.parsAttributesIllegalHere(),rhs parseState 1))
+ SynTypeDefnSimpleRepr.Record (_2,_3,lhs parseState)
+ )
+# 2092 "../pars.fsy"
+ : Ast.SynTypeDefnSimpleRepr));
+# 6513 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declVisibility)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'inlineAssemblyTyconRepr)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2097 "../pars.fsy"
+ if not (isNil _1) then errorR(Error(FSComp.SR.parsAttributesIllegalHere(),rhs parseState 1))
+ libraryOnlyError (lhs parseState)
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsInlineAssemblyCannotHaveVisibilityDeclarations(),rhs parseState 2))
+ _4
+ )
+# 2097 "../pars.fsy"
+ : Ast.SynTypeDefnSimpleRepr));
+# 6530 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdFieldDeclList)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rbrace)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2106 "../pars.fsy"
+ _2
+ )
+# 2106 "../pars.fsy"
+ : 'braceFieldDeclList));
+# 6542 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdFieldDeclList)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2109 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBrace())
+ _2
+ )
+# 2109 "../pars.fsy"
+ : 'braceFieldDeclList));
+# 6555 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rbrace)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2113 "../pars.fsy"
+ []
+ )
+# 2113 "../pars.fsy"
+ : 'braceFieldDeclList));
+# 6566 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'braceBarFieldDeclListCore)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2117 "../pars.fsy"
+ _2,true
+ )
+# 2117 "../pars.fsy"
+ : 'anonRecdType));
+# 6577 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'braceBarFieldDeclListCore)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2119 "../pars.fsy"
+ _1,false
+ )
+# 2119 "../pars.fsy"
+ : 'anonRecdType));
+# 6588 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdFieldDeclList)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'bar_rbrace)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2124 "../pars.fsy"
+ _2
+ )
+# 2124 "../pars.fsy"
+ : 'braceBarFieldDeclListCore));
+# 6600 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdFieldDeclList)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2127 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBraceBar())
+ _2
+ )
+# 2127 "../pars.fsy"
+ : 'braceBarFieldDeclListCore));
+# 6613 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'bar_rbrace)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2131 "../pars.fsy"
+ []
+ )
+# 2131 "../pars.fsy"
+ : 'braceBarFieldDeclListCore));
+# 6624 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'stringOrKeywordString)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2135 "../pars.fsy"
+ libraryOnlyError (lhs parseState)
+ let lhsm = lhs parseState
+ SynTypeDefnSimpleRepr.LibraryOnlyILAssembly (internalParseAssemblyCodeType _2 parseState.LexBuffer.SupportsFeature (rhs parseState 2),lhsm)
+ )
+# 2135 "../pars.fsy"
+ : 'inlineAssemblyTyconRepr));
+# 6637 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2140 "../pars.fsy"
+ TyconClass
+ )
+# 2140 "../pars.fsy"
+ : 'classOrInterfaceOrStruct));
+# 6647 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2141 "../pars.fsy"
+ TyconInterface
+ )
+# 2141 "../pars.fsy"
+ : 'classOrInterfaceOrStruct));
+# 6657 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2142 "../pars.fsy"
+ TyconStruct
+ )
+# 2142 "../pars.fsy"
+ : 'classOrInterfaceOrStruct));
+# 6667 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2145 "../pars.fsy"
+
+ )
+# 2145 "../pars.fsy"
+ : 'interfaceMember));
+# 6677 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2146 "../pars.fsy"
+
+ )
+# 2146 "../pars.fsy"
+ : 'interfaceMember));
+# 6687 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_access)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2150 "../pars.fsy"
+ [], _2.Lid,false,[],_1,grabXmlDoc(parseState,2)
+ )
+# 2150 "../pars.fsy"
+ : 'tyconNameAndTyparDecls));
+# 6699 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_access)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'prefixTyparDecls)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2153 "../pars.fsy"
+ _2, _3.Lid,false,[],_1,grabXmlDoc(parseState,2)
+ )
+# 2153 "../pars.fsy"
+ : 'tyconNameAndTyparDecls));
+# 6712 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_access)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'postfixTyparDecls)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2156 "../pars.fsy"
+ let tps,tpcs = _3
+ tps, _2.Lid,true,tpcs,_1,grabXmlDoc(parseState,2)
+ )
+# 2156 "../pars.fsy"
+ : 'tyconNameAndTyparDecls));
+# 6726 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2160 "../pars.fsy"
+ [ TyparDecl([],_1) ]
+ )
+# 2160 "../pars.fsy"
+ : 'prefixTyparDecls));
+# 6737 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typarDeclList)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2161 "../pars.fsy"
+ List.rev _2
+ )
+# 2161 "../pars.fsy"
+ : 'prefixTyparDecls));
+# 6749 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typarDeclList)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typarDecl)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2164 "../pars.fsy"
+ _3 :: _1
+ )
+# 2164 "../pars.fsy"
+ : 'typarDeclList));
+# 6761 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typarDecl)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2165 "../pars.fsy"
+ [_1]
+ )
+# 2165 "../pars.fsy"
+ : 'typarDeclList));
+# 6772 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2169 "../pars.fsy"
+ TyparDecl(_1,_2)
+ )
+# 2169 "../pars.fsy"
+ : 'typarDecl));
+# 6784 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_HIGH_PRECEDENCE_TYAPP)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typarDeclList)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_typeConstraints)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2175 "../pars.fsy"
+ if not _2 then warning(Error(FSComp.SR.parsNonAdjacentTypars(),rhs2 parseState 2 5))
+ List.rev _3, _4
+ )
+# 2175 "../pars.fsy"
+ : 'postfixTyparDecls));
+# 6800 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typarDeclList)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2182 "../pars.fsy"
+ (List.rev _1,true)
+ )
+# 2182 "../pars.fsy"
+ : 'explicitValTyparDeclsCore));
+# 6811 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typarDeclList)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2184 "../pars.fsy"
+ (List.rev _1,false)
+ )
+# 2184 "../pars.fsy"
+ : 'explicitValTyparDeclsCore));
+# 6822 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2186 "../pars.fsy"
+ ([],false)
+ )
+# 2186 "../pars.fsy"
+ : 'explicitValTyparDeclsCore));
+# 6832 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_HIGH_PRECEDENCE_TYAPP)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'explicitValTyparDeclsCore)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_typeConstraints)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2190 "../pars.fsy"
+ if not _2 then warning(Error(FSComp.SR.parsNonAdjacentTypars(),rhs2 parseState 2 5))
+ let tps,flex = _3
+ SynValTyparDecls(tps,flex,_4)
+ )
+# 2190 "../pars.fsy"
+ : 'explicitValTyparDecls));
+# 6849 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'explicitValTyparDecls)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2196 "../pars.fsy"
+ _1
+ )
+# 2196 "../pars.fsy"
+ : 'opt_explicitValTyparDecls));
+# 6860 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2198 "../pars.fsy"
+ SynValTyparDecls([],true,[])
+ )
+# 2198 "../pars.fsy"
+ : 'opt_explicitValTyparDecls));
+# 6870 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'explicitValTyparDecls)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2202 "../pars.fsy"
+ Some _1
+ )
+# 2202 "../pars.fsy"
+ : 'opt_explicitValTyparDecls2));
+# 6881 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2204 "../pars.fsy"
+ None
+ )
+# 2204 "../pars.fsy"
+ : 'opt_explicitValTyparDecls2));
+# 6891 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2210 "../pars.fsy"
+ []
+ )
+# 2210 "../pars.fsy"
+ : 'opt_typeConstraints));
+# 6901 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeConstraints)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2212 "../pars.fsy"
+ List.rev _2
+ )
+# 2212 "../pars.fsy"
+ : 'opt_typeConstraints));
+# 6912 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeConstraints)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeConstraint)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2217 "../pars.fsy"
+ _3 :: _1
+ )
+# 2217 "../pars.fsy"
+ : 'typeConstraints));
+# 6924 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeConstraint)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2218 "../pars.fsy"
+ [_1]
+ )
+# 2218 "../pars.fsy"
+ : 'typeConstraints));
+# 6935 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2224 "../pars.fsy"
+ libraryOnlyError (lhs parseState); WhereTyparDefaultsToType(_2,_4,lhs parseState)
+ )
+# 2224 "../pars.fsy"
+ : 'typeConstraint));
+# 6947 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2227 "../pars.fsy"
+ WhereTyparSubtypeOfType(_1,_3,lhs parseState)
+ )
+# 2227 "../pars.fsy"
+ : 'typeConstraint));
+# 6959 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2230 "../pars.fsy"
+ WhereTyparIsValueType(_1,lhs parseState)
+ )
+# 2230 "../pars.fsy"
+ : 'typeConstraint));
+# 6970 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2233 "../pars.fsy"
+ if _3 <> "not" then reportParseErrorAt (rhs parseState 3) (FSComp.SR.parsUnexpectedIdentifier(_3))
+ WhereTyparIsReferenceType(_1,lhs parseState)
+ )
+# 2233 "../pars.fsy"
+ : 'typeConstraint));
+# 6983 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2237 "../pars.fsy"
+ WhereTyparSupportsNull(_1,lhs parseState)
+ )
+# 2237 "../pars.fsy"
+ : 'typeConstraint));
+# 6994 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'classMemberSpfn)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2240 "../pars.fsy"
+ let tp = _1
+ WhereTyparSupportsMember([ SynType.Var(tp, tp.Range) ],_4,lhs parseState)
+ )
+# 2240 "../pars.fsy"
+ : 'typeConstraint));
+# 7008 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typarAlts)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'classMemberSpfn)) in
+ let _7 = (let data = parseState.GetInput(7) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2244 "../pars.fsy"
+ WhereTyparSupportsMember(List.rev(_2),_6,lhs parseState)
+ )
+# 2244 "../pars.fsy"
+ : 'typeConstraint));
+# 7022 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : range * range option * Ast.SynType list * range list * range)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2247 "../pars.fsy"
+ let _ltm,_gtm,args,_commas,mWhole = _4 in WhereTyparIsDelegate(_1, args, unionRanges _1.Range mWhole)
+ )
+# 2247 "../pars.fsy"
+ : 'typeConstraint));
+# 7034 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : range * range option * Ast.SynType list * range list * range)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2250 "../pars.fsy"
+ match _3 with
+ | "enum" -> let _ltm,_gtm,args,_commas,mWhole = _4 in WhereTyparIsEnum(_1, args, unionRanges _1.Range mWhole)
+ | nm -> raiseParseErrorAt (rhs parseState 3) (FSComp.SR.parsUnexpectedIdentifier(nm))
+ )
+# 2250 "../pars.fsy"
+ : 'typeConstraint));
+# 7049 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2255 "../pars.fsy"
+ match _3 with
+ | "comparison" -> WhereTyparIsComparable(_1,lhs parseState)
+ | "equality" -> WhereTyparIsEquatable(_1,lhs parseState)
+ | "unmanaged" -> WhereTyparIsUnmanaged(_1,lhs parseState)
+ | nm -> raiseParseErrorAt (rhs parseState 3) (FSComp.SR.parsUnexpectedIdentifier(nm))
+ )
+# 2255 "../pars.fsy"
+ : 'typeConstraint));
+# 7065 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typarAlts)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2262 "../pars.fsy"
+ _3 :: _1
+ )
+# 2262 "../pars.fsy"
+ : 'typarAlts));
+# 7077 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2263 "../pars.fsy"
+ [_1]
+ )
+# 2263 "../pars.fsy"
+ : 'typarAlts));
+# 7088 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'barAndgrabXmlDoc)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'attrUnionCaseDecls)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2270 "../pars.fsy"
+ _2 _1
+ )
+# 2270 "../pars.fsy"
+ : (Ast.SynEnumCase, Ast.SynUnionCase) Choice list));
+# 7100 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'firstUnionCaseDeclOfMany)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'barAndgrabXmlDoc)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'attrUnionCaseDecls)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2273 "../pars.fsy"
+ _1 :: _3 _2
+ )
+# 2273 "../pars.fsy"
+ : (Ast.SynEnumCase, Ast.SynUnionCase) Choice list));
+# 7113 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'firstUnionCaseDecl)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2276 "../pars.fsy"
+ [_1]
+ )
+# 2276 "../pars.fsy"
+ : (Ast.SynEnumCase, Ast.SynUnionCase) Choice list));
+# 7124 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2279 "../pars.fsy"
+ grabXmlDoc(parseState,1)
+ )
+# 2279 "../pars.fsy"
+ : 'barAndgrabXmlDoc));
+# 7134 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attrUnionCaseDecl)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'barAndgrabXmlDoc)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'attrUnionCaseDecls)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2282 "../pars.fsy"
+ (fun xmlDoc -> _1 xmlDoc :: _3 _2)
+ )
+# 2282 "../pars.fsy"
+ : 'attrUnionCaseDecls));
+# 7147 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attrUnionCaseDecl)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2283 "../pars.fsy"
+ (fun xmlDoc -> [ _1 xmlDoc ])
+ )
+# 2283 "../pars.fsy"
+ : 'attrUnionCaseDecls));
+# 7158 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_access)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'unionCaseName)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2288 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsUnionCasesCannotHaveVisibilityDeclarations(),rhs parseState 2))
+ let mDecl = rhs parseState 3
+ (fun xmlDoc -> Choice2Of2 (UnionCase ( _1, _3,UnionCaseFields [],xmlDoc,None,mDecl)))
+
+ )
+# 2288 "../pars.fsy"
+ : 'attrUnionCaseDecl));
+# 7175 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_access)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'unionCaseName)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'unionCaseRepr)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2294 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsUnionCasesCannotHaveVisibilityDeclarations(),rhs parseState 2))
+ let mDecl = rhs2 parseState 3 5
+ (fun xmlDoc -> Choice2Of2 (UnionCase ( _1, _3,UnionCaseFields _5,xmlDoc,None,mDecl)))
+
+ )
+# 2294 "../pars.fsy"
+ : 'attrUnionCaseDecl));
+# 7193 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_access)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'unionCaseName)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'topType)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2300 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsUnionCasesCannotHaveVisibilityDeclarations(),rhs parseState 2))
+ libraryOnlyWarning(lhs parseState)
+ let mDecl = rhs2 parseState 3 5
+ (fun xmlDoc -> Choice2Of2 (UnionCase ( _1, _3,UnionCaseFullType _5,xmlDoc,None,mDecl)))
+
+ )
+# 2300 "../pars.fsy"
+ : 'attrUnionCaseDecl));
+# 7212 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_access)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'unionCaseName)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'constant)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2307 "../pars.fsy"
+ if Option.isSome _2 then errorR(Error(FSComp.SR.parsEnumFieldsCannotHaveVisibilityDeclarations(),rhs parseState 2))
+ let mDecl = rhs2 parseState 3 5
+ (fun xmlDoc -> Choice1Of2 (EnumCase ( _1, _3,_5,xmlDoc,mDecl)))
+
+ )
+# 2307 "../pars.fsy"
+ : 'attrUnionCaseDecl));
+# 7230 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'nameop)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2315 "../pars.fsy"
+ _1
+ )
+# 2315 "../pars.fsy"
+ : 'unionCaseName));
+# 7241 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2318 "../pars.fsy"
+ ident(opNameCons,rhs parseState 2)
+ )
+# 2318 "../pars.fsy"
+ : 'unionCaseName));
+# 7252 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2321 "../pars.fsy"
+ ident(opNameNil,rhs2 parseState 2 3)
+ )
+# 2321 "../pars.fsy"
+ : 'unionCaseName));
+# 7263 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2325 "../pars.fsy"
+ Choice2Of2 (UnionCase ( [], _1,UnionCaseFields [],PreXmlDoc.Empty,None,rhs parseState 1))
+ )
+# 2325 "../pars.fsy"
+ : 'firstUnionCaseDeclOfMany));
+# 7275 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'constant)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2328 "../pars.fsy"
+ Choice1Of2 (EnumCase ([],_1,_3,PreXmlDoc.Empty,rhs2 parseState 1 3))
+ )
+# 2328 "../pars.fsy"
+ : 'firstUnionCaseDeclOfMany));
+# 7288 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'firstUnionCaseDecl)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2331 "../pars.fsy"
+ _1
+ )
+# 2331 "../pars.fsy"
+ : 'firstUnionCaseDeclOfMany));
+# 7300 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'unionCaseRepr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2335 "../pars.fsy"
+ Choice2Of2 (UnionCase ( [],_1,UnionCaseFields _3,PreXmlDoc.Empty,None,rhs2 parseState 1 3))
+ )
+# 2335 "../pars.fsy"
+ : 'firstUnionCaseDecl));
+# 7312 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'constant)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2338 "../pars.fsy"
+ Choice1Of2 (EnumCase ([],_1,_3,PreXmlDoc.Empty,rhs2 parseState 1 3))
+ )
+# 2338 "../pars.fsy"
+ : 'firstUnionCaseDecl));
+# 7325 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'unionCaseReprElement)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'unionCaseReprElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2341 "../pars.fsy"
+ _1 :: _3
+ )
+# 2341 "../pars.fsy"
+ : 'unionCaseReprElements));
+# 7337 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'unionCaseReprElement)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2342 "../pars.fsy"
+ [_1]
+ )
+# 2342 "../pars.fsy"
+ : 'unionCaseReprElements));
+# 7348 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2345 "../pars.fsy"
+ mkNamedField(_1, _3)
+ )
+# 2345 "../pars.fsy"
+ : 'unionCaseReprElement));
+# 7360 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2346 "../pars.fsy"
+ mkAnonField _1
+ )
+# 2346 "../pars.fsy"
+ : 'unionCaseReprElement));
+# 7371 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'braceFieldDeclList)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2350 "../pars.fsy"
+ errorR(Deprecated(FSComp.SR.parsConsiderUsingSeparateRecordType(),lhs parseState))
+ _1
+ )
+# 2350 "../pars.fsy"
+ : 'unionCaseRepr));
+# 7383 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'unionCaseReprElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2354 "../pars.fsy"
+ _1
+ )
+# 2354 "../pars.fsy"
+ : 'unionCaseRepr));
+# 7394 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdFieldDecl)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'seps)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdFieldDeclList)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2359 "../pars.fsy"
+ _1 :: _3
+ )
+# 2359 "../pars.fsy"
+ : 'recdFieldDeclList));
+# 7407 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdFieldDecl)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2362 "../pars.fsy"
+ [_1]
+ )
+# 2362 "../pars.fsy"
+ : 'recdFieldDeclList));
+# 7419 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'fieldDecl)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2367 "../pars.fsy"
+ let fld = _2 _1 false
+ let (Field(a,b,c,d,e,f,vis,g)) = fld
+ if Option.isSome vis then errorR(Error(FSComp.SR.parsRecordFieldsCannotHaveVisibilityDeclarations(),rhs parseState 2))
+ Field(a,b,c,d,e,f,None,g)
+ )
+# 2367 "../pars.fsy"
+ : 'recdFieldDecl));
+# 7434 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_mutable)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_access)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2375 "../pars.fsy"
+ let mRhs = rhs2 parseState 3 5
+ let xmlDoc = grabXmlDoc(parseState,3)
+ (fun attrs stat -> Field(attrs, stat,Some _3,_5,_1,xmlDoc,_2,mRhs))
+ )
+# 2375 "../pars.fsy"
+ : 'fieldDecl));
+# 7450 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExceptionDefnRepr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_classDefn)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2383 "../pars.fsy"
+ SynExceptionDefn(_1,_2, (_1.Range,_2) ||> unionRangeWithListBy (fun cd -> cd.Range) )
+ )
+# 2383 "../pars.fsy"
+ : Ast.SynExceptionDefn));
+# 7462 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2387 "../pars.fsy"
+ grabXmlDoc(parseState,1)
+ )
+# 2387 "../pars.fsy"
+ : 'exceptionAndGrabDoc));
+# 7472 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'exceptionAndGrabDoc)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_access)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'exconIntro)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'exconRepr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2392 "../pars.fsy"
+ SynExceptionDefnRepr(_2,_4,_5,_1,_3,(match _5 with None -> rhs2 parseState 1 4 | Some p -> unionRanges (rangeOfLongIdent p) (rhs2 parseState 1 4)))
+ )
+# 2392 "../pars.fsy"
+ : Ast.SynExceptionDefnRepr));
+# 7487 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2397 "../pars.fsy"
+ UnionCase ( [], _1,UnionCaseFields [],PreXmlDoc.Empty,None,lhs parseState)
+ )
+# 2397 "../pars.fsy"
+ : 'exconIntro));
+# 7498 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'unionCaseRepr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2400 "../pars.fsy"
+ UnionCase ( [], _1,UnionCaseFields _3,PreXmlDoc.Empty,None,lhs parseState)
+ )
+# 2400 "../pars.fsy"
+ : 'exconIntro));
+# 7510 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2403 "../pars.fsy"
+ None
+ )
+# 2403 "../pars.fsy"
+ : 'exconRepr));
+# 7520 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2404 "../pars.fsy"
+ Some (_2.Lid)
+ )
+# 2404 "../pars.fsy"
+ : 'exconRepr));
+# 7531 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2407 "../pars.fsy"
+ _2
+ )
+# 2407 "../pars.fsy"
+ : Ast.LongIdentWithDots));
+# 7542 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_rec)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'localBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2416 "../pars.fsy"
+ let mLetKwd = rhs parseState 1
+ let isUse = _1
+ let isRec = _2
+ let localBindingsLastRangeOpt, localBindingsBuilder = _3
+
+ // Calculate the precise range of the binding set, up to the end of the last r.h.s. expression
+ let bindingSetRange =
+ match localBindingsLastRangeOpt with
+ | None -> rhs2 parseState 1 2 (* there was some error - this will be an approximate range *)
+ | Some lastRange -> unionRanges mLetKwd lastRange
+ // The first binding swallows any attributes prior to the 'let'
+ BindingSetPreAttrs(mLetKwd,isRec,isUse,
+ (fun attrs vis ->
+ // apply the builder
+ let binds = localBindingsBuilder attrs vis mLetKwd
+ if not isRec && not (isNilOrSingleton binds) then
+ reportParseErrorAt mLetKwd (FSComp.SR.parsLetAndForNonRecBindings())
+ [],binds),
+ bindingSetRange)
+ )
+# 2416 "../pars.fsy"
+ : 'defnBindings));
+# 7573 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'cPrototype)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2438 "../pars.fsy"
+ let bindRange = lhs parseState
+ BindingSetPreAttrs(bindRange, false,false,_1,bindRange)
+ )
+# 2438 "../pars.fsy"
+ : 'defnBindings));
+# 7585 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2445 "../pars.fsy"
+ let mDoKwd = rhs parseState 1
+ let mWhole = unionRanges mDoKwd _2.Range
+ // any attributes prior to the 'let' are left free, e.g. become top-level attributes
+ // associated with the module, 'main' function or assembly depending on their target
+ BindingSetPreAttrs(mDoKwd,false,false,(fun attrs vis -> attrs,[mkSynDoBinding (vis,true,_2,mWhole)]), mWhole)
+ )
+# 2445 "../pars.fsy"
+ : 'doBinding));
+# 7600 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_rec)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'localBindings)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'hardwhiteDefnBindingsTerminator)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2455 "../pars.fsy"
+ let mLetKwd = rhs parseState 1
+ let isUse = _1
+ let isRec = _2
+ _4 (if isUse then "use" else "let") mLetKwd // report unterminated error
+
+ let localBindingsLastRangeOpt, localBindingsBuilder = _3
+
+ // Calculate the precise range of the binding set, up to the end of the last r.h.s. expression
+ let bindingSetRange =
+ match localBindingsLastRangeOpt with
+ | None -> rhs parseState 1 (* there was some error - this will be an approximate range *)
+ | Some lastRange -> unionRanges mLetKwd lastRange
+ // the first binding swallow any attributes prior to the 'let'
+ BindingSetPreAttrs(mLetKwd,isRec,isUse,
+ (fun attrs vis ->
+ let binds = localBindingsBuilder attrs vis mLetKwd
+ if not isRec && not (isNilOrSingleton binds) then
+ reportParseErrorAt mLetKwd (FSComp.SR.parsLetAndForNonRecBindings())
+ [],binds),
+ bindingSetRange), (unionRanges mLetKwd bindingSetRange)
+ )
+# 2455 "../pars.fsy"
+ : 'hardwhiteLetBindings));
+# 7633 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'hardwhiteDefnBindingsTerminator)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2481 "../pars.fsy"
+ let mLetKwd = rhs parseState 1
+ let bindingSetRange = unionRanges mLetKwd _2.Range
+ let seqPt = NoSequencePointAtDoBinding
+ // any attributes prior to the 'let' are left free, e.g. become top-level attributes
+ // associated with the module, 'main' function or assembly depending on their target
+ BindingSetPreAttrs(mLetKwd,false,false,(fun attrs vis -> attrs,[mkSynDoBinding (vis,true,_2,bindingSetRange)]),bindingSetRange), _2
+ )
+# 2481 "../pars.fsy"
+ : 'hardwhiteDoBinding));
+# 7650 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'defnBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2491 "../pars.fsy"
+ _1
+ )
+# 2491 "../pars.fsy"
+ : 'classDefnBindings));
+# 7661 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'doBinding)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2492 "../pars.fsy"
+ _1
+ )
+# 2492 "../pars.fsy"
+ : 'classDefnBindings));
+# 7672 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'hardwhiteLetBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2493 "../pars.fsy"
+ let b,m = _1 in b
+ )
+# 2493 "../pars.fsy"
+ : 'classDefnBindings));
+# 7683 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'hardwhiteDoBinding)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2494 "../pars.fsy"
+ fst _1
+ )
+# 2494 "../pars.fsy"
+ : 'classDefnBindings));
+# 7694 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2500 "../pars.fsy"
+ (fun _ m -> ())
+ )
+# 2500 "../pars.fsy"
+ : 'hardwhiteDefnBindingsTerminator));
+# 7704 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2502 "../pars.fsy"
+ (fun kwd m -> reportParseErrorAt m (match kwd with
+ | "let!" -> FSComp.SR.parsUnmatchedLetBang()
+ | "use!" -> FSComp.SR.parsUnmatchedUseBang()
+ | "use" -> FSComp.SR.parsUnmatchedUse()
+ | _ (*"let" *) -> FSComp.SR.parsUnmatchedLet()))
+ )
+# 2502 "../pars.fsy"
+ : 'hardwhiteDefnBindingsTerminator));
+# 7719 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'cRetType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_access)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_HIGH_PRECEDENCE_APP)) in
+ let _7 = (let data = parseState.GetInput(7) in (Microsoft.FSharp.Core.Operators.unbox data : 'cArgs)) in
+ let _8 = (let data = parseState.GetInput(8) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2511 "../pars.fsy"
+ let rty,vis,nm,args = _2,_3,_4,_7
+ let xmlDoc = grabXmlDoc(parseState,1)
+ let nmm = rhs parseState 3
+ let argsm = rhs parseState 6
+ let mBindLhs = lhs parseState
+ let mWhole = lhs parseState
+ let mRhs = lhs parseState
+ let rhsExpr = SynExpr.App (ExprAtomicFlag.NonAtomic,
+ false,
+ SynExpr.Ident (ident("failwith",rhs parseState 6)),
+ SynExpr.Const (SynConst.String("extern was not given a DllImport attribute",rhs parseState 8),rhs parseState 8),
+ mRhs)
+ (fun attrs vis ->
+ let bindingId = SynPat.LongIdent (LongIdentWithDots([nm],[]), None, Some noInferredTypars, SynConstructorArgs.Pats [SynPat.Tuple(false,args,argsm)], vis, nmm)
+ let binding = mkSynBinding
+ (xmlDoc, bindingId)
+ (vis, false, false, mBindLhs, NoSequencePointAtInvisibleBinding, Some rty, rhsExpr, mRhs, [], attrs, None)
+ [], [binding])
+ )
+# 2511 "../pars.fsy"
+ : 'cPrototype));
+# 7752 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'cMoreArgs)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2533 "../pars.fsy"
+ List.rev _1
+ )
+# 2533 "../pars.fsy"
+ : 'cArgs));
+# 7763 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'cArg)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2536 "../pars.fsy"
+ [_1]
+ )
+# 2536 "../pars.fsy"
+ : 'cArgs));
+# 7774 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2538 "../pars.fsy"
+ []
+ )
+# 2538 "../pars.fsy"
+ : 'cArgs));
+# 7784 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'cMoreArgs)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'cArg)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2544 "../pars.fsy"
+ _3 :: _1
+ )
+# 2544 "../pars.fsy"
+ : 'cMoreArgs));
+# 7796 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'cArg)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'cArg)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2547 "../pars.fsy"
+ [_3; _1]
+ )
+# 2547 "../pars.fsy"
+ : 'cMoreArgs));
+# 7808 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'cType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2553 "../pars.fsy"
+ let m = lhs parseState in SynPat.Typed(SynPat.Wild m,_2,m) |> addAttribs _1
+ )
+# 2553 "../pars.fsy"
+ : 'cArg));
+# 7820 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'cType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2556 "../pars.fsy"
+ let m = lhs parseState in SynPat.Typed(SynPat.Named (SynPat.Wild m,_3,false,None,m),_2,m) |> addAttribs _1
+ )
+# 2556 "../pars.fsy"
+ : 'cArg));
+# 7833 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2561 "../pars.fsy"
+ let m = _1.Range
+ SynType.App(SynType.LongIdent(_1),None,[],[],None,false,m)
+ )
+# 2561 "../pars.fsy"
+ : 'cType));
+# 7845 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'cType)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_HIGH_PRECEDENCE_APP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2565 "../pars.fsy"
+ let m = lhs parseState
+ SynType.App(SynType.LongIdent(LongIdentWithDots([ident("[]",m)],[])),None,[_1],[],None,true,m)
+ )
+# 2565 "../pars.fsy"
+ : 'cType));
+# 7858 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'cType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2569 "../pars.fsy"
+ let m = lhs parseState
+ SynType.App(SynType.LongIdent(LongIdentWithDots([ident("nativeptr",m)],[])),None,[_1],[],None,true,m)
+ )
+# 2569 "../pars.fsy"
+ : 'cType));
+# 7870 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'cType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2573 "../pars.fsy"
+ let m = lhs parseState
+ SynType.App(SynType.LongIdent(LongIdentWithDots([ident("byref",m)],[])),None,[_1],[],None,true,m)
+ )
+# 2573 "../pars.fsy"
+ : 'cType));
+# 7882 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2577 "../pars.fsy"
+ let m = lhs parseState
+ SynType.App(SynType.LongIdent(LongIdentWithDots([ident("nativeint",m)],[])),None,[],[],None,true,m)
+ )
+# 2577 "../pars.fsy"
+ : 'cType));
+# 7893 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'cType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2584 "../pars.fsy"
+ SynReturnInfo((_2,SynArgInfo(_1,false,None)),rhs parseState 2)
+ )
+# 2584 "../pars.fsy"
+ : 'cRetType));
+# 7905 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2587 "../pars.fsy"
+ let m = rhs parseState 2
+ SynReturnInfo((SynType.App(SynType.LongIdent(LongIdentWithDots([ident("unit",m)],[])),None,[],[],None,false,m),SynArgInfo(_1,false,None)),m)
+ )
+# 2587 "../pars.fsy"
+ : 'cRetType));
+# 7917 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attr_localBinding)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'moreLocalBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2593 "../pars.fsy"
+ let (moreBindings, moreBindingRanges) = List.unzip _2
+ let moreLocalBindingsLastRange = if moreBindingRanges.IsEmpty then None else Some (List.last moreBindingRanges)
+ match _1 with
+ | Some (localBindingRange,attrLocalBindingBuilder) ->
+ let lastRange =
+ match moreLocalBindingsLastRange with
+ | None -> localBindingRange
+ | Some m -> m
+ Some lastRange, (fun attrs vis mLetKwd -> attrLocalBindingBuilder attrs vis mLetKwd true :: moreBindings)
+ | None ->
+ moreLocalBindingsLastRange, (fun _attrs _vis _letm -> moreBindings)
+ )
+# 2593 "../pars.fsy"
+ : 'localBindings));
+# 7939 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'attr_localBinding)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'moreLocalBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2608 "../pars.fsy"
+ let mLetKwd = rhs parseState 1
+ (match _2 with
+ | Some (localBindingRange,attrLocalBindingBuilder) -> (attrLocalBindingBuilder [] None mLetKwd false,localBindingRange) :: _3
+ | None -> _3)
+ )
+# 2608 "../pars.fsy"
+ : 'moreLocalBindings));
+# 7954 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2614 "../pars.fsy"
+ []
+ )
+# 2614 "../pars.fsy"
+ : 'moreLocalBindings));
+# 7964 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'localBinding)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2620 "../pars.fsy"
+ let attrs2 = _1
+ let localBindingRange,localBindingBuilder = _2
+ let attrLocalBindingBuilder = (fun attrs vis mLetKwd _ -> localBindingBuilder (attrs@attrs2) vis mLetKwd)
+ Some(localBindingRange,attrLocalBindingBuilder)
+ )
+# 2620 "../pars.fsy"
+ : 'attr_localBinding));
+# 7979 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2626 "../pars.fsy"
+ None
+ )
+# 2626 "../pars.fsy"
+ : 'attr_localBinding));
+# 7989 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_inline)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_mutable)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'bindingPattern)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_topReturnTypeWithTypeConstraints)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedExprWithStaticOptimizationsBlock)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2632 "../pars.fsy"
+ let (expr:SynExpr),opts = _6
+ let eqm = rhs parseState 5
+ let mRhs = expr.Range
+ let optReturnType = _4
+ let bindingBuilder, mBindLhs = _3
+ let localBindingRange = unionRanges (rhs2 parseState 3 5) mRhs
+ let localBindingBuilder =
+ (fun attrs vis mLetKwd ->
+ let mWhole = unionRanges mLetKwd mRhs
+ let spBind = if IsControlFlowExpression expr then NoSequencePointAtLetBinding else SequencePointAtBinding(mWhole)
+ bindingBuilder (vis,_1,_2,mBindLhs,spBind,optReturnType,expr,mRhs,opts,attrs,None))
+ localBindingRange,localBindingBuilder
+ )
+# 2632 "../pars.fsy"
+ : 'localBinding));
+# 8015 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_inline)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_mutable)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'bindingPattern)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_topReturnTypeWithTypeConstraints)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2646 "../pars.fsy"
+ let mWhole = rhs2 parseState 3 5
+ let mRhs = rhs parseState 5
+ let optReturnType = _4
+ let bindingBuilder,mBindLhs = _3
+ let localBindingBuilder =
+ (fun attrs vis mLetKwd ->
+ let spBind = SequencePointAtBinding(unionRanges mLetKwd mRhs)
+ let eqm = rhs parseState 5
+ let zeroWidthAtEnd = eqm.EndRange
+ bindingBuilder (vis,_1,_2,mBindLhs,spBind,optReturnType,arbExpr("localBinding1",zeroWidthAtEnd),mRhs,[],attrs,None))
+ mWhole,localBindingBuilder
+ )
+# 2646 "../pars.fsy"
+ : 'localBinding));
+# 8039 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_inline)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_mutable)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'bindingPattern)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_topReturnTypeWithTypeConstraints)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2659 "../pars.fsy"
+ if not _5 then reportParseErrorAt (rhs parseState 5) (FSComp.SR.parsUnexpectedEndOfFileDefinition())
+ let optReturnType = _4
+ let mWhole = match optReturnType with None -> rhs parseState 3 | Some _ -> rhs2 parseState 3 4
+ let mRhs = mWhole.EndRange // zero-width range at end of last good token
+ let bindingBuilder,mBindLhs = _3
+ let localBindingBuilder =
+ (fun attrs vis mLetKwd ->
+ let spBind = SequencePointAtBinding(unionRanges mLetKwd mRhs)
+ bindingBuilder (vis,_1,_2,mBindLhs,spBind,optReturnType,arbExpr("localBinding2",mRhs),mRhs,[],attrs,None))
+ mWhole,localBindingBuilder
+ )
+# 2659 "../pars.fsy"
+ : 'localBinding));
+# 8063 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedExprWithStaticOptimizations)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2674 "../pars.fsy"
+ _2
+ )
+# 2674 "../pars.fsy"
+ : 'typedExprWithStaticOptimizationsBlock));
+# 8075 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedExprWithStaticOptimizations)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2677 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 3) (FSComp.SR.parsUnexpectedEndOfFile())
+ let a,b = _2
+ (exprFromParseError a, b)
+ )
+# 2677 "../pars.fsy"
+ : 'typedExprWithStaticOptimizationsBlock));
+# 8089 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedExprWithStaticOptimizations)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2682 "../pars.fsy"
+ _1
+ )
+# 2682 "../pars.fsy"
+ : 'typedExprWithStaticOptimizationsBlock));
+# 8100 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_staticOptimizations)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2685 "../pars.fsy"
+ _1, List.rev _2
+ )
+# 2685 "../pars.fsy"
+ : 'typedExprWithStaticOptimizations));
+# 8112 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_staticOptimizations)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'staticOptimization)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2688 "../pars.fsy"
+ _2 :: _1
+ )
+# 2688 "../pars.fsy"
+ : 'opt_staticOptimizations));
+# 8124 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2689 "../pars.fsy"
+ []
+ )
+# 2689 "../pars.fsy"
+ : 'opt_staticOptimizations));
+# 8134 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'staticOptimizationConditions)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2692 "../pars.fsy"
+ (_2,_4)
+ )
+# 2692 "../pars.fsy"
+ : 'staticOptimization));
+# 8146 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'staticOptimizationConditions)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'staticOptimizationCondition)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2695 "../pars.fsy"
+ _3 :: _1
+ )
+# 2695 "../pars.fsy"
+ : 'staticOptimizationConditions));
+# 8158 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'staticOptimizationCondition)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2696 "../pars.fsy"
+ [_1 ]
+ )
+# 2696 "../pars.fsy"
+ : 'staticOptimizationConditions));
+# 8169 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2699 "../pars.fsy"
+ WhenTyparTyconEqualsTycon(_1,_3,lhs parseState)
+ )
+# 2699 "../pars.fsy"
+ : 'staticOptimizationCondition));
+# 8181 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2700 "../pars.fsy"
+ WhenTyparIsStruct(_1,lhs parseState)
+ )
+# 2700 "../pars.fsy"
+ : 'staticOptimizationCondition));
+# 8192 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : sbyte * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2703 "../pars.fsy"
+ if snd _1 then errorR(Error(FSComp.SR.lexOutsideEightBitSigned(), lhs parseState))
+ SynConst.SByte (fst _1)
+ )
+# 2703 "../pars.fsy"
+ : 'rawConstant));
+# 8204 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : byte)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2705 "../pars.fsy"
+ SynConst.Byte _1
+ )
+# 2705 "../pars.fsy"
+ : 'rawConstant));
+# 8215 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int16 * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2706 "../pars.fsy"
+ if snd _1 then errorR(Error(FSComp.SR.lexOutsideSixteenBitSigned(), lhs parseState))
+ SynConst.Int16 (fst _1)
+ )
+# 2706 "../pars.fsy"
+ : 'rawConstant));
+# 8227 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : uint16)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2708 "../pars.fsy"
+ SynConst.UInt16 _1
+ )
+# 2708 "../pars.fsy"
+ : 'rawConstant));
+# 8238 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int32 * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2709 "../pars.fsy"
+ if snd _1 then errorR(Error(FSComp.SR.lexOutsideThirtyTwoBitSigned(), lhs parseState))
+ SynConst.Int32 (fst _1)
+ )
+# 2709 "../pars.fsy"
+ : 'rawConstant));
+# 8250 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : uint32)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2711 "../pars.fsy"
+ SynConst.UInt32 _1
+ )
+# 2711 "../pars.fsy"
+ : 'rawConstant));
+# 8261 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int64 * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2712 "../pars.fsy"
+ if snd _1 then errorR(Error(FSComp.SR.lexOutsideSixtyFourBitSigned(), lhs parseState))
+ SynConst.Int64 (fst _1)
+ )
+# 2712 "../pars.fsy"
+ : 'rawConstant));
+# 8273 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : uint64)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2714 "../pars.fsy"
+ SynConst.UInt64 _1
+ )
+# 2714 "../pars.fsy"
+ : 'rawConstant));
+# 8284 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int64)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2715 "../pars.fsy"
+ SynConst.IntPtr _1
+ )
+# 2715 "../pars.fsy"
+ : 'rawConstant));
+# 8295 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : uint64)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2716 "../pars.fsy"
+ SynConst.UIntPtr _1
+ )
+# 2716 "../pars.fsy"
+ : 'rawConstant));
+# 8306 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : single)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2717 "../pars.fsy"
+ SynConst.Single _1
+ )
+# 2717 "../pars.fsy"
+ : 'rawConstant));
+# 8317 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : double)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2718 "../pars.fsy"
+ SynConst.Double _1
+ )
+# 2718 "../pars.fsy"
+ : 'rawConstant));
+# 8328 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : char)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2719 "../pars.fsy"
+ SynConst.Char _1
+ )
+# 2719 "../pars.fsy"
+ : 'rawConstant));
+# 8339 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : System.Decimal)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2720 "../pars.fsy"
+ SynConst.Decimal _1
+ )
+# 2720 "../pars.fsy"
+ : 'rawConstant));
+# 8350 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : (string * string))) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2721 "../pars.fsy"
+ SynConst.UserNum _1
+ )
+# 2721 "../pars.fsy"
+ : 'rawConstant));
+# 8361 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'stringOrKeywordString)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2722 "../pars.fsy"
+ SynConst.String (_1,lhs parseState)
+ )
+# 2722 "../pars.fsy"
+ : 'rawConstant));
+# 8372 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : byte[])) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2723 "../pars.fsy"
+ SynConst.Bytes (_1,lhs parseState)
+ )
+# 2723 "../pars.fsy"
+ : 'rawConstant));
+# 8383 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int32 * bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : int32 * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2727 "../pars.fsy"
+ if _2 <> "/" then reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnexpectedOperatorForUnitOfMeasure())
+ if fst _3 = 0 then reportParseErrorAt (rhs parseState 3) (FSComp.SR.parsIllegalDenominatorForMeasureExponent())
+ if (snd _1) || (snd _3) then errorR(Error(FSComp.SR.lexOutsideThirtyTwoBitSigned(), lhs parseState))
+ SynRationalConst.Rational(fst _1, fst _3, lhs parseState)
+ )
+# 2727 "../pars.fsy"
+ : 'rationalConstant));
+# 8399 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : int32 * bool)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : int32 * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2733 "../pars.fsy"
+ if _3 <> "/" then reportParseErrorAt (rhs parseState 3) (FSComp.SR.parsUnexpectedOperatorForUnitOfMeasure())
+ if fst _4 = 0 then reportParseErrorAt (rhs parseState 4) (FSComp.SR.parsIllegalDenominatorForMeasureExponent())
+ if (snd _2) || (snd _4) then errorR(Error(FSComp.SR.lexOutsideThirtyTwoBitSigned(), lhs parseState))
+ SynRationalConst.Negate(SynRationalConst.Rational(fst _2, fst _4, lhs parseState))
+ )
+# 2733 "../pars.fsy"
+ : 'rationalConstant));
+# 8415 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int32 * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2738 "../pars.fsy"
+ if snd _1 then errorR(Error(FSComp.SR.lexOutsideThirtyTwoBitSigned(), lhs parseState))
+ SynRationalConst.Integer(fst _1)
+ )
+# 2738 "../pars.fsy"
+ : 'rationalConstant));
+# 8427 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : int32 * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2741 "../pars.fsy"
+ if snd _2 then errorR(Error(FSComp.SR.lexOutsideThirtyTwoBitSigned(), lhs parseState))
+ SynRationalConst.Negate(SynRationalConst.Integer(fst _2))
+ )
+# 2741 "../pars.fsy"
+ : 'rationalConstant));
+# 8439 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int32 * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2745 "../pars.fsy"
+ if snd _1 then errorR(Error(FSComp.SR.lexOutsideThirtyTwoBitSigned(), lhs parseState))
+ SynRationalConst.Integer(fst _1)
+ )
+# 2745 "../pars.fsy"
+ : 'atomicUnsignedRationalConstant));
+# 8451 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'rationalConstant)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2749 "../pars.fsy"
+ _2
+ )
+# 2749 "../pars.fsy"
+ : 'atomicUnsignedRationalConstant));
+# 8463 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicUnsignedRationalConstant)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2752 "../pars.fsy"
+ _1
+ )
+# 2752 "../pars.fsy"
+ : 'atomicRationalConstant));
+# 8474 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicUnsignedRationalConstant)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2755 "../pars.fsy"
+ SynRationalConst.Negate(_2)
+ )
+# 2755 "../pars.fsy"
+ : 'atomicRationalConstant));
+# 8485 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'rawConstant)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2758 "../pars.fsy"
+ _1
+ )
+# 2758 "../pars.fsy"
+ : 'constant));
+# 8496 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'rawConstant)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'measureTypeArg)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2759 "../pars.fsy"
+ SynConst.Measure(_1, _3)
+ )
+# 2759 "../pars.fsy"
+ : 'constant));
+# 8508 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynPat)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2763 "../pars.fsy"
+ let xmlDoc = grabXmlDoc(parseState,1)
+ mkSynBinding (xmlDoc,_1), rhs parseState 1
+ )
+# 2763 "../pars.fsy"
+ : 'bindingPattern));
+# 8520 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2771 "../pars.fsy"
+ let m = rhs parseState 1
+ SynPat.Named(SynPat.Wild m, _1, false, None, m)
+ )
+# 2771 "../pars.fsy"
+ : 'simplePattern));
+# 8532 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2774 "../pars.fsy"
+ SynPat.OptionalVal(_2, rhs parseState 2)
+ )
+# 2774 "../pars.fsy"
+ : 'simplePattern));
+# 8543 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'simplePattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeWithTypeConstraints)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2776 "../pars.fsy"
+ SynPat.Typed(_1, _3, lhs parseState)
+ )
+# 2776 "../pars.fsy"
+ : 'simplePattern));
+# 8555 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'simplePattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2778 "../pars.fsy"
+ SynPat.Attrib(_2, _1, lhs parseState)
+ )
+# 2778 "../pars.fsy"
+ : 'simplePattern));
+# 8567 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'simplePattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2782 "../pars.fsy"
+ _1
+ )
+# 2782 "../pars.fsy"
+ : 'simplePatternCommaList));
+# 8578 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'simplePattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'simplePatternCommaList)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2784 "../pars.fsy"
+ match _3 with
+ | SynPat.Tuple(_, pats, _) -> SynPat.Tuple(false, _1 :: pats, rhs2 parseState 1 3)
+ | _ -> SynPat.Tuple(false, [_1; _3], rhs2 parseState 1 3)
+ )
+# 2784 "../pars.fsy"
+ : 'simplePatternCommaList));
+# 8592 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'simplePatternCommaList)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2790 "../pars.fsy"
+ let parenPat = SynPat.Paren(_2, rhs2 parseState 1 3)
+ let simplePats, _ = SimplePatsOfPat parseState.SynArgNameGenerator parenPat
+ simplePats
+ )
+# 2790 "../pars.fsy"
+ : 'simplePatterns));
+# 8606 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2794 "../pars.fsy"
+ let pat = SynPat.Const(SynConst.Unit, rhs2 parseState 1 2)
+ let simplePats, _ = SimplePatsOfPat parseState.SynArgNameGenerator pat
+ simplePats
+ )
+# 2794 "../pars.fsy"
+ : 'simplePatterns));
+# 8619 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'simplePatternCommaList)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2798 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedParen())
+ let parenPat = SynPat.Paren(SynPat.Tuple(false, [], rhs2 parseState 1 2), rhs2 parseState 1 2) // todo: report parsed pats anyway?
+ let simplePats, _ = SimplePatsOfPat parseState.SynArgNameGenerator parenPat
+ simplePats
+ )
+# 2798 "../pars.fsy"
+ : 'simplePatterns));
+# 8634 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2803 "../pars.fsy"
+ let parenPat = SynPat.Paren(SynPat.Wild(rhs parseState 2), rhs2 parseState 1 3) // silent recovery
+ let simplePats, _ = SimplePatsOfPat parseState.SynArgNameGenerator parenPat
+ simplePats
+ )
+# 2803 "../pars.fsy"
+ : 'simplePatterns));
+# 8647 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2807 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedParen())
+ let pat = SynPat.Wild(lhs parseState)
+ let simplePats, _ = SimplePatsOfPat parseState.SynArgNameGenerator pat
+ simplePats
+ )
+# 2807 "../pars.fsy"
+ : 'simplePatterns));
+# 8661 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynPat)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2815 "../pars.fsy"
+ SynPat.Named (_1,_3,false,None,rhs2 parseState 1 3)
+ )
+# 2815 "../pars.fsy"
+ : Ast.SynPat));
+# 8673 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynPat)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynPat)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2817 "../pars.fsy"
+ SynPat.Or(_1,_3,rhs2 parseState 1 3)
+ )
+# 2817 "../pars.fsy"
+ : Ast.SynPat));
+# 8685 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynPat)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynPat)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2819 "../pars.fsy"
+ SynPat.LongIdent (LongIdentWithDots(mkSynCaseName (rhs parseState 2) opNameCons,[]), None, None, SynConstructorArgs.Pats [SynPat.Tuple (false,[_1;_3],rhs2 parseState 1 3)],None,lhs parseState)
+ )
+# 2819 "../pars.fsy"
+ : Ast.SynPat));
+# 8697 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'tuplePatternElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2821 "../pars.fsy"
+ SynPat.Tuple(false,List.rev _1, lhs parseState)
+ )
+# 2821 "../pars.fsy"
+ : Ast.SynPat));
+# 8708 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'conjPatternElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2823 "../pars.fsy"
+ SynPat.Ands(List.rev _1, lhs parseState)
+ )
+# 2823 "../pars.fsy"
+ : Ast.SynPat));
+# 8719 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'constrPattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2825 "../pars.fsy"
+ _1
+ )
+# 2825 "../pars.fsy"
+ : Ast.SynPat));
+# 8730 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'tuplePatternElements)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynPat)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2829 "../pars.fsy"
+ _3 :: _1
+ )
+# 2829 "../pars.fsy"
+ : 'tuplePatternElements));
+# 8742 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynPat)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynPat)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2831 "../pars.fsy"
+ _3 :: _1 :: []
+ )
+# 2831 "../pars.fsy"
+ : 'tuplePatternElements));
+# 8754 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'conjPatternElements)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynPat)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2835 "../pars.fsy"
+ _3 :: _1
+ )
+# 2835 "../pars.fsy"
+ : 'conjPatternElements));
+# 8766 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynPat)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynPat)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2837 "../pars.fsy"
+ _3 :: _1 :: []
+ )
+# 2837 "../pars.fsy"
+ : 'conjPatternElements));
+# 8778 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'namePatPair)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2840 "../pars.fsy"
+ [_1], lhs parseState
+ )
+# 2840 "../pars.fsy"
+ : 'namePatPairs));
+# 8790 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'namePatPair)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'seps)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'namePatPairs)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2841 "../pars.fsy"
+ let (rs, _) = _3 in (_1 :: rs), lhs parseState
+ )
+# 2841 "../pars.fsy"
+ : 'namePatPairs));
+# 8803 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2844 "../pars.fsy"
+ (_1, _3)
+ )
+# 2844 "../pars.fsy"
+ : 'namePatPair));
+# 8815 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatternLongIdent)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'explicitValTyparDecls)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2848 "../pars.fsy"
+ let vis,lid = _1 in SynPat.LongIdent (lid,None,Some _2, SynConstructorArgs.Pats [],vis,lhs parseState)
+ )
+# 2848 "../pars.fsy"
+ : 'constrPattern));
+# 8827 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatternLongIdent)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_explicitValTyparDecls2)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatsOrNamePatPairs)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2850 "../pars.fsy"
+ let vis,lid = _1 in SynPat.LongIdent (lid,None,_2, _3,vis,lhs parseState)
+ )
+# 2850 "../pars.fsy"
+ : 'constrPattern));
+# 8840 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatternLongIdent)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_explicitValTyparDecls2)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatsOrNamePatPairs)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2852 "../pars.fsy"
+ let vis,lid = _1 in SynPat.LongIdent (lid,None,_2, _4,vis,lhs parseState)
+ )
+# 2852 "../pars.fsy"
+ : 'constrPattern));
+# 8853 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatternLongIdent)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_explicitValTyparDecls2)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatsOrNamePatPairs)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2854 "../pars.fsy"
+ let vis,lid = _1 in SynPat.LongIdent (lid,None,_2, _4,vis,lhs parseState)
+ )
+# 2854 "../pars.fsy"
+ : 'constrPattern));
+# 8866 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomTypeOrAnonRecdType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2856 "../pars.fsy"
+ SynPat.IsInst(_2,lhs parseState)
+ )
+# 2856 "../pars.fsy"
+ : 'constrPattern));
+# 8877 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2858 "../pars.fsy"
+ _1
+ )
+# 2858 "../pars.fsy"
+ : 'constrPattern));
+# 8888 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'namePatPairs)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2861 "../pars.fsy"
+ SynConstructorArgs.NamePatPairs _2
+ )
+# 2861 "../pars.fsy"
+ : 'atomicPatsOrNamePatPairs));
+# 8900 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatterns)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2862 "../pars.fsy"
+ SynConstructorArgs.Pats _1
+ )
+# 2862 "../pars.fsy"
+ : 'atomicPatsOrNamePatPairs));
+# 8911 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPattern)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatterns)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2866 "../pars.fsy"
+ _1 :: _2
+ )
+# 2866 "../pars.fsy"
+ : 'atomicPatterns));
+# 8923 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatterns)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2868 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsSuccessivePatternsShouldBeSpacedOrTupled())
+ _1 :: _3
+ )
+# 2868 "../pars.fsy"
+ : 'atomicPatterns));
+# 8936 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatterns)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2871 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsSuccessivePatternsShouldBeSpacedOrTupled())
+ _1 :: _3
+ )
+# 2871 "../pars.fsy"
+ : 'atomicPatterns));
+# 8949 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2873 "../pars.fsy"
+ [_1]
+ )
+# 2873 "../pars.fsy"
+ : 'atomicPatterns));
+# 8960 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'quoteExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2878 "../pars.fsy"
+ SynPat.QuoteExpr(_1,lhs parseState)
+ )
+# 2878 "../pars.fsy"
+ : 'atomicPattern));
+# 8971 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : char)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : char)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2879 "../pars.fsy"
+ SynPat.DeprecatedCharRange (_1,_3,rhs2 parseState 1 3)
+ )
+# 2879 "../pars.fsy"
+ : 'atomicPattern));
+# 8983 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recordPatternElementsAux)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rbrace)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2881 "../pars.fsy"
+ let rs, m = _2 in SynPat.Record (rs, rhs2 parseState 1 3)
+ )
+# 2881 "../pars.fsy"
+ : 'atomicPattern));
+# 8995 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'listPatternElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2883 "../pars.fsy"
+ SynPat.ArrayOrList(false,_2,lhs parseState)
+ )
+# 2883 "../pars.fsy"
+ : 'atomicPattern));
+# 9006 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'listPatternElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2885 "../pars.fsy"
+ SynPat.ArrayOrList(true,_2, lhs parseState)
+ )
+# 2885 "../pars.fsy"
+ : 'atomicPattern));
+# 9017 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2887 "../pars.fsy"
+ SynPat.Wild (lhs parseState)
+ )
+# 2887 "../pars.fsy"
+ : 'atomicPattern));
+# 9027 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2889 "../pars.fsy"
+ SynPat.OptionalVal(_2,lhs parseState)
+ )
+# 2889 "../pars.fsy"
+ : 'atomicPattern));
+# 9038 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatternLongIdent)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2891 "../pars.fsy"
+ let vis,lidwd = _1
+ if not (isNilOrSingleton lidwd.Lid) || (let c = (List.head lidwd.Lid).idText.[0] in Char.IsUpper(c) && not (Char.IsLower c))
+ then mkSynPatMaybeVar lidwd vis (lhs parseState)
+ else mkSynPatVar vis (List.head lidwd.Lid)
+ )
+# 2891 "../pars.fsy"
+ : 'atomicPattern));
+# 9052 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'constant)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2896 "../pars.fsy"
+ SynPat.Const (_1,_1.Range (lhs parseState))
+ )
+# 2896 "../pars.fsy"
+ : 'atomicPattern));
+# 9063 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2898 "../pars.fsy"
+ SynPat.Const(SynConst.Bool false,lhs parseState)
+ )
+# 2898 "../pars.fsy"
+ : 'atomicPattern));
+# 9073 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2900 "../pars.fsy"
+ SynPat.Const(SynConst.Bool true,lhs parseState)
+ )
+# 2900 "../pars.fsy"
+ : 'atomicPattern));
+# 9083 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2902 "../pars.fsy"
+ SynPat.Null(lhs parseState)
+ )
+# 2902 "../pars.fsy"
+ : 'atomicPattern));
+# 9093 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPatternBody)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2904 "../pars.fsy"
+ let m = (lhs parseState)
+ SynPat.Paren(_2 m,m)
+ )
+# 2904 "../pars.fsy"
+ : 'atomicPattern));
+# 9106 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPatternBody)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2907 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedParen())
+ patFromParseError (_2 (rhs2 parseState 1 2))
+ )
+# 2907 "../pars.fsy"
+ : 'atomicPattern));
+# 9119 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2910 "../pars.fsy"
+ (* silent recovery *) SynPat.Wild (lhs parseState)
+ )
+# 2910 "../pars.fsy"
+ : 'atomicPattern));
+# 9130 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2912 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedParen())
+ SynPat.Wild (lhs parseState)
+ )
+# 2912 "../pars.fsy"
+ : 'atomicPattern));
+# 9142 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleParenPatternElements)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2915 "../pars.fsy"
+ SynPat.Tuple(true, List.rev _3,lhs parseState)
+ )
+# 2915 "../pars.fsy"
+ : 'atomicPattern));
+# 9154 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleParenPatternElements)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2917 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnmatchedParen());
+ SynPat.Tuple(true, List.rev _3,lhs parseState)
+ )
+# 2917 "../pars.fsy"
+ : 'atomicPattern));
+# 9167 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2920 "../pars.fsy"
+ (* silent recovery *) SynPat.Wild (lhs parseState)
+ )
+# 2920 "../pars.fsy"
+ : 'atomicPattern));
+# 9178 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2922 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnmatchedParen());
+ SynPat.Wild (lhs parseState)
+ )
+# 2922 "../pars.fsy"
+ : 'atomicPattern));
+# 9190 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2929 "../pars.fsy"
+ (fun m -> _1)
+ )
+# 2929 "../pars.fsy"
+ : 'parenPatternBody));
+# 9201 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2931 "../pars.fsy"
+ (fun m -> SynPat.Const(SynConst.Unit,m))
+ )
+# 2931 "../pars.fsy"
+ : 'parenPatternBody));
+# 9211 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2960 "../pars.fsy"
+ SynPat.Named (_1,_3,false,None,rhs2 parseState 1 3)
+ )
+# 2960 "../pars.fsy"
+ : 'parenPattern));
+# 9223 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2962 "../pars.fsy"
+ SynPat.Or(_1,_3,rhs2 parseState 1 3)
+ )
+# 2962 "../pars.fsy"
+ : 'parenPattern));
+# 9235 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleParenPatternElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2964 "../pars.fsy"
+ SynPat.Tuple(false,List.rev _1,lhs parseState)
+ )
+# 2964 "../pars.fsy"
+ : 'parenPattern));
+# 9246 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'conjParenPatternElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2966 "../pars.fsy"
+ SynPat.Ands(List.rev _1,rhs2 parseState 1 3)
+ )
+# 2966 "../pars.fsy"
+ : 'parenPattern));
+# 9257 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeWithTypeConstraints)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2968 "../pars.fsy"
+ let lhsm = lhs parseState
+ SynPat.Typed(_1,_3,lhsm)
+ )
+# 2968 "../pars.fsy"
+ : 'parenPattern));
+# 9270 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2971 "../pars.fsy"
+ let lhsm = lhs parseState
+ SynPat.Attrib(_2,_1,lhsm)
+ )
+# 2971 "../pars.fsy"
+ : 'parenPattern));
+# 9283 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2974 "../pars.fsy"
+ SynPat.LongIdent (LongIdentWithDots(mkSynCaseName (rhs parseState 2) opNameCons,[]), None, None, SynConstructorArgs.Pats [ SynPat.Tuple (false,[_1;_3],rhs2 parseState 1 3) ],None,lhs parseState)
+ )
+# 2974 "../pars.fsy"
+ : 'parenPattern));
+# 9295 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'constrPattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2975 "../pars.fsy"
+ _1
+ )
+# 2975 "../pars.fsy"
+ : 'parenPattern));
+# 9306 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleParenPatternElements)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2979 "../pars.fsy"
+ _3 :: _1
+ )
+# 2979 "../pars.fsy"
+ : 'tupleParenPatternElements));
+# 9318 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2981 "../pars.fsy"
+ _3 :: _1 :: []
+ )
+# 2981 "../pars.fsy"
+ : 'tupleParenPatternElements));
+# 9330 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'conjParenPatternElements)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2985 "../pars.fsy"
+ _3 :: _1
+ )
+# 2985 "../pars.fsy"
+ : 'conjParenPatternElements));
+# 9342 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2987 "../pars.fsy"
+ _3 :: _1 :: []
+ )
+# 2987 "../pars.fsy"
+ : 'conjParenPatternElements));
+# 9354 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'recordPatternElement)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2991 "../pars.fsy"
+ [_1],lhs parseState
+ )
+# 2991 "../pars.fsy"
+ : 'recordPatternElementsAux));
+# 9366 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'recordPatternElement)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'seps)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recordPatternElementsAux)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2993 "../pars.fsy"
+ let r = _1 in let (rs,dropMark) = _3 in (r :: rs),lhs parseState
+ )
+# 2993 "../pars.fsy"
+ : 'recordPatternElementsAux));
+# 9379 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 2996 "../pars.fsy"
+ (List.frontAndBack _1.Lid,_3)
+ )
+# 2996 "../pars.fsy"
+ : 'recordPatternElement));
+# 9391 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3000 "../pars.fsy"
+ []
+ )
+# 3000 "../pars.fsy"
+ : 'listPatternElements));
+# 9401 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3002 "../pars.fsy"
+ [_1]
+ )
+# 3002 "../pars.fsy"
+ : 'listPatternElements));
+# 9413 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'seps)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'listPatternElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3004 "../pars.fsy"
+ _1 :: _3
+ )
+# 3004 "../pars.fsy"
+ : 'listPatternElements));
+# 9426 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3009 "../pars.fsy"
+ _2
+ )
+# 3009 "../pars.fsy"
+ : Ast.SynExpr));
+# 9438 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3011 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 3) (FSComp.SR.parsUnexpectedEndOfFileExpression())
+ exprFromParseError _2
+ )
+# 3011 "../pars.fsy"
+ : Ast.SynExpr));
+# 9451 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3014 "../pars.fsy"
+ _1
+ )
+# 3014 "../pars.fsy"
+ : Ast.SynExpr));
+# 9462 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3019 "../pars.fsy"
+ _2
+ )
+# 3019 "../pars.fsy"
+ : Ast.SynExpr));
+# 9474 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3021 "../pars.fsy"
+ _1
+ )
+# 3021 "../pars.fsy"
+ : Ast.SynExpr));
+# 9485 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3026 "../pars.fsy"
+ _1
+ )
+# 3026 "../pars.fsy"
+ : 'typedSeqExprBlockR));
+# 9496 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3027 "../pars.fsy"
+ _1
+ )
+# 3027 "../pars.fsy"
+ : 'typedSeqExprBlockR));
+# 9507 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'seqExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeWithTypeConstraints)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3030 "../pars.fsy"
+ SynExpr.Typed (_1,_3, unionRanges _1.Range _3.Range)
+ )
+# 3030 "../pars.fsy"
+ : 'typedSeqExpr));
+# 9519 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'seqExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3031 "../pars.fsy"
+ _1
+ )
+# 3031 "../pars.fsy"
+ : 'typedSeqExpr));
+# 9530 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LexerWhitespaceContinuation)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3034 "../pars.fsy"
+ checkEndOfFileError _2; _1
+ )
+# 3034 "../pars.fsy"
+ : Ast.SynExpr));
+# 9542 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'seps)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'seqExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3038 "../pars.fsy"
+ SynExpr.Sequential (SequencePointsAtSeq,true,_1,_3,unionRanges _1.Range _3.Range)
+ )
+# 3038 "../pars.fsy"
+ : 'seqExpr));
+# 9555 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'seps)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3040 "../pars.fsy"
+ _1
+ )
+# 3040 "../pars.fsy"
+ : 'seqExpr));
+# 9567 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3042 "../pars.fsy"
+ _1
+ )
+# 3042 "../pars.fsy"
+ : 'seqExpr));
+# 9578 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'seqExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3044 "../pars.fsy"
+ SynExpr.Sequential (SequencePointsAtSeq,false,_1,_3,unionRanges _1.Range _3.Range )
+ )
+# 3044 "../pars.fsy"
+ : 'seqExpr));
+# 9590 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3046 "../pars.fsy"
+ SynExpr.Sequential (SequencePointsAtSeq,false,_1,_4,unionRanges _1.Range _4.Range)
+ )
+# 3046 "../pars.fsy"
+ : 'seqExpr));
+# 9603 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'hardwhiteLetBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3048 "../pars.fsy"
+ let hwlb,m = _1
+ let mLetKwd,isUse = match hwlb with (BindingSetPreAttrs(m,_,isUse,_,_)) -> m,isUse
+ let usedKeyword = if isUse then "use" else "let"
+ reportParseErrorAt mLetKwd (FSComp.SR.parsExpectedExpressionAfterLet(usedKeyword,usedKeyword))
+ let fauxRange = m.EndRange // zero width range at end of m
+ mkLocalBindings (m,hwlb,arbExpr("seqExpr",fauxRange))
+ )
+# 3048 "../pars.fsy"
+ : 'seqExpr));
+# 9619 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3060 "../pars.fsy"
+ debugPrint("recovering via error"); true
+ )
+# 3060 "../pars.fsy"
+ : 'recover));
+# 9629 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LexerWhitespaceContinuation)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3061 "../pars.fsy"
+ debugPrint("recovering via EOF"); false
+ )
+# 3061 "../pars.fsy"
+ : 'recover));
+# 9640 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'defnBindings)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3066 "../pars.fsy"
+ mkLocalBindings (unionRanges (rhs2 parseState 1 2) _3.Range,_1,_3)
+ )
+# 3066 "../pars.fsy"
+ : Ast.SynExpr));
+# 9652 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'defnBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3069 "../pars.fsy"
+ mkLocalBindings (rhs2 parseState 1 2,_1,arbExpr("declExpr1",(rhs parseState 3)))
+ )
+# 3069 "../pars.fsy"
+ : Ast.SynExpr));
+# 9663 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'hardwhiteLetBindings)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3075 "../pars.fsy"
+ let hwlb,m = _1
+ mkLocalBindings (unionRanges m _2.Range,hwlb,_2)
+ )
+# 3075 "../pars.fsy"
+ : Ast.SynExpr));
+# 9676 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'hardwhiteLetBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3079 "../pars.fsy"
+ let hwlb,m = _1
+ reportParseErrorAt (match hwlb with (BindingSetPreAttrs(m,_,_,_,_)) -> m) (FSComp.SR.parsErrorInReturnForLetIncorrectIndentation())
+ mkLocalBindings (m,hwlb,arbExpr("declExpr2",(rhs parseState 2)))
+ )
+# 3079 "../pars.fsy"
+ : Ast.SynExpr));
+# 9689 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'hardwhiteLetBindings)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3084 "../pars.fsy"
+ let hwlb,m = _1
+ mkLocalBindings (unionRanges m _3.Range, hwlb, _3)
+ )
+# 3084 "../pars.fsy"
+ : Ast.SynExpr));
+# 9702 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'hardwhiteLetBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3088 "../pars.fsy"
+ let hwlb,m = _1
+ //reportParseErrorAt (match hwlb with (BindingSetPreAttrs(m,_,_,_,_)) -> m) (FSComp.SR.parsErrorInReturnForLetIncorrectIndentation())
+ mkLocalBindings (unionRanges m (rhs parseState 3),hwlb,arbExpr("declExpr3",(rhs parseState 3)))
+ )
+# 3088 "../pars.fsy"
+ : Ast.SynExpr));
+# 9715 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'hardwhiteDoBinding)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3093 "../pars.fsy"
+ let e = snd _1
+ SynExpr.Do (e,e.Range)
+ )
+# 3093 "../pars.fsy"
+ : Ast.SynExpr));
+# 9727 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'anonMatchingExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3097 "../pars.fsy"
+ _1
+ )
+# 3097 "../pars.fsy"
+ : Ast.SynExpr));
+# 9738 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'anonLambdaExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3100 "../pars.fsy"
+ _1
+ )
+# 3100 "../pars.fsy"
+ : Ast.SynExpr));
+# 9749 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'withClauses)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3103 "../pars.fsy"
+ let mMatch = (rhs parseState 1)
+ let mWith,(clauses,mLast) = _3
+ let spBind = SequencePointAtBinding(unionRanges mMatch mWith)
+ SynExpr.Match (spBind, _2,clauses,unionRanges mMatch mLast)
+ )
+# 3103 "../pars.fsy"
+ : Ast.SynExpr));
+# 9764 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3109 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileMatch())
+ // Produce approximate expression during error recovery
+ exprFromParseError _2
+ )
+# 3109 "../pars.fsy"
+ : Ast.SynExpr));
+# 9778 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'withClauses)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3114 "../pars.fsy"
+ let mMatch = (rhs parseState 1)
+ let mWith,(clauses,mLast) = _3
+ let spBind = SequencePointAtBinding(unionRanges mMatch mWith)
+ SynExpr.MatchBang (spBind, _2,clauses,unionRanges mMatch mLast)
+ )
+# 3114 "../pars.fsy"
+ : Ast.SynExpr));
+# 9793 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3120 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileMatch())
+ // Produce approximate expression during error recovery
+ exprFromParseError _2
+ )
+# 3120 "../pars.fsy"
+ : Ast.SynExpr));
+# 9807 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExprBlockR)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'withClauses)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3125 "../pars.fsy"
+ let mTry = (rhs parseState 1)
+ let spTry = SequencePointAtTry(mTry)
+ let mWith,(clauses,mLast) = _3
+ let spWith = SequencePointAtWith(mWith)
+ let mTryToWith = unionRanges mTry mWith
+ let mWithToLast = unionRanges mWith mLast
+ let mTryToLast = unionRanges mTry mLast
+ SynExpr.TryWith (_2, mTryToWith, clauses,mWithToLast, mTryToLast,spTry,spWith)
+ )
+# 3125 "../pars.fsy"
+ : Ast.SynExpr));
+# 9826 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExprBlockR)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3135 "../pars.fsy"
+ // Produce approximate expression during error recovery
+ // Include any expressions to make sure they gets type checked in case that generates useful results for intellisense
+ if not _3 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileTry())
+ exprFromParseError _2
+ )
+# 3135 "../pars.fsy"
+ : Ast.SynExpr));
+# 9841 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExprBlockR)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3141 "../pars.fsy"
+ let mTry = rhs parseState 1
+ let spTry = SequencePointAtTry(mTry)
+ let spFinally = SequencePointAtFinally(rhs parseState 3)
+ let mTryToLast = unionRanges mTry _4.Range
+ SynExpr.TryFinally (_2, _4,mTryToLast,spTry,spFinally)
+ )
+# 3141 "../pars.fsy"
+ : Ast.SynExpr));
+# 9857 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'ifExprCases)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3148 "../pars.fsy"
+ let mIf = (rhs parseState 1)
+ _3 _2 mIf
+ )
+# 3148 "../pars.fsy"
+ : Ast.SynExpr));
+# 9870 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3152 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsIncompleteIf())
+ // Produce an approximate expression during error recovery.
+ // Include expressions to make sure they get type checked in case that generates useful results for intellisense.
+ // Generate a throwAway for the expression so it isn't forced to have a type 'bool'
+ // from the context it is used in.
+ exprFromParseError _2
+ )
+# 3152 "../pars.fsy"
+ : Ast.SynExpr));
+# 9887 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3160 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsIncompleteIf())
+ // Produce an approximate expression during error recovery. There can still be value in doing this even
+ // for this pathological case.
+ let m = (rhs parseState 1)
+ let mEnd = m.EndRange
+ let spIfToThen = SequencePointAtBinding mEnd
+ exprFromParseError (SynExpr.IfThenElse (arbExpr("ifGuard1",mEnd),arbExpr("thenBody1",mEnd),None,spIfToThen,true,m,m))
+ )
+# 3160 "../pars.fsy"
+ : Ast.SynExpr));
+# 9904 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3169 "../pars.fsy"
+ SynExpr.Lazy (_2,unionRanges (rhs parseState 1) _2.Range)
+ )
+# 3169 "../pars.fsy"
+ : Ast.SynExpr));
+# 9915 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3172 "../pars.fsy"
+ SynExpr.Assert (_2, unionRanges (rhs parseState 1) _2.Range)
+ )
+# 3172 "../pars.fsy"
+ : Ast.SynExpr));
+# 9926 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3175 "../pars.fsy"
+ raiseParseErrorAt (rhs parseState 1) (FSComp.SR.parsAssertIsNotFirstClassValue())
+ )
+# 3175 "../pars.fsy"
+ : Ast.SynExpr));
+# 9936 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3178 "../pars.fsy"
+ SynExpr.Lazy (_2,unionRanges (rhs parseState 1) _2.Range)
+ )
+# 3178 "../pars.fsy"
+ : Ast.SynExpr));
+# 9947 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3181 "../pars.fsy"
+ SynExpr.Assert (_2, unionRanges (rhs parseState 1) _2.Range)
+ )
+# 3181 "../pars.fsy"
+ : Ast.SynExpr));
+# 9958 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3184 "../pars.fsy"
+ raiseParseErrorAt (rhs parseState 1) (FSComp.SR.parsAssertIsNotFirstClassValue())
+ )
+# 3184 "../pars.fsy"
+ : Ast.SynExpr));
+# 9968 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'doToken)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'doneDeclEnd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3187 "../pars.fsy"
+ let mWhileHeader = unionRanges (rhs parseState 1) _2.Range
+ let spWhile = SequencePointAtWhileLoop mWhileHeader
+ let mWhileAll = unionRanges (rhs parseState 1) _4.Range
+ SynExpr.While (spWhile,_2,_4,mWhileAll)
+ )
+# 3187 "../pars.fsy"
+ : Ast.SynExpr));
+# 9985 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'doToken)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3193 "../pars.fsy"
+ if not _5 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileWhile())
+ let mWhileHeader = unionRanges (rhs parseState 1) _2.Range
+ let spWhile = SequencePointAtWhileLoop mWhileHeader
+ let mWhileAll = unionRanges (rhs parseState 1) _4.Range
+ exprFromParseError (SynExpr.While (spWhile,_2,_4,mWhileAll))
+ )
+# 3193 "../pars.fsy"
+ : Ast.SynExpr));
+# 10003 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'doToken)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'doneDeclEnd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3200 "../pars.fsy"
+ // silent recovery
+ let mWhileHeader = unionRanges (rhs parseState 1) _2.Range
+ let spWhile = SequencePointAtWhileLoop mWhileHeader
+ let mWhileBodyArb = unionRanges (rhs parseState 4) (rhs parseState 5)
+ let mWhileAll = unionRanges (rhs parseState 1) (rhs parseState 5)
+ SynExpr.While (spWhile,_2,arbExpr("whileBody1",mWhileBodyArb),mWhileAll)
+ )
+# 3200 "../pars.fsy"
+ : Ast.SynExpr));
+# 10021 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3208 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsWhileDoExpected())
+ let mWhileHeader = unionRanges (rhs parseState 1) _2.Range
+ let spWhile = SequencePointAtWhileLoop mWhileHeader
+ let mWhileBodyArb = rhs parseState 3
+ let mWhileAll = unionRanges (rhs parseState 1) (rhs parseState 3)
+ exprFromParseError (SynExpr.While (spWhile,_2,arbExpr("whileBody2",mWhileBodyArb),mWhileAll))
+ )
+# 3208 "../pars.fsy"
+ : Ast.SynExpr));
+# 10038 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3216 "../pars.fsy"
+ if not _2 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileWhile())
+ arbExpr("whileLoop1",rhs parseState 1)
+ )
+# 3216 "../pars.fsy"
+ : Ast.SynExpr));
+# 10050 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'doneDeclEnd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3220 "../pars.fsy"
+ //silent recovery
+ let mWhileHeader = rhs parseState 1
+ let spWhile = SequencePointAtWhileLoop mWhileHeader
+ let mWhileBodyArb = rhs parseState 3
+ let mWhileAll = unionRanges (rhs parseState 1) (rhs parseState 3)
+ exprFromParseError (SynExpr.While (spWhile,arbExpr("whileGuard1",mWhileHeader),arbExpr("whileBody3",mWhileBodyArb),mWhileAll))
+ )
+# 3220 "../pars.fsy"
+ : Ast.SynExpr));
+# 10066 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'forLoopBinder)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'doToken)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'doneDeclEnd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3228 "../pars.fsy"
+ let spBind = SequencePointAtForLoop(rhs2 parseState 1 3)
+ let (a,b,_) = _2
+ SynExpr.ForEach (spBind,SeqExprOnly false,true,a,b,_4,unionRanges (rhs parseState 1) _4.Range)
+ )
+# 3228 "../pars.fsy"
+ : Ast.SynExpr));
+# 10082 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'forLoopBinder)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'doToken)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3233 "../pars.fsy"
+ if not _5 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileFor())
+ let spBind = SequencePointAtForLoop(rhs2 parseState 1 3)
+ let (a,b,_) = _2
+ let mForLoopAll = unionRanges (rhs parseState 1) _4.Range
+ SynExpr.ForEach (spBind,SeqExprOnly false,true,a,b,_4,mForLoopAll)
+ )
+# 3233 "../pars.fsy"
+ : Ast.SynExpr));
+# 10100 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'forLoopBinder)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'doToken)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'doneDeclEnd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3240 "../pars.fsy"
+ // Silent recovery
+ let mForLoopHeader = rhs2 parseState 1 3
+ let spBind = SequencePointAtForLoop mForLoopHeader
+ let (a,b,_) = _2
+ let mForLoopBodyArb = rhs parseState 5
+ let mForLoopAll = rhs2 parseState 1 5
+ SynExpr.ForEach (spBind,SeqExprOnly false,true,a,b,arbExpr("forLoopBody2a",mForLoopBodyArb),mForLoopAll)
+ )
+# 3240 "../pars.fsy"
+ : Ast.SynExpr));
+# 10119 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'forLoopBinder)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'doToken)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3249 "../pars.fsy"
+ if not _4 then reportParseErrorAt (rhs parseState 3) (FSComp.SR.parsExpectedExpressionAfterToken())
+ let mForLoopHeader = rhs2 parseState 1 3
+ let spBind = SequencePointAtForLoop mForLoopHeader
+ let (a,b,_) = _2
+ let mForLoopBodyArb = rhs parseState 3
+ let mForLoopAll = rhs2 parseState 1 3
+ SynExpr.ForEach (spBind,SeqExprOnly false,true,a,b,arbExpr("forLoopBody2",mForLoopBodyArb),mForLoopAll)
+ )
+# 3249 "../pars.fsy"
+ : Ast.SynExpr));
+# 10138 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'forLoopBinder)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3258 "../pars.fsy"
+ let (a,b,ok) = _2
+ if not _3 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsForDoExpected())
+ let mForLoopHeader = rhs2 parseState 1 3
+ let spBind = SequencePointAtForLoop mForLoopHeader
+ let mForLoopBodyArb = rhs parseState 3
+ let mForLoopAll = rhs2 parseState 1 3
+ SynExpr.ForEach (spBind,SeqExprOnly false,true,a,b,arbExpr("forLoopBody1",mForLoopBodyArb),mForLoopAll)
+ )
+# 3258 "../pars.fsy"
+ : Ast.SynExpr));
+# 10156 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'forLoopRange)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'doToken)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'doneDeclEnd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3267 "../pars.fsy"
+ let mForLoopHeader = rhs2 parseState 1 3
+ let spBind = SequencePointAtForLoop mForLoopHeader
+ let (a,b,c,d) = _2
+ let mForLoopAll = unionRanges (rhs parseState 1) _4.Range
+ SynExpr.For (spBind,a,b,c,d,_4,mForLoopAll)
+ )
+# 3267 "../pars.fsy"
+ : Ast.SynExpr));
+# 10174 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'forLoopRange)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'doToken)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3274 "../pars.fsy"
+ if not _5 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileFor())
+ // Still produce an expression
+ let mForLoopHeader = rhs2 parseState 1 3
+ let spBind = SequencePointAtForLoop mForLoopHeader
+ let (a,b,c,d) = _2
+ let mForLoopAll = unionRanges (rhs parseState 1) _4.Range
+ exprFromParseError (SynExpr.For (spBind,a,b,c,d,_4,mForLoopAll))
+ )
+# 3274 "../pars.fsy"
+ : Ast.SynExpr));
+# 10194 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'forLoopRange)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'doToken)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'doneDeclEnd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3283 "../pars.fsy"
+ // silent recovery
+ let mForLoopHeader = rhs2 parseState 1 3
+ let spBind = SequencePointAtForLoop mForLoopHeader
+ let (a,b,c,d) = _2
+ let mForLoopBodyArb = rhs parseState 5
+ let mForLoopAll = rhs2 parseState 1 5
+ SynExpr.For (spBind,a,b,c,d,arbExpr("declExpr11",mForLoopBodyArb),mForLoopAll)
+ )
+# 3283 "../pars.fsy"
+ : Ast.SynExpr));
+# 10213 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'forLoopRange)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'doToken)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3292 "../pars.fsy"
+ if not _4 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileFor())
+ let mForLoopHeader = rhs2 parseState 1 3
+ let spBind = SequencePointAtForLoop mForLoopHeader
+ let (a,b,c,d) = _2
+ let mForLoopBodyArb = rhs parseState 3
+ let mForLoopAll = rhs2 parseState 1 3
+ exprFromParseError (SynExpr.For (spBind,a,b,c,d,arbExpr("declExpr11",mForLoopBodyArb),mForLoopAll))
+ )
+# 3292 "../pars.fsy"
+ : Ast.SynExpr));
+# 10232 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'forLoopRange)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3301 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileFor())
+ let mForLoopHeader = rhs2 parseState 1 2
+ let spBind = SequencePointAtForLoop mForLoopHeader
+ let (a,b,c,d) = _2
+ let mForLoopBodyArb = (rhs parseState 2).EndRange
+ let mForLoopAll = rhs2 parseState 1 2
+ exprFromParseError (SynExpr.For (spBind,a,b,c,d,arbExpr("declExpr11",mForLoopBodyArb),mForLoopAll))
+ )
+# 3301 "../pars.fsy"
+ : Ast.SynExpr));
+# 10250 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'doToken)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'doneDeclEnd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3311 "../pars.fsy"
+ // silent recovery
+ let mForLoopHeader = rhs2 parseState 1 2
+ let mForLoopAll = unionRanges (rhs parseState 1) _4.Range
+ let spBind = SequencePointAtForLoop(mForLoopHeader)
+ SynExpr.For (spBind,mkSynId mForLoopHeader "_loopVar",arbExpr("startLoopRange1",mForLoopHeader),true,arbExpr("endLoopRange1",rhs parseState 3),_4,mForLoopAll)
+ )
+# 3311 "../pars.fsy"
+ : Ast.SynExpr));
+# 10267 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3330 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsIdentifierExpected())
+ arbExpr("declExpr12",(rhs parseState 1))
+ )
+# 3330 "../pars.fsy"
+ : Ast.SynExpr));
+# 10279 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'doneDeclEnd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3334 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 3) (FSComp.SR.parsInOrEqualExpected())
+ let mForLoopHeader = rhs2 parseState 1 2
+ let spBind = SequencePointAtForLoop mForLoopHeader
+ let mForLoopBodyArb = rhs parseState 4
+ let mForLoopAll = rhs2 parseState 1 4
+ SynExpr.ForEach (spBind,SeqExprOnly false,true,_2,arbExpr("forLoopCollection",mForLoopHeader),arbExpr("forLoopBody3",mForLoopBodyArb),mForLoopAll)
+ )
+# 3334 "../pars.fsy"
+ : Ast.SynExpr));
+# 10296 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3342 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileFor())
+ let mForLoopHeader = rhs2 parseState 1 2
+ let spBind = SequencePointAtForLoop mForLoopHeader
+ let mForLoopBodyArb = (rhs parseState 2).EndRange
+ let mForLoopAll = rhs2 parseState 1 2
+ exprFromParseError (SynExpr.ForEach (spBind,SeqExprOnly false,true,_2,arbExpr("forLoopCollection",mForLoopHeader),arbExpr("forLoopBody3",mForLoopBodyArb),mForLoopAll))
+ )
+# 3342 "../pars.fsy"
+ : Ast.SynExpr));
+# 10313 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3351 "../pars.fsy"
+ SynExpr.YieldOrReturn ((_1,not _1),_2, unionRanges (rhs parseState 1) _2.Range)
+ )
+# 3351 "../pars.fsy"
+ : Ast.SynExpr));
+# 10325 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3354 "../pars.fsy"
+ SynExpr.YieldOrReturnFrom ((_1,not _1), _2, unionRanges (rhs parseState 1) _2.Range)
+ )
+# 3354 "../pars.fsy"
+ : Ast.SynExpr));
+# 10337 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynPat)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ let _7 = (let data = parseState.GetInput(7) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3357 "../pars.fsy"
+ let spBind = SequencePointAtBinding(rhs2 parseState 1 5)
+ let m = unionRanges (rhs parseState 1) _7.Range
+ SynExpr.LetOrUseBang (spBind,(_1 = "use"),true,_2,_4,_7,m)
+ )
+# 3357 "../pars.fsy"
+ : Ast.SynExpr));
+# 10354 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynPat)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'hardwhiteDefnBindingsTerminator)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ let _7 = (let data = parseState.GetInput(7) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3362 "../pars.fsy"
+ _5 (if _1 = "use" then "use!" else "let!") (rhs parseState 1) // report unterminated error
+ let spBind = SequencePointAtBinding(unionRanges (rhs parseState 1) _4.Range)
+ let m = unionRanges (rhs parseState 1) _7.Range
+ SynExpr.LetOrUseBang (spBind,(_1 = "use"),true,_2,_4,_7,m)
+ )
+# 3362 "../pars.fsy"
+ : Ast.SynExpr));
+# 10373 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynPat)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'hardwhiteDefnBindingsTerminator)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3368 "../pars.fsy"
+ // error recovery that allows intellisense when writing incomplete computation expressions
+ let spBind = SequencePointAtBinding(unionRanges (rhs parseState 1) _4.Range)
+ let mAll = unionRanges (rhs parseState 1) (rhs parseState 7)
+ let m = _4.Range.EndRange // zero-width range
+ SynExpr.LetOrUseBang (spBind,(_1 = "use"),true,_2,_4, SynExpr.ImplicitZero m, mAll)
+ )
+# 3368 "../pars.fsy"
+ : Ast.SynExpr));
+# 10392 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3375 "../pars.fsy"
+ let spBind = NoSequencePointAtDoBinding
+ SynExpr.LetOrUseBang (spBind,false,true,SynPat.Const(SynConst.Unit,_2.Range),_2,_5, unionRanges (rhs parseState 1) _5.Range)
+ )
+# 3375 "../pars.fsy"
+ : Ast.SynExpr));
+# 10406 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'hardwhiteDefnBindingsTerminator)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3379 "../pars.fsy"
+ SynExpr.DoBang (_2, unionRanges (rhs parseState 1) _2.Range)
+ )
+# 3379 "../pars.fsy"
+ : Ast.SynExpr));
+# 10418 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'forLoopBinder)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'arrowThenExprR)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3382 "../pars.fsy"
+ let spBind = SequencePointAtForLoop(rhs2 parseState 1 2)
+ let (a,b,_) = _2 in SynExpr.ForEach (spBind,SeqExprOnly true,true,a,b,_4,unionRanges (rhs parseState 1) _4.Range)
+ )
+# 3382 "../pars.fsy"
+ : Ast.SynExpr));
+# 10432 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3386 "../pars.fsy"
+ SynExpr.Fixed (_2, (unionRanges (rhs parseState 1) _2.Range))
+ )
+# 3386 "../pars.fsy"
+ : Ast.SynExpr));
+# 10443 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExprBlockR)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3389 "../pars.fsy"
+ errorR(Error(FSComp.SR.parsArrowUseIsLimited(),lhs parseState))
+ SynExpr.YieldOrReturn ((true,true),_2, (unionRanges (rhs parseState 1) _2.Range))
+ )
+# 3389 "../pars.fsy"
+ : Ast.SynExpr));
+# 10455 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3394 "../pars.fsy"
+ SynExpr.TypeTest (_1,_3, unionRanges _1.Range _3.Range)
+ )
+# 3394 "../pars.fsy"
+ : Ast.SynExpr));
+# 10467 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3395 "../pars.fsy"
+ SynExpr.Upcast (_1,_3, unionRanges _1.Range _3.Range)
+ )
+# 3395 "../pars.fsy"
+ : Ast.SynExpr));
+# 10479 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3396 "../pars.fsy"
+ SynExpr.Downcast (_1,_3, unionRanges _1.Range _3.Range)
+ )
+# 3396 "../pars.fsy"
+ : Ast.SynExpr));
+# 10491 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3399 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 ":=" _3
+ )
+# 3399 "../pars.fsy"
+ : Ast.SynExpr));
+# 10503 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3400 "../pars.fsy"
+ mkSynAssign _1 _3
+ )
+# 3400 "../pars.fsy"
+ : Ast.SynExpr));
+# 10515 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3402 "../pars.fsy"
+ let exprs,commas = _1 in SynExpr.Tuple (false, List.rev exprs, List.rev commas, (commas.Head, exprs) ||> unionRangeWithListBy (fun e -> e.Range) )
+ )
+# 3402 "../pars.fsy"
+ : Ast.SynExpr));
+# 10526 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3403 "../pars.fsy"
+ SynExpr.JoinIn (_1,rhs parseState 2,_3,unionRanges _1.Range _3.Range)
+ )
+# 3403 "../pars.fsy"
+ : Ast.SynExpr));
+# 10538 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3404 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 "||" _3
+ )
+# 3404 "../pars.fsy"
+ : Ast.SynExpr));
+# 10550 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3405 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 _2 _3
+ )
+# 3405 "../pars.fsy"
+ : Ast.SynExpr));
+# 10563 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3406 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 "or" _3
+ )
+# 3406 "../pars.fsy"
+ : Ast.SynExpr));
+# 10575 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3407 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 "&" _3
+ )
+# 3407 "../pars.fsy"
+ : Ast.SynExpr));
+# 10587 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3408 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 "&&" _3
+ )
+# 3408 "../pars.fsy"
+ : Ast.SynExpr));
+# 10599 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3409 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 _2 _3
+ )
+# 3409 "../pars.fsy"
+ : Ast.SynExpr));
+# 10612 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3410 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 "=" _3
+ )
+# 3410 "../pars.fsy"
+ : Ast.SynExpr));
+# 10624 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3411 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 _2 _3
+ )
+# 3411 "../pars.fsy"
+ : Ast.SynExpr));
+# 10637 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3412 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 "$" _3
+ )
+# 3412 "../pars.fsy"
+ : Ast.SynExpr));
+# 10649 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3413 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 "<" _3
+ )
+# 3413 "../pars.fsy"
+ : Ast.SynExpr));
+# 10662 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3414 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression("<"))
+ exprFromParseError (mkSynInfix (rhs parseState 2) _1 "<" (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3414 "../pars.fsy"
+ : Ast.SynExpr));
+# 10676 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3416 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 ">" _3
+ )
+# 3416 "../pars.fsy"
+ : Ast.SynExpr));
+# 10689 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3417 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 _2 _3
+ )
+# 3417 "../pars.fsy"
+ : Ast.SynExpr));
+# 10702 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3418 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 _2 _3
+ )
+# 3418 "../pars.fsy"
+ : Ast.SynExpr));
+# 10715 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3419 "../pars.fsy"
+ SynExpr.App (ExprAtomicFlag.NonAtomic, true, mkSynIdGet (rhs parseState 2) opNameCons,SynExpr.Tuple (false,[_1;_3],[rhs parseState 2],unionRanges _1.Range _3.Range),unionRanges _1.Range _3.Range)
+ )
+# 3419 "../pars.fsy"
+ : Ast.SynExpr));
+# 10727 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3420 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 _2 _3
+ )
+# 3420 "../pars.fsy"
+ : Ast.SynExpr));
+# 10740 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3421 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 "-" _3
+ )
+# 3421 "../pars.fsy"
+ : Ast.SynExpr));
+# 10752 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3422 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 "*" _3
+ )
+# 3422 "../pars.fsy"
+ : Ast.SynExpr));
+# 10764 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3423 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 _2 _3
+ )
+# 3423 "../pars.fsy"
+ : Ast.SynExpr));
+# 10777 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3424 "../pars.fsy"
+ mkSynInfix (rhs parseState 2) _1 _2 _3
+ )
+# 3424 "../pars.fsy"
+ : Ast.SynExpr));
+# 10790 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3426 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression("in"))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 "@in" (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3426 "../pars.fsy"
+ : Ast.SynExpr));
+# 10802 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3428 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression("||"))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 "||" (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3428 "../pars.fsy"
+ : Ast.SynExpr));
+# 10814 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3430 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression(_2))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 _2 (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3430 "../pars.fsy"
+ : Ast.SynExpr));
+# 10827 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3432 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression("or"))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 "or" (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3432 "../pars.fsy"
+ : Ast.SynExpr));
+# 10839 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3434 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression("&"))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 "&" (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3434 "../pars.fsy"
+ : Ast.SynExpr));
+# 10851 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3436 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression("&&"))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 "&&" (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3436 "../pars.fsy"
+ : Ast.SynExpr));
+# 10863 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3438 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression(_2))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 _2 (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3438 "../pars.fsy"
+ : Ast.SynExpr));
+# 10876 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3440 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression("="))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 "=" (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3440 "../pars.fsy"
+ : Ast.SynExpr));
+# 10888 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3442 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression(_2))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 _2 (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3442 "../pars.fsy"
+ : Ast.SynExpr));
+# 10901 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3444 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression("$"))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 "$" (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3444 "../pars.fsy"
+ : Ast.SynExpr));
+# 10913 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3446 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression("<"))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 "<" (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3446 "../pars.fsy"
+ : Ast.SynExpr));
+# 10926 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3448 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression(">"))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 ">" (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3448 "../pars.fsy"
+ : Ast.SynExpr));
+# 10939 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3450 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression(_2))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 _2 (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3450 "../pars.fsy"
+ : Ast.SynExpr));
+# 10952 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3452 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression(_2))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 _2 (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3452 "../pars.fsy"
+ : Ast.SynExpr));
+# 10965 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3454 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression("::"))
+ SynExpr.App (ExprAtomicFlag.NonAtomic, true, mkSynIdGet (rhs parseState 2) opNameCons,SynExpr.Tuple (false,[_1;(arbExpr("declExprInfix",(rhs parseState 3).StartRange))],[rhs parseState 2],unionRanges _1.Range (rhs parseState 3).StartRange),unionRanges _1.Range (rhs parseState 3).StartRange)
+ )
+# 3454 "../pars.fsy"
+ : Ast.SynExpr));
+# 10977 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3456 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression(_2))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 _2 (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3456 "../pars.fsy"
+ : Ast.SynExpr));
+# 10990 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3458 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression("-"))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 "-" (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3458 "../pars.fsy"
+ : Ast.SynExpr));
+# 11002 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3460 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression("*"))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 "*" (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3460 "../pars.fsy"
+ : Ast.SynExpr));
+# 11014 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3462 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression(_2))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 _2 (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3462 "../pars.fsy"
+ : Ast.SynExpr));
+# 11027 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3464 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnfinishedExpression(_2))
+ exprFromParseError(mkSynInfix (rhs parseState 2) _1 _2 (arbExpr("declExprInfix",(rhs parseState 3).StartRange)))
+ )
+# 3464 "../pars.fsy"
+ : Ast.SynExpr));
+# 11040 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3467 "../pars.fsy"
+ _1
+ )
+# 3467 "../pars.fsy"
+ : Ast.SynExpr));
+# 11051 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3471 "../pars.fsy"
+ let con = SynConst.String (_1,rhs parseState 1)
+ let arg2 = SynExpr.Const (con,con.Range (rhs parseState 1))
+ arg2
+ )
+# 3471 "../pars.fsy"
+ : 'dynamicArg));
+# 11064 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3475 "../pars.fsy"
+ _2
+ )
+# 3475 "../pars.fsy"
+ : 'dynamicArg));
+# 11076 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'withPatternClauses)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3479 "../pars.fsy"
+ rhs parseState 1, _2
+ )
+# 3479 "../pars.fsy"
+ : 'withClauses));
+# 11087 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'withPatternClauses)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3481 "../pars.fsy"
+ rhs parseState 1, _2
+ )
+# 3481 "../pars.fsy"
+ : 'withClauses));
+# 11098 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'withPatternClauses)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3483 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileWith())
+ rhs parseState 1, _2
+ )
+# 3483 "../pars.fsy"
+ : 'withClauses));
+# 11111 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'patternClauses)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3488 "../pars.fsy"
+ _1
+ )
+# 3488 "../pars.fsy"
+ : 'withPatternClauses));
+# 11122 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'patternClauses)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3490 "../pars.fsy"
+ _2
+ )
+# 3490 "../pars.fsy"
+ : 'withPatternClauses));
+# 11133 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3492 "../pars.fsy"
+ // silent recovery
+ let mLast = rhs parseState 1
+ [], mLast
+ )
+# 3492 "../pars.fsy"
+ : 'withPatternClauses));
+# 11145 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3496 "../pars.fsy"
+ // silent recovery
+ let mLast = rhs parseState 1
+ [], mLast
+ )
+# 3496 "../pars.fsy"
+ : 'withPatternClauses));
+# 11157 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'patternGuard)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3503 "../pars.fsy"
+ _1, _2, rhs parseState 1
+ )
+# 3503 "../pars.fsy"
+ : 'patternAndGuard));
+# 11169 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'patternAndGuard)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3507 "../pars.fsy"
+ let pat,guard,patm = _1
+ let mLast = _2.Range
+ [Clause(pat,guard,_2,patm,SequencePointAtTarget)], mLast
+ )
+# 3507 "../pars.fsy"
+ : 'patternClauses));
+# 11183 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'patternAndGuard)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'patternClauses)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3511 "../pars.fsy"
+ let pat,guard,patm = _1
+ let clauses,mLast = _4
+ (Clause(pat,guard,_2,patm,SequencePointAtTarget) :: clauses), mLast
+ )
+# 3511 "../pars.fsy"
+ : 'patternClauses));
+# 11198 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'patternAndGuard)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3515 "../pars.fsy"
+ let pat,guard,patm = _1
+ let mLast = rhs parseState 3
+ // silent recovery
+ [Clause(pat,guard,_2,patm,SequencePointAtTarget)], mLast
+ )
+# 3515 "../pars.fsy"
+ : 'patternClauses));
+# 11213 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'patternAndGuard)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3520 "../pars.fsy"
+ let pat,guard,patm = _1
+ let mLast = _2.Range
+ // silent recovery
+ [Clause(pat,guard,_2,patm,SequencePointAtTarget)], mLast
+ )
+# 3520 "../pars.fsy"
+ : 'patternClauses));
+# 11228 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'patternAndGuard)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3525 "../pars.fsy"
+ let pat,guard,patm = _1
+ let mLast = rhs parseState 2
+ // silent recovery
+ [Clause(pat,guard,SynExpr.Const (SynConst.Unit,mLast.EndRange),patm,SequencePointAtTarget)], mLast
+ )
+# 3525 "../pars.fsy"
+ : 'patternClauses));
+# 11242 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3532 "../pars.fsy"
+ Some _2
+ )
+# 3532 "../pars.fsy"
+ : 'patternGuard));
+# 11253 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3534 "../pars.fsy"
+ None
+ )
+# 3534 "../pars.fsy"
+ : 'patternGuard));
+# 11263 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExprBlockR)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3538 "../pars.fsy"
+ _2
+ )
+# 3538 "../pars.fsy"
+ : Ast.SynExpr));
+# 11274 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'ifExprThen)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'ifExprElifs)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3542 "../pars.fsy"
+ let exprThen,mThen = _1
+ (fun exprGuard mIf ->
+ let mIfToThen = unionRanges mIf mThen
+ let lastBranch : SynExpr = match _2 with None -> exprThen | Some e -> e
+ let mIfToEndOfLastBranch = unionRanges mIf lastBranch.Range
+ let spIfToThen = SequencePointAtBinding(mIfToThen)
+ SynExpr.IfThenElse (exprGuard,exprThen,_2,spIfToThen,false,mIfToThen,mIfToEndOfLastBranch))
+ )
+# 3542 "../pars.fsy"
+ : 'ifExprCases));
+# 11292 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3552 "../pars.fsy"
+ _2, rhs parseState 1
+ )
+# 3552 "../pars.fsy"
+ : 'ifExprThen));
+# 11303 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3554 "../pars.fsy"
+ _3,rhs parseState 1
+ )
+# 3554 "../pars.fsy"
+ : 'ifExprThen));
+# 11315 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3556 "../pars.fsy"
+ if not _4 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileThen())
+ exprFromParseError _3,rhs parseState 1
+ )
+# 3556 "../pars.fsy"
+ : 'ifExprThen));
+# 11328 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3561 "../pars.fsy"
+ None
+ )
+# 3561 "../pars.fsy"
+ : 'ifExprElifs));
+# 11338 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3564 "../pars.fsy"
+ Some _2
+ )
+# 3564 "../pars.fsy"
+ : 'ifExprElifs));
+# 11349 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3567 "../pars.fsy"
+ Some _3
+ )
+# 3567 "../pars.fsy"
+ : 'ifExprElifs));
+# 11361 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3570 "../pars.fsy"
+ if not _4 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileElse())
+ Some (exprFromParseError _3)
+ )
+# 3570 "../pars.fsy"
+ : 'ifExprElifs));
+# 11374 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'ifExprCases)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3574 "../pars.fsy"
+ let mElif = rhs parseState 1
+ Some (_3 _2 mElif)
+ )
+# 3574 "../pars.fsy"
+ : 'ifExprElifs));
+# 11387 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3578 "../pars.fsy"
+ Some (exprFromParseError _2)
+ )
+# 3578 "../pars.fsy"
+ : 'ifExprElifs));
+# 11399 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3582 "../pars.fsy"
+ let exprs,commas = _1 in (_3 :: exprs),((rhs parseState 2) :: commas)
+ )
+# 3582 "../pars.fsy"
+ : 'tupleExpr));
+# 11411 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3585 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsExpectedExpressionAfterToken())
+ let exprs,commas = _1
+ let zeroWidthAtNextToken = (rhs parseState 3).StartRange
+ ((arbExpr("tupleExpr1",zeroWidthAtNextToken)) :: exprs), (rhs parseState 2) :: commas
+ )
+# 3585 "../pars.fsy"
+ : 'tupleExpr));
+# 11426 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3591 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsExpectedExpressionAfterToken())
+ let zeroWidthAtNextToken = (rhs parseState 3).StartRange
+ ((arbExpr("tupleExpr2",zeroWidthAtNextToken)) :: [_1]), [rhs parseState 2]
+ )
+# 3591 "../pars.fsy"
+ : 'tupleExpr));
+# 11440 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3596 "../pars.fsy"
+ [_3 ; _1], [rhs parseState 2]
+ )
+# 3596 "../pars.fsy"
+ : 'tupleExpr));
+# 11452 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3600 "../pars.fsy"
+ mkSynPrefix (rhs parseState 1) (unionRanges (rhs parseState 1) _2.Range) "~-" _2
+ )
+# 3600 "../pars.fsy"
+ : Ast.SynExpr));
+# 11463 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3603 "../pars.fsy"
+ if not (IsValidPrefixOperatorUse _1) then reportParseErrorAt _2.Range (FSComp.SR.parsInvalidPrefixOperator())
+ mkSynPrefix (rhs parseState 1) (unionRanges (rhs parseState 1) _2.Range) ("~"^(_1)) _2
+ )
+# 3603 "../pars.fsy"
+ : Ast.SynExpr));
+# 11476 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3607 "../pars.fsy"
+ if not (IsValidPrefixOperatorUse _1) then reportParseErrorAt _2.Range (FSComp.SR.parsInvalidPrefixOperator())
+ mkSynPrefix (rhs parseState 1) (unionRanges (rhs parseState 1) _2.Range) ("~"^(_1)) _2
+ )
+# 3607 "../pars.fsy"
+ : Ast.SynExpr));
+# 11489 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3611 "../pars.fsy"
+ if not (IsValidPrefixOperatorUse _1) then reportParseErrorAt _2.Range (FSComp.SR.parsInvalidPrefixOperator())
+ mkSynPrefix (rhs parseState 1) (unionRanges (rhs parseState 1) _2.Range) ("~"^(_1)) _2
+ )
+# 3611 "../pars.fsy"
+ : Ast.SynExpr));
+# 11502 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3615 "../pars.fsy"
+ SynExpr.AddressOf (true,_2,rhs parseState 1,unionRanges (rhs parseState 1) _2.Range)
+ )
+# 3615 "../pars.fsy"
+ : Ast.SynExpr));
+# 11513 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3618 "../pars.fsy"
+ SynExpr.AddressOf (false,_2,rhs parseState 1, unionRanges (rhs parseState 1) _2.Range)
+ )
+# 3618 "../pars.fsy"
+ : Ast.SynExpr));
+# 11524 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomTypeNonAtomicDeprecated)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_HIGH_PRECEDENCE_APP)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3621 "../pars.fsy"
+ SynExpr.New (false,_2,_4,unionRanges (rhs parseState 1) _4.Range)
+ )
+# 3621 "../pars.fsy"
+ : Ast.SynExpr));
+# 11537 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomTypeNonAtomicDeprecated)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_HIGH_PRECEDENCE_APP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3624 "../pars.fsy"
+ SynExpr.New (false,_2,arbExpr("minusExpr",(rhs parseState 4)),unionRanges (rhs parseState 1) (_2).Range)
+ )
+# 3624 "../pars.fsy"
+ : Ast.SynExpr));
+# 11549 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3627 "../pars.fsy"
+ arbExpr("minusExpr2",(rhs parseState 1))
+ )
+# 3627 "../pars.fsy"
+ : Ast.SynExpr));
+# 11559 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3630 "../pars.fsy"
+ SynExpr.InferredUpcast (_2,unionRanges (rhs parseState 1) _2.Range)
+ )
+# 3630 "../pars.fsy"
+ : Ast.SynExpr));
+# 11570 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3633 "../pars.fsy"
+ SynExpr.InferredDowncast (_2,unionRanges (rhs parseState 1) _2.Range)
+ )
+# 3633 "../pars.fsy"
+ : Ast.SynExpr));
+# 11581 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3636 "../pars.fsy"
+ _1
+ )
+# 3636 "../pars.fsy"
+ : Ast.SynExpr));
+# 11592 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3640 "../pars.fsy"
+ SynExpr.App (ExprAtomicFlag.NonAtomic, false, _1,_2,unionRanges _1.Range _2.Range)
+ )
+# 3640 "../pars.fsy"
+ : Ast.SynExpr));
+# 11604 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3643 "../pars.fsy"
+ let arg,_ = _1
+ arg
+ )
+# 3643 "../pars.fsy"
+ : Ast.SynExpr));
+# 11616 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3648 "../pars.fsy"
+ let arg2,hpa2 = _2
+ if not (IsValidPrefixOperatorUse _1) then reportParseErrorAt arg2.Range (FSComp.SR.parsInvalidPrefixOperator())
+ if hpa2 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsSuccessiveArgsShouldBeSpacedOrTupled())
+ mkSynPrefix (rhs parseState 1) (unionRanges (rhs parseState 1) arg2.Range) ("~"^(_1)) arg2
+ )
+# 3648 "../pars.fsy"
+ : Ast.SynExpr));
+# 11631 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3654 "../pars.fsy"
+ let arg,hpa = _1
+ if hpa then reportParseErrorAt arg.Range (FSComp.SR.parsSuccessiveArgsShouldBeSpacedOrTupled())
+ arg
+ )
+# 3654 "../pars.fsy"
+ : Ast.SynExpr));
+# 11644 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr * bool)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3660 "../pars.fsy"
+ let arg1,_ = _1
+ let arg2,_ = _3
+ SynExpr.App (ExprAtomicFlag.Atomic, false, arg1,arg2,unionRanges arg1.Range arg2.Range),true
+ )
+# 3660 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11658 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr * bool)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3665 "../pars.fsy"
+ let arg1,_ = _1
+ let arg2,_ = _3
+ SynExpr.App (ExprAtomicFlag.Atomic, false, arg1,arg2,unionRanges arg1.Range arg2.Range),true
+ )
+# 3665 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11672 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr * bool)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : range * range option * bool * Ast.SynType list * range list * range)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3670 "../pars.fsy"
+ let arg1,_ = _1
+ let mLessThan,mGreaterThan,_,args,commas,mTypeArgs = _3
+ let mWholeExpr = unionRanges arg1.Range mTypeArgs
+ SynExpr.TypeApp (arg1, mLessThan, args, commas, mGreaterThan, mTypeArgs, mWholeExpr), false
+ )
+# 3670 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11687 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3676 "../pars.fsy"
+ let arg2,hpa2 = _2
+ if not (IsValidPrefixOperatorUse _1) then reportParseErrorAt arg2.Range (FSComp.SR.parsInvalidPrefixOperator())
+ mkSynPrefixPrim (rhs parseState 1) (unionRanges (rhs parseState 1) arg2.Range) _1 arg2,hpa2
+ )
+# 3676 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11701 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr * bool)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicExprQualification)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3681 "../pars.fsy"
+ let arg1,hpa1 = _1
+ _3 arg1 (lhs parseState) (rhs parseState 2),hpa1
+ )
+# 3681 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11714 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicExprQualification)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3685 "../pars.fsy"
+ let arg1 = SynExpr.Ident (ident("base",rhs parseState 1))
+ _3 arg1 (lhs parseState) (rhs parseState 2),false
+ )
+# 3685 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11726 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'nameop)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3689 "../pars.fsy"
+ SynExpr.LongIdent (true,LongIdentWithDots([_2],[]),None,rhs parseState 2),false
+ )
+# 3689 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11737 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr * bool)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'dynamicArg)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3692 "../pars.fsy"
+ let arg1,hpa1 = _1
+ mkSynInfix (rhs parseState 2) arg1 "?" _3, hpa1
+ )
+# 3692 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11750 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3696 "../pars.fsy"
+ SynExpr.Ident (ident(MangledGlobalName,rhs parseState 1)), false
+ )
+# 3696 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11760 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'nameop)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3699 "../pars.fsy"
+ SynExpr.Ident (_1),false
+ )
+# 3699 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11771 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'listExprElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3702 "../pars.fsy"
+ _2 (lhs parseState) false,false
+ )
+# 3702 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11782 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'listExprElements)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3705 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBracket())
+ exprFromParseError (_2 (rhs2 parseState 1 2) false), false
+ )
+# 3705 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11795 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3709 "../pars.fsy"
+ // silent recovery
+ SynExpr.ArrayOrList (false,[ ], lhs parseState),false
+ )
+# 3709 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11806 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3713 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBracket())
+ // silent recovery
+ exprFromParseError (SynExpr.ArrayOrList (false,[ ], rhs parseState 1)),false
+ )
+# 3713 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11819 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleExpr)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3718 "../pars.fsy"
+ let exprs,commas = _3 in SynExpr.Tuple (true, List.rev exprs, List.rev commas, (commas.Head, exprs) ||> unionRangeWithListBy (fun e -> e.Range) ), false
+ )
+# 3718 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11831 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleExpr)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3721 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnmatchedBracket());
+ let exprs,commas = _3 in SynExpr.Tuple (true, List.rev exprs, List.rev commas, (commas.Head, exprs) ||> unionRangeWithListBy (fun e -> e.Range) ), false
+ )
+# 3721 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11844 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3725 "../pars.fsy"
+ _1,false
+ )
+# 3725 "../pars.fsy"
+ : Ast.SynExpr * bool));
+# 11855 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'identOrOp)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3729 "../pars.fsy"
+ let idm = rhs parseState 1
+ (fun e lhsm dotm -> mkSynDot dotm lhsm e _1)
+ )
+# 3729 "../pars.fsy"
+ : 'atomicExprQualification));
+# 11867 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3733 "../pars.fsy"
+ (fun e lhsm dotm ->
+ reportParseErrorAt (rhs parseState 3) (FSComp.SR.nrGlobalUsedOnlyAsFirstName())
+ let fixedLhsm = mkRange lhsm.FileName lhsm.Start dotm.End // previous lhsm is wrong after 'recover'
+ mkSynDotMissing dotm fixedLhsm e)
+ )
+# 3733 "../pars.fsy"
+ : 'atomicExprQualification));
+# 11880 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3739 "../pars.fsy"
+ (fun e lhsm dotm ->
+ reportParseErrorAt dotm (FSComp.SR.parsMissingQualificationAfterDot())
+ let fixedLhsm = mkRange lhsm.FileName lhsm.Start dotm.End // previous lhsm is wrong after 'recover'
+ mkSynDotMissing dotm fixedLhsm e)
+ )
+# 3739 "../pars.fsy"
+ : 'atomicExprQualification));
+# 11893 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3744 "../pars.fsy"
+ (fun e lhsm dotm ->
+ reportParseErrorAt dotm (FSComp.SR.parsMissingQualificationAfterDot())
+ let fixedLhsm = mkRange lhsm.FileName lhsm.Start dotm.End // previous lhsm is wrong after 'recover'
+ // Include 'e' in the returned expression but throw it away
+ SynExpr.DiscardAfterMissingQualificationAfterDot (e,fixedLhsm))
+ )
+# 3744 "../pars.fsy"
+ : 'atomicExprQualification));
+# 11908 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : int32 * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3750 "../pars.fsy"
+ (fun e lhsm dotm ->
+ libraryOnlyError(lhs parseState)
+ SynExpr.LibraryOnlyUnionCaseFieldGet (e,mkSynCaseName lhsm opNameCons,(fst _5),lhsm))
+ )
+# 3750 "../pars.fsy"
+ : 'atomicExprQualification));
+# 11922 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3755 "../pars.fsy"
+ (fun e lhsm dotm ->
+ mlCompatWarning (FSComp.SR.parsParenFormIsForML()) (lhs parseState)
+ mkSynDotParenGet lhsm dotm e _2)
+ )
+# 3755 "../pars.fsy"
+ : 'atomicExprQualification));
+# 11936 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3760 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBracket())
+ (fun e lhsm dotm -> exprFromParseError (mkSynDotBrackGet lhsm dotm e _2 false))
+ )
+# 3760 "../pars.fsy"
+ : 'atomicExprQualification));
+# 11949 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'optRangeSeqExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3764 "../pars.fsy"
+ (fun e lhsm dotm -> mkSynDotBrackSeqSliceGet lhsm dotm e _2)
+ )
+# 3764 "../pars.fsy"
+ : 'atomicExprQualification));
+# 11960 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'optRangeSeqExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3767 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBracket())
+ (fun e lhsm dotm -> exprFromParseError (mkSynDotBrackSeqSliceGet lhsm dotm e _2))
+ )
+# 3767 "../pars.fsy"
+ : 'atomicExprQualification));
+# 11973 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3771 "../pars.fsy"
+ let mArg = rhs2 parseState 1 3
+ (fun e lhsm dotm -> mkSynDotBrackGet lhsm dotm e (arbExpr("indexerExpr1",mArg)) false)
+ )
+# 3771 "../pars.fsy"
+ : 'atomicExprQualification));
+# 11984 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3775 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBracket())
+ let mArg = (rhs parseState 1).EndRange
+ (fun e lhsm dotm -> exprFromParseError (mkSynDotBrackGet lhsm dotm e (arbExpr("indexerExpr2",mArg)) false))
+ )
+# 3775 "../pars.fsy"
+ : 'atomicExprQualification));
+# 11997 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'optRange)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'optRangeSeqExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3780 "../pars.fsy"
+ _1 :: _3
+ )
+# 3780 "../pars.fsy"
+ : 'optRangeSeqExpr));
+# 12009 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'optRange)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3781 "../pars.fsy"
+ [_1]
+ )
+# 3781 "../pars.fsy"
+ : 'optRangeSeqExpr));
+# 12020 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'rangeDeclExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rangeDeclExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3785 "../pars.fsy"
+ SynIndexerArg.Two(
+ mkSynOptionalExpr (rhs parseState 1) (Some (fst _1)),
+ (snd _1),
+ mkSynOptionalExpr (rhs parseState 3) (Some (fst _3)),
+ (snd _3),
+ (rhs parseState 1),
+ (rhs parseState 3))
+ )
+# 3785 "../pars.fsy"
+ : 'optRange));
+# 12038 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'rangeDeclExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3794 "../pars.fsy"
+ SynIndexerArg.Two(
+ mkSynOptionalExpr (rhs parseState 1) (Some (fst _1)),
+ (snd _1),
+ mkSynOptionalExpr (rhs parseState 2) None,
+ false,
+ (rhs parseState 1),
+ (rhs parseState 2))
+ )
+# 3794 "../pars.fsy"
+ : 'optRange));
+# 12055 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'rangeDeclExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3803 "../pars.fsy"
+ SynIndexerArg.Two(
+ mkSynOptionalExpr (rhs parseState 1) None,
+ false,
+ mkSynOptionalExpr (rhs parseState 2) (Some (fst _2)),
+ (snd _2),
+ (rhs parseState 2),
+ (rhs parseState 1))
+ )
+# 3803 "../pars.fsy"
+ : 'optRange));
+# 12072 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3812 "../pars.fsy"
+ SynIndexerArg.Two(
+ mkSynOptionalExpr (rhs parseState 1) None,
+ false,
+ (mkSynOptionalExpr (rhs parseState 1) None),
+ false,
+ (rhs parseState 1),
+ (rhs parseState 1))
+ )
+# 3812 "../pars.fsy"
+ : 'optRange));
+# 12088 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'rangeDeclExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3821 "../pars.fsy"
+ SynIndexerArg.One((fst _1), (snd _1), (rhs parseState 1))
+ )
+# 3821 "../pars.fsy"
+ : 'optRange));
+# 12099 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3825 "../pars.fsy"
+ _1, false
+ )
+# 3825 "../pars.fsy"
+ : 'rangeDeclExpr));
+# 12110 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3828 "../pars.fsy"
+ if not (parseState.LexBuffer.SupportsFeature LanguageFeature.FromEndSlicing) then
+ raiseParseErrorAt (rhs parseState 1) (FSComp.SR.fromEndSlicingRequiresVFive())
+ if _1 <> "^" then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsInvalidPrefixOperator())
+ _2, true
+ )
+# 3828 "../pars.fsy"
+ : 'rangeDeclExpr));
+# 12125 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'constant)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3836 "../pars.fsy"
+ SynExpr.Const (_1,_1.Range (lhs parseState))
+ )
+# 3836 "../pars.fsy"
+ : Ast.SynExpr));
+# 12136 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3838 "../pars.fsy"
+ _1
+ )
+# 3838 "../pars.fsy"
+ : Ast.SynExpr));
+# 12147 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'braceExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3840 "../pars.fsy"
+ _1
+ )
+# 3840 "../pars.fsy"
+ : Ast.SynExpr));
+# 12158 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'braceBarExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3842 "../pars.fsy"
+ _1
+ )
+# 3842 "../pars.fsy"
+ : Ast.SynExpr));
+# 12169 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3844 "../pars.fsy"
+ SynExpr.Null (lhs parseState)
+ )
+# 3844 "../pars.fsy"
+ : Ast.SynExpr));
+# 12179 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3846 "../pars.fsy"
+ SynExpr.Const (SynConst.Bool false,lhs parseState)
+ )
+# 3846 "../pars.fsy"
+ : Ast.SynExpr));
+# 12189 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3848 "../pars.fsy"
+ SynExpr.Const (SynConst.Bool true,lhs parseState)
+ )
+# 3848 "../pars.fsy"
+ : Ast.SynExpr));
+# 12199 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'quoteExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3850 "../pars.fsy"
+ _1
+ )
+# 3850 "../pars.fsy"
+ : Ast.SynExpr));
+# 12210 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'arrayExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3852 "../pars.fsy"
+ _1
+ )
+# 3852 "../pars.fsy"
+ : Ast.SynExpr));
+# 12221 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'beginEndExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3854 "../pars.fsy"
+ _1
+ )
+# 3854 "../pars.fsy"
+ : Ast.SynExpr));
+# 12232 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3858 "../pars.fsy"
+ SynExpr.Paren (_2, rhs parseState 1, Some(rhs parseState 3), rhs2 parseState 1 3)
+ )
+# 3858 "../pars.fsy"
+ : 'beginEndExpr));
+# 12243 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3861 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBegin()); exprFromParseError _2
+ )
+# 3861 "../pars.fsy"
+ : 'beginEndExpr));
+# 12255 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3864 "../pars.fsy"
+ (* silent recovery *) arbExpr("beginEndExpr",(lhs parseState))
+ )
+# 3864 "../pars.fsy"
+ : 'beginEndExpr));
+# 12265 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3867 "../pars.fsy"
+ mkSynUnit (lhs parseState)
+ )
+# 3867 "../pars.fsy"
+ : 'beginEndExpr));
+# 12275 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string * bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : string * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3871 "../pars.fsy"
+ if _1 <> _3 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsMismatchedQuote(fst _1))
+ (SynExpr.Quote (mkSynIdGet (lhs parseState) (CompileOpName (fst _1)), snd _1, _2, false, lhs parseState))
+ )
+# 3871 "../pars.fsy"
+ : 'quoteExpr));
+# 12289 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string * bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3875 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatched(fst _1))
+ let mExpr = rhs2 parseState 1 2
+ exprFromParseError (SynExpr.Quote (mkSynIdGet (lhs parseState) (CompileOpName (fst _1)),snd _1, _2, false, mExpr))
+ )
+# 3875 "../pars.fsy"
+ : 'quoteExpr));
+# 12304 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string * bool)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : string * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3880 "../pars.fsy"
+ (* silent recovery *) SynExpr.Quote (mkSynIdGet (lhs parseState) (CompileOpName (fst _1)),snd _1, arbExpr("quoteExpr",(rhs parseState 2)), false, lhs parseState)
+ )
+# 3880 "../pars.fsy"
+ : 'quoteExpr));
+# 12316 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string * bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3883 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatched(fst _1))
+ exprFromParseError (SynExpr.Quote (mkSynIdGet (lhs parseState) (CompileOpName (fst _1)),snd _1, arbExpr("quoteExpr2",(rhs parseState 1).EndRange), false, rhs parseState 1))
+ )
+# 3883 "../pars.fsy"
+ : 'quoteExpr));
+# 12329 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'listExprElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3888 "../pars.fsy"
+ _2 (lhs parseState) true
+ )
+# 3888 "../pars.fsy"
+ : 'arrayExpr));
+# 12340 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'listExprElements)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3891 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBracketBar())
+ exprFromParseError (_2 (rhs2 parseState 1 2) true)
+ )
+# 3891 "../pars.fsy"
+ : 'arrayExpr));
+# 12353 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3895 "../pars.fsy"
+ (* silent recovery *) SynExpr.ArrayOrList (true,[ ], lhs parseState)
+ )
+# 3895 "../pars.fsy"
+ : 'arrayExpr));
+# 12363 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3898 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBracketBar())
+ (* silent recovery *)
+ exprFromParseError (SynExpr.ArrayOrList (true,[ ], rhs parseState 1))
+ )
+# 3898 "../pars.fsy"
+ : 'arrayExpr));
+# 12376 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3904 "../pars.fsy"
+ SynExpr.Const (SynConst.Unit,(rhs2 parseState 1 2))
+ )
+# 3904 "../pars.fsy"
+ : 'parenExpr));
+# 12387 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenExprBody)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3907 "../pars.fsy"
+ let m = rhs2 parseState 1 3
+ SynExpr.Paren (_2 m, rhs parseState 1, Some(rhs parseState 3), m)
+ )
+# 3907 "../pars.fsy"
+ : 'parenExpr));
+# 12400 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenExprBody)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_other_than_rparen_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3911 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedParen())
+ let lhsm = unionRangeWithPos (rhs parseState 1) (rhs parseState 2).End
+ SynExpr.Paren (exprFromParseError (_2 lhsm), rhs parseState 1, None, lhsm)
+ )
+# 3911 "../pars.fsy"
+ : 'parenExpr));
+# 12414 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3916 "../pars.fsy"
+ // silent recovery
+ SynExpr.Paren (arbExpr("parenExpr1",(rhs parseState 1).EndRange),(rhs parseState 1),Some(rhs parseState 3),(rhs2 parseState 1 3))
+ )
+# 3916 "../pars.fsy"
+ : 'parenExpr));
+# 12426 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3920 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedParen())
+ let lhsm = unionRangeWithPos (rhs parseState 1) (rhs parseState 2).Start
+ arbExpr("parenExpr2tcs", lhsm)
+ )
+# 3920 "../pars.fsy"
+ : 'parenExpr));
+# 12438 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3925 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedParen())
+ let lhsm = unionRangeWithPos (rhs parseState 1) (rhs parseState 2).Start
+ arbExpr("parenExpr2mcs", lhsm)
+ )
+# 3925 "../pars.fsy"
+ : 'parenExpr));
+# 12450 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3930 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedParen())
+ let lhsm = unionRangeWithPos (rhs parseState 1) (rhs parseState 2).Start
+ arbExpr("parenExpr2rbcs", lhsm)
+ )
+# 3930 "../pars.fsy"
+ : 'parenExpr));
+# 12462 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3935 "../pars.fsy"
+ let lparenRange = (rhs parseState 1)
+ reportParseErrorAt lparenRange (FSComp.SR.parsUnmatchedParen())
+ SynExpr.Paren(arbExpr("parenExpr2obecs", lparenRange.EndRange), lparenRange, None, lparenRange)
+ )
+# 3935 "../pars.fsy"
+ : 'parenExpr));
+# 12474 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3940 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedParen())
+ arbExpr("parenExpr2",(lhs parseState))
+ )
+# 3940 "../pars.fsy"
+ : 'parenExpr));
+# 12486 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'staticallyKnownHeadTypars)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'classMemberSpfn)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3952 "../pars.fsy"
+ (fun m -> SynExpr.TraitCall (_1,_4,_6,m))
+ )
+# 3952 "../pars.fsy"
+ : 'parenExprBody));
+# 12500 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3954 "../pars.fsy"
+ (fun _m -> _1)
+ )
+# 3954 "../pars.fsy"
+ : 'parenExprBody));
+# 12511 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'inlineAssemblyExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3956 "../pars.fsy"
+ _1
+ )
+# 3956 "../pars.fsy"
+ : 'parenExprBody));
+# 12522 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'staticallyKnownHeadTypar)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3960 "../pars.fsy"
+ [_1]
+ )
+# 3960 "../pars.fsy"
+ : 'staticallyKnownHeadTypars));
+# 12533 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'staticallyKnownHeadTyparAlts)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3963 "../pars.fsy"
+ List.rev _2
+ )
+# 3963 "../pars.fsy"
+ : 'staticallyKnownHeadTypars));
+# 12545 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'staticallyKnownHeadTyparAlts)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'staticallyKnownHeadTypar)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3967 "../pars.fsy"
+ _3 :: _1
+ )
+# 3967 "../pars.fsy"
+ : 'staticallyKnownHeadTyparAlts));
+# 12557 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'staticallyKnownHeadTypar)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3970 "../pars.fsy"
+ [_1]
+ )
+# 3970 "../pars.fsy"
+ : 'staticallyKnownHeadTyparAlts));
+# 12568 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'braceExprBody)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rbrace)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3974 "../pars.fsy"
+ let m,r = _2 in r (rhs2 parseState 1 3)
+ )
+# 3974 "../pars.fsy"
+ : 'braceExpr));
+# 12580 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'braceExprBody)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3977 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBrace())
+ let m,r = _2
+ // Note, we can't use 'exprFromParseError' because the extra syntax node interferes with some syntax-directed transformations for computation expressions
+ r (unionRanges (rhs parseState 1) m)
+ )
+# 3977 "../pars.fsy"
+ : 'braceExpr));
+# 12595 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rbrace)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3983 "../pars.fsy"
+ // silent recovery
+ arbExpr("braceExpr",rhs2 parseState 1 3)
+ )
+# 3983 "../pars.fsy"
+ : 'braceExpr));
+# 12607 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3987 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBrace())
+ // Note, we can't use 'exprFromParseError' because the extra syntax node interferes with some syntax-directed transformations for computation expressions
+ SynExpr.Record (None,None,[],rhs parseState 1)
+ )
+# 3987 "../pars.fsy"
+ : 'braceExpr));
+# 12620 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'rbrace)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3992 "../pars.fsy"
+ let m = rhs2 parseState 1 2
+ SynExpr.Record (None,None,[],m)
+ )
+# 3992 "../pars.fsy"
+ : 'braceExpr));
+# 12632 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 3997 "../pars.fsy"
+ (lhs parseState), (fun m -> let a,b,c = _1 in SynExpr.Record (a,b,c,m))
+ )
+# 3997 "../pars.fsy"
+ : 'braceExprBody));
+# 12643 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'objExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4000 "../pars.fsy"
+ _1
+ )
+# 4000 "../pars.fsy"
+ : 'braceExprBody));
+# 12654 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'monadicExprInitial)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4003 "../pars.fsy"
+ let m,r = _1 in (m, r false)
+ )
+# 4003 "../pars.fsy"
+ : 'braceExprBody));
+# 12665 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'monadicExprInitial)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4007 "../pars.fsy"
+ let m,r = _1 in (fun lhsm isArray -> SynExpr.ArrayOrListOfSeqExpr (isArray, r true m, lhsm))
+ )
+# 4007 "../pars.fsy"
+ : 'listExprElements));
+# 12676 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4009 "../pars.fsy"
+ (fun lhsm isArray -> SynExpr.ArrayOrList (isArray,[ ], lhsm))
+ )
+# 4009 "../pars.fsy"
+ : 'listExprElements));
+# 12686 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'seqExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4013 "../pars.fsy"
+ _1.Range, (fun isArrayOrList lhsm -> SynExpr.CompExpr (isArrayOrList,ref(isArrayOrList),_1,lhsm))
+ )
+# 4013 "../pars.fsy"
+ : 'monadicExprInitial));
+# 12697 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'rangeSequenceExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4016 "../pars.fsy"
+ _1
+ )
+# 4016 "../pars.fsy"
+ : 'monadicExprInitial));
+# 12708 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4020 "../pars.fsy"
+ let opm = (rhs parseState 2)
+ (unionRanges _1.Range _3.Range),(fun _isArray wholem ->
+ // in the case of "{ 1 .. 10 }", we want the range of the expression to include the curlies, that comes from a higher level rule in the grammar,
+ // passed down as 'wholem', so patch up that range here
+ match (mkSynInfix opm _1 ".." _3) with
+ | SynExpr.App (a,b,c,d,_) -> SynExpr.App (a,b,c,d,wholem)
+ | _ -> failwith "impossible")
+ )
+# 4020 "../pars.fsy"
+ : 'rangeSequenceExpr));
+# 12726 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4028 "../pars.fsy"
+ (unionRanges _1.Range _5.Range),(fun _isArray wholem -> mkSynTrifix wholem ".. .." _1 _3 _5)
+ )
+# 4028 "../pars.fsy"
+ : 'rangeSequenceExpr));
+# 12739 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4031 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 3) (FSComp.SR.parsUnexpectedEndOfFileExpression())
+ let opm = (rhs parseState 2)
+ let e = arbExpr("rangeSeqError1", (rhs parseState 3).StartRange)
+ (unionRanges _1.Range e.Range),(fun _isArray wholem ->
+ // in the case of "{ 1 .. 10 }", we want the range of the expression to include the curlies, that comes from a higher level rule in the grammar,
+ // passed down as 'wholem', so patch up that range here
+ match (mkSynInfix opm _1 ".." e) with
+ | SynExpr.App (a,b,c,d,_) -> SynExpr.App (a,b,c,d,wholem)
+ | _ -> failwith "impossible")
+ )
+# 4031 "../pars.fsy"
+ : 'rangeSequenceExpr));
+# 12759 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExprBlockR)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4044 "../pars.fsy"
+ SynExpr.YieldOrReturn ((true,false), _2, unionRanges (rhs parseState 1) _2.Range)
+ )
+# 4044 "../pars.fsy"
+ : 'arrowThenExprR));
+# 12770 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4049 "../pars.fsy"
+ (_1, _3, true)
+ )
+# 4049 "../pars.fsy"
+ : 'forLoopBinder));
+# 12782 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rangeSequenceExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4052 "../pars.fsy"
+ let m,r = _3 in (_1, r false m, true)
+ )
+# 4052 "../pars.fsy"
+ : 'forLoopBinder));
+# 12794 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4055 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsExpectedExpressionAfterToken())
+ (_1, arbExpr("forLoopBinder",(rhs parseState 2)), false)
+ )
+# 4055 "../pars.fsy"
+ : 'forLoopBinder));
+# 12807 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4059 "../pars.fsy"
+ if not _2 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsInOrEqualExpected())
+ (_1, arbExpr("forLoopBinder2",(rhs parseState 1).EndRange), false)
+ )
+# 4059 "../pars.fsy"
+ : 'forLoopBinder));
+# 12820 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'forLoopDirection)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4064 "../pars.fsy"
+ idOfPat parseState (rhs parseState 1) _1,_3,_4,_5
+ )
+# 4064 "../pars.fsy"
+ : 'forLoopRange));
+# 12834 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'parenPattern)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rangeSequenceExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4067 "../pars.fsy"
+ raiseParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnexpectedSymbolEqualsInsteadOfIn())
+ )
+# 4067 "../pars.fsy"
+ : 'forLoopRange));
+# 12846 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4070 "../pars.fsy"
+ true
+ )
+# 4070 "../pars.fsy"
+ : 'forLoopDirection));
+# 12856 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4071 "../pars.fsy"
+ false
+ )
+# 4071 "../pars.fsy"
+ : 'forLoopDirection));
+# 12866 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'stringOrKeywordString)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_inlineAssemblyTypeArg)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_curriedArgExprs)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_inlineAssemblyReturnTypes)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4075 "../pars.fsy"
+ libraryOnlyWarning (lhs parseState)
+ let s,sm = _2,rhs parseState 2
+ (fun m -> SynExpr.LibraryOnlyILAssembly (internalParseAssemblyCodeInstructions s parseState.LexBuffer.SupportsFeature sm, _3, List.rev _4, _5, m))
+ )
+# 4075 "../pars.fsy"
+ : 'inlineAssemblyExpr));
+# 12882 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_curriedArgExprs)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4081 "../pars.fsy"
+ _2 :: _1
+ )
+# 4081 "../pars.fsy"
+ : 'opt_curriedArgExprs));
+# 12894 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4084 "../pars.fsy"
+ []
+ )
+# 4084 "../pars.fsy"
+ : 'opt_curriedArgExprs));
+# 12904 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4088 "../pars.fsy"
+ None
+ )
+# 4088 "../pars.fsy"
+ : 'opt_atomicExprAfterType));
+# 12914 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4091 "../pars.fsy"
+ Some(_1)
+ )
+# 4091 "../pars.fsy"
+ : 'opt_atomicExprAfterType));
+# 12925 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4094 "../pars.fsy"
+ []
+ )
+# 4094 "../pars.fsy"
+ : 'opt_inlineAssemblyTypeArg));
+# 12935 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeKeyword)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4095 "../pars.fsy"
+ [_3]
+ )
+# 4095 "../pars.fsy"
+ : 'opt_inlineAssemblyTypeArg));
+# 12948 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4099 "../pars.fsy"
+ []
+ )
+# 4099 "../pars.fsy"
+ : 'opt_inlineAssemblyReturnTypes));
+# 12958 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4102 "../pars.fsy"
+ [_2]
+ )
+# 4102 "../pars.fsy"
+ : 'opt_inlineAssemblyReturnTypes));
+# 12969 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4105 "../pars.fsy"
+ []
+ )
+# 4105 "../pars.fsy"
+ : 'opt_inlineAssemblyReturnTypes));
+# 12980 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomTypeNonAtomicDeprecated)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_HIGH_PRECEDENCE_APP)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_atomicExprAfterType)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdExprBindings)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps_recd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4109 "../pars.fsy"
+ let arg = match _4 with None -> mkSynUnit (lhs parseState) | Some e -> e
+ let l = List.rev _5
+ let dummyField = mkRecdField (LongIdentWithDots([], [])) // dummy identifier, it will be discarded
+ let l = rebindRanges (dummyField, None) l _6
+ let (_, _, inheritsSep) = List.head l
+ let bindings = List.tail l
+ (Some (_2,arg,rhs2 parseState 2 4, inheritsSep, rhs parseState 1), None, bindings)
+ )
+# 4109 "../pars.fsy"
+ : 'recdExpr));
+# 13001 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdExprCore)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4117 "../pars.fsy"
+ let a,b = _1 in (None, a, b)
+ )
+# 4117 "../pars.fsy"
+ : 'recdExpr));
+# 13012 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdExprBindings)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps_recd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4121 "../pars.fsy"
+ match _1 with
+ | LongOrSingleIdent(false, (LongIdentWithDots(_,_) as f),None,m) ->
+ let f = mkRecdField f
+ let l = List.rev _4
+ let l = rebindRanges (f, Some _3) l _5
+ (None, l)
+ | _ -> raiseParseErrorAt (rhs parseState 2) (FSComp.SR.parsFieldBinding())
+ )
+# 4121 "../pars.fsy"
+ : 'recdExprCore));
+# 13032 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4134 "../pars.fsy"
+ let m = rhs parseState 1
+ reportParseErrorAt m (FSComp.SR.parsUnderscoreInvalidFieldName())
+ reportParseErrorAt m (FSComp.SR.parsFieldBinding())
+ let f = mkUnderscoreRecdField m
+ (None, [ (f, None, None) ])
+ )
+# 4134 "../pars.fsy"
+ : 'recdExprCore));
+# 13046 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4141 "../pars.fsy"
+ let m = rhs parseState 1
+ reportParseErrorAt m (FSComp.SR.parsUnderscoreInvalidFieldName())
+ let f = mkUnderscoreRecdField m
+ reportParseErrorAt (rhs2 parseState 1 2) (FSComp.SR.parsFieldBinding())
+
+ (None, [ (f, None, None) ])
+ )
+# 4141 "../pars.fsy"
+ : 'recdExprCore));
+# 13061 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdExprBindings)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps_recd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4150 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnderscoreInvalidFieldName())
+ let f = mkUnderscoreRecdField (rhs parseState 1)
+ let l = List.rev _4
+ let l = rebindRanges (f, Some _3) l _5
+ (None, l)
+ )
+# 4150 "../pars.fsy"
+ : 'recdExprCore));
+# 13078 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdBinding)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdExprBindings)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps_recd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4158 "../pars.fsy"
+ let l = List.rev _4
+ let l = rebindRanges _3 l _5
+ (Some (_1, (rhs parseState 2, None)), l)
+ )
+# 4158 "../pars.fsy"
+ : 'recdExprCore));
+# 13094 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps_recd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4163 "../pars.fsy"
+ (Some (_1, (rhs parseState 2, None)), [])
+ )
+# 4163 "../pars.fsy"
+ : 'recdExprCore));
+# 13106 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdBinding)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdExprBindings)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_seps_recd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4166 "../pars.fsy"
+ let l = List.rev _4
+ let l = rebindRanges _3 l _5
+ (Some (_1, (rhs parseState 2, None)), l)
+ )
+# 4166 "../pars.fsy"
+ : 'recdExprCore));
+# 13122 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'seps_recd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4171 "../pars.fsy"
+ Some _1
+ )
+# 4171 "../pars.fsy"
+ : 'opt_seps_recd));
+# 13133 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4172 "../pars.fsy"
+ None
+ )
+# 4172 "../pars.fsy"
+ : 'opt_seps_recd));
+# 13143 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4175 "../pars.fsy"
+ (rhs parseState 1), None
+ )
+# 4175 "../pars.fsy"
+ : 'seps_recd));
+# 13153 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4176 "../pars.fsy"
+ let m = (rhs parseState 1) in (m, Some m.End)
+ )
+# 4176 "../pars.fsy"
+ : 'seps_recd));
+# 13163 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4177 "../pars.fsy"
+ (rhs2 parseState 1 2), Some (rhs parseState 1).End
+ )
+# 4177 "../pars.fsy"
+ : 'seps_recd));
+# 13173 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4178 "../pars.fsy"
+ (rhs2 parseState 1 2), Some (rhs parseState 2).End
+ )
+# 4178 "../pars.fsy"
+ : 'seps_recd));
+# 13183 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4185 "../pars.fsy"
+ mkRecdField _1
+ )
+# 4185 "../pars.fsy"
+ : 'pathOrUnderscore));
+# 13194 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4187 "../pars.fsy"
+ let m = rhs parseState 1
+ reportParseErrorAt m (FSComp.SR.parsUnderscoreInvalidFieldName())
+ mkUnderscoreRecdField m
+ )
+# 4187 "../pars.fsy"
+ : 'pathOrUnderscore));
+# 13206 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdExprBindings)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'seps_recd)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdBinding)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4193 "../pars.fsy"
+ (_3, Some _2) :: _1
+ )
+# 4193 "../pars.fsy"
+ : 'recdExprBindings));
+# 13219 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4194 "../pars.fsy"
+ []
+ )
+# 4194 "../pars.fsy"
+ : 'recdExprBindings));
+# 13229 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'pathOrUnderscore)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4198 "../pars.fsy"
+ (_1, Some _3)
+ )
+# 4198 "../pars.fsy"
+ : 'recdBinding));
+# 13241 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'pathOrUnderscore)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4201 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsFieldBinding())
+ (_1, None)
+ )
+# 4201 "../pars.fsy"
+ : 'recdBinding));
+# 13253 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'pathOrUnderscore)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4205 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsFieldBinding())
+ (_1, None)
+ )
+# 4205 "../pars.fsy"
+ : 'recdBinding));
+# 13266 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'pathOrUnderscore)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4209 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsFieldBinding())
+ (_1, None)
+ )
+# 4209 "../pars.fsy"
+ : 'recdBinding));
+# 13278 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'pathOrUnderscore)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4213 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsFieldBinding())
+ (_1, None)
+ )
+# 4213 "../pars.fsy"
+ : 'recdBinding));
+# 13291 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'objExprBaseCall)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'objExprBindings)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_objExprInterfaces)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4224 "../pars.fsy"
+ let mNewExpr = rhs parseState 1
+ let fullRange = match _4 with [] -> (rhs parseState 1) | _ -> (rhs2 parseState 1 4)
+ fullRange, (fun m -> let (a,b) = _1 in SynExpr.ObjExpr (a,b,_2,_4, mNewExpr, m))
+ )
+# 4224 "../pars.fsy"
+ : 'objExpr));
+# 13307 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'objExprBaseCall)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'objExprInterfaces)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4229 "../pars.fsy"
+ let mNewExpr = rhs parseState 1
+ let fullRange = match _3 with [] -> (rhs parseState 1) | _ -> (rhs2 parseState 1 3)
+ fullRange, (fun m -> let (a,b) = _1 in SynExpr.ObjExpr (a,b,[],_3, mNewExpr, m))
+ )
+# 4229 "../pars.fsy"
+ : 'objExpr));
+# 13322 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomTypeNonAtomicDeprecated)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4234 "../pars.fsy"
+ let mNewExpr = rhs parseState 1
+ (rhs2 parseState 1 2), (fun m -> let (a,b) = _2,None in SynExpr.ObjExpr (a,b,[],[], mNewExpr, m))
+ )
+# 4234 "../pars.fsy"
+ : 'objExpr));
+# 13334 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomTypeNonAtomicDeprecated)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_HIGH_PRECEDENCE_APP)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'baseSpec)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4240 "../pars.fsy"
+ (_2, Some(_4,Some(_5)))
+ )
+# 4240 "../pars.fsy"
+ : 'objExprBaseCall));
+# 13348 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomTypeNonAtomicDeprecated)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_HIGH_PRECEDENCE_APP)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4243 "../pars.fsy"
+ (_2, Some(_4,None))
+ )
+# 4243 "../pars.fsy"
+ : 'objExprBaseCall));
+# 13361 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomTypeNonAtomicDeprecated)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4246 "../pars.fsy"
+ _2,None
+ )
+# 4246 "../pars.fsy"
+ : 'objExprBaseCall));
+# 13372 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'objExprBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4251 "../pars.fsy"
+ _1
+ )
+# 4251 "../pars.fsy"
+ : 'opt_objExprBindings));
+# 13383 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4252 "../pars.fsy"
+ []
+ )
+# 4252 "../pars.fsy"
+ : 'opt_objExprBindings));
+# 13393 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'localBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4256 "../pars.fsy"
+ let mWithKwd = (rhs parseState 1)
+ let _localBindingsLastRange, localBindingsBuilder = _2
+ localBindingsBuilder [] None mWithKwd
+ )
+# 4256 "../pars.fsy"
+ : 'objExprBindings));
+# 13406 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'localBindings)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4261 "../pars.fsy"
+ let mWithKwd = (rhs parseState 1)
+ let _localBindingsLastRange, localBindingsBuilder = _2
+ localBindingsBuilder [] None mWithKwd
+ )
+# 4261 "../pars.fsy"
+ : 'objExprBindings));
+# 13419 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'objectImplementationBlock)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declEnd)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4266 "../pars.fsy"
+ _2 |>
+ (List.choose (function
+ | SynMemberDefn.Member(b,m) -> Some b
+ | SynMemberDefn.AutoProperty(_,_,_,_,_,_,_,_,_,_,m) -> errorR(Error(FSComp.SR.parsIllegalMemberVarInObjectImplementation(),m)); None
+ | x -> errorR(Error(FSComp.SR.parsMemberIllegalInObjectImplementation(),x.Range)); None))
+ )
+# 4266 "../pars.fsy"
+ : 'objExprBindings));
+# 13435 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'objExprInterface)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_objExprInterfaces)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4273 "../pars.fsy"
+ _1 :: _2
+ )
+# 4273 "../pars.fsy"
+ : 'objExprInterfaces));
+# 13447 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4277 "../pars.fsy"
+ []
+ )
+# 4277 "../pars.fsy"
+ : 'opt_objExprInterfaces));
+# 13457 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'objExprInterface)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_objExprInterfaces)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4280 "../pars.fsy"
+ _1 :: _2
+ )
+# 4280 "../pars.fsy"
+ : 'opt_objExprInterfaces));
+# 13469 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_objExprInterfaces)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4283 "../pars.fsy"
+ (* silent recovery *) _2
+ )
+# 4283 "../pars.fsy"
+ : 'opt_objExprInterfaces));
+# 13480 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'interfaceMember)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_objExprBindings)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_declEnd)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_OBLOCKSEP)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4287 "../pars.fsy"
+ InterfaceImpl(_2, _3, lhs parseState)
+ )
+# 4287 "../pars.fsy"
+ : 'objExprInterface));
+# 13495 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'braceBarExprCore)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4291 "../pars.fsy"
+ _2 true
+ )
+# 4291 "../pars.fsy"
+ : 'braceBarExpr));
+# 13506 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'braceBarExprCore)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4293 "../pars.fsy"
+ _1 false
+ )
+# 4293 "../pars.fsy"
+ : 'braceBarExpr));
+# 13517 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdExprCore)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'bar_rbrace)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4297 "../pars.fsy"
+ let orig, flds = _2
+ let flds =
+ flds |> List.choose (function
+ | ((LongIdentWithDots([id],_),_),Some e,_) -> Some (id,e)
+ | ((LongIdentWithDots([id],_),_),None,_) -> Some (id, arbExpr("anonField",id.idRange))
+ | _ -> reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsInvalidAnonRecdType()); None)
+ let m = rhs2 parseState 1 3
+ (fun isStruct -> SynExpr.AnonRecd (isStruct,orig,flds,m))
+ )
+# 4297 "../pars.fsy"
+ : 'braceBarExprCore));
+# 13536 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recdExprCore)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4307 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBraceBar())
+ let orig, flds = _2
+ let flds =
+ flds |> List.choose (function
+ | ((LongIdentWithDots([id],_),_),Some e,_) -> Some (id,e)
+ | ((LongIdentWithDots([id],_),_),None,_) -> Some (id, arbExpr("anonField",id.idRange))
+ | _ -> reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsInvalidAnonRecdType()); None)
+ let m = rhs2 parseState 1 2
+ (fun isStruct -> SynExpr.AnonRecd (isStruct,orig,flds,m))
+ )
+# 4307 "../pars.fsy"
+ : 'braceBarExprCore));
+# 13556 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'bar_rbrace)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4318 "../pars.fsy"
+ // silent recovery
+ let m = rhs2 parseState 1 3
+ (fun _ -> arbExpr("braceBarExpr",m))
+ )
+# 4318 "../pars.fsy"
+ : 'braceBarExprCore));
+# 13569 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4323 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedBraceBar())
+ let m = rhs2 parseState 1 1
+ (fun isStruct -> SynExpr.AnonRecd (isStruct,None,[],m))
+ )
+# 4323 "../pars.fsy"
+ : 'braceBarExprCore));
+# 13582 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'bar_rbrace)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4328 "../pars.fsy"
+ let m = rhs2 parseState 1 2
+ (fun isStruct -> SynExpr.AnonRecd (isStruct,None,[],m))
+ )
+# 4328 "../pars.fsy"
+ : 'braceBarExprCore));
+# 13594 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatterns)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4333 "../pars.fsy"
+ let mAll = unionRanges (rhs parseState 1) _4.Range
+ mkSynFunMatchLambdas parseState.SynArgNameGenerator false mAll _2 _4
+ )
+# 4333 "../pars.fsy"
+ : 'anonLambdaExpr));
+# 13607 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatterns)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4337 "../pars.fsy"
+ let mAll = rhs2 parseState 1 3
+ mkSynFunMatchLambdas parseState.SynArgNameGenerator false mAll _2 (arbExpr("anonLambdaExpr1",(rhs parseState 4)))
+ )
+# 4337 "../pars.fsy"
+ : 'anonLambdaExpr));
+# 13619 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatterns)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExprBlockR)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4341 "../pars.fsy"
+ let mAll = unionRanges (rhs parseState 1) _4.Range
+ mkSynFunMatchLambdas parseState.SynArgNameGenerator false mAll _2 _4
+ )
+# 4341 "../pars.fsy"
+ : 'anonLambdaExpr));
+# 13632 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatterns)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'typedSeqExprBlockR)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4345 "../pars.fsy"
+ if not _5 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileFunBody());
+ let mAll = unionRanges (rhs parseState 1) _4.Range
+ exprFromParseError (mkSynFunMatchLambdas parseState.SynArgNameGenerator false mAll _2 _4)
+ )
+# 4345 "../pars.fsy"
+ : 'anonLambdaExpr));
+# 13647 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatterns)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4350 "../pars.fsy"
+ reportParseErrorAt (rhs2 parseState 1 3) (FSComp.SR.parsMissingFunctionBody())
+ mkSynFunMatchLambdas parseState.SynArgNameGenerator false (rhs2 parseState 1 3) _2 (arbExpr("anonLambdaExpr2",(rhs parseState 4)))
+ )
+# 4350 "../pars.fsy"
+ : 'anonLambdaExpr));
+# 13659 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatterns)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4354 "../pars.fsy"
+ if not _4 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileFunBody())
+ exprFromParseError (mkSynFunMatchLambdas parseState.SynArgNameGenerator false (rhs2 parseState 1 3) _2 (arbExpr("anonLambdaExpr3",(rhs parseState 4))))
+ )
+# 4354 "../pars.fsy"
+ : 'anonLambdaExpr));
+# 13672 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicPatterns)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4358 "../pars.fsy"
+ exprFromParseError (mkSynFunMatchLambdas parseState.SynArgNameGenerator false (rhs2 parseState 1 2) _2 (arbExpr("anonLambdaExpr4",(rhs parseState 3))))
+ )
+# 4358 "../pars.fsy"
+ : 'anonLambdaExpr));
+# 13683 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4361 "../pars.fsy"
+ exprFromParseError (mkSynFunMatchLambdas parseState.SynArgNameGenerator false (rhs parseState 1) [] (arbExpr("anonLambdaExpr5",(rhs parseState 2))))
+ )
+# 4361 "../pars.fsy"
+ : 'anonLambdaExpr));
+# 13693 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'withPatternClauses)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4365 "../pars.fsy"
+ let clauses,mLast = _2
+ let mAll = unionRanges (rhs parseState 1) mLast
+ SynExpr.MatchLambda (false,(rhs parseState 1),clauses,NoSequencePointAtInvisibleBinding,mAll)
+ )
+# 4365 "../pars.fsy"
+ : 'anonMatchingExpr));
+# 13706 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'withPatternClauses)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4370 "../pars.fsy"
+ let clauses,mLast = _2
+ let mAll = unionRanges (rhs parseState 1) mLast
+ SynExpr.MatchLambda (false,(rhs parseState 1),clauses,NoSequencePointAtInvisibleBinding,mAll)
+ )
+# 4370 "../pars.fsy"
+ : 'anonMatchingExpr));
+# 13719 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4379 "../pars.fsy"
+ _1
+ )
+# 4379 "../pars.fsy"
+ : 'typeWithTypeConstraints));
+# 13730 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeConstraints)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4382 "../pars.fsy"
+ SynType.WithGlobalConstraints(_1, List.rev _3,lhs parseState)
+ )
+# 4382 "../pars.fsy"
+ : 'typeWithTypeConstraints));
+# 13742 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'topType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4386 "../pars.fsy"
+ _1
+ )
+# 4386 "../pars.fsy"
+ : 'topTypeWithTypeConstraints));
+# 13753 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'topType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeConstraints)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4389 "../pars.fsy"
+ let ty,arity = _1
+ // nb. it doesn't matter where the constraints go in the structure of the type.
+ SynType.WithGlobalConstraints(ty,List.rev _3,lhs parseState), arity
+ )
+# 4389 "../pars.fsy"
+ : 'topTypeWithTypeConstraints));
+# 13767 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4395 "../pars.fsy"
+ None
+ )
+# 4395 "../pars.fsy"
+ : 'opt_topReturnTypeWithTypeConstraints));
+# 13777 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'topTypeWithTypeConstraints)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4398 "../pars.fsy"
+ let ty,arity = _2
+ let arity = (match arity with SynValInfo([],rmdata)-> rmdata | _ -> SynInfo.unnamedRetVal)
+ Some (SynReturnInfo((ty,arity),rhs parseState 2))
+ )
+# 4398 "../pars.fsy"
+ : 'opt_topReturnTypeWithTypeConstraints));
+# 13790 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'topTupleType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'topType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4404 "../pars.fsy"
+ let dty,dmdata= _1
+ let rty,(SynValInfo(dmdatas,rmdata)) = _3
+ SynType.Fun(dty,rty,lhs parseState), (SynValInfo(dmdata :: dmdatas, rmdata))
+ )
+# 4404 "../pars.fsy"
+ : 'topType));
+# 13804 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'topTupleType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4409 "../pars.fsy"
+ let ty,rmdata = _1 in ty, (SynValInfo([],(match rmdata with [md] -> md | _ -> SynInfo.unnamedRetVal)))
+ )
+# 4409 "../pars.fsy"
+ : 'topType));
+# 13815 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'topAppType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'topTupleTypeElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4413 "../pars.fsy"
+ let ty,mdata = _1 in let tys,mdatas = List.unzip _3 in (SynType.Tuple(false,List.map (fun ty -> (false,ty)) (ty :: tys), lhs parseState)),(mdata :: mdatas)
+ )
+# 4413 "../pars.fsy"
+ : 'topTupleType));
+# 13827 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'topAppType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4416 "../pars.fsy"
+ let ty,mdata = _1 in ty,[mdata]
+ )
+# 4416 "../pars.fsy"
+ : 'topTupleType));
+# 13838 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'topAppType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'topTupleTypeElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4420 "../pars.fsy"
+ _1 :: _3
+ )
+# 4420 "../pars.fsy"
+ : 'topTupleTypeElements));
+# 13850 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'topAppType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4423 "../pars.fsy"
+ [_1]
+ )
+# 4423 "../pars.fsy"
+ : 'topTupleTypeElements));
+# 13861 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4427 "../pars.fsy"
+ match _2 with
+ | SynType.LongIdent(LongIdentWithDots([id],_)) -> _4,SynArgInfo(_1,false,Some id)
+ | _ -> raiseParseErrorAt (rhs parseState 2) (FSComp.SR.parsSyntaxErrorInLabeledType())
+ )
+# 4427 "../pars.fsy"
+ : 'topAppType));
+# 13876 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attributes)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4432 "../pars.fsy"
+ _5,SynArgInfo(_1,true,Some _3)
+ )
+# 4432 "../pars.fsy"
+ : 'topAppType));
+# 13889 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'attributes)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4435 "../pars.fsy"
+ (_2,SynArgInfo(_1,false,None))
+ )
+# 4435 "../pars.fsy"
+ : 'topAppType));
+# 13901 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4438 "../pars.fsy"
+ match _1 with
+ | SynType.LongIdent(LongIdentWithDots([id],_)) -> _3,SynArgInfo([],false,Some id)
+ | _ -> raiseParseErrorAt (rhs parseState 2) (FSComp.SR.parsSyntaxErrorInLabeledType())
+ )
+# 4438 "../pars.fsy"
+ : 'topAppType));
+# 13915 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4443 "../pars.fsy"
+ _4,SynArgInfo([],true,Some _2)
+ )
+# 4443 "../pars.fsy"
+ : 'topAppType));
+# 13927 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4446 "../pars.fsy"
+ _1,SynArgInfo([],false,None)
+ )
+# 4446 "../pars.fsy"
+ : 'topAppType));
+# 13938 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4452 "../pars.fsy"
+ SynType.Fun(_1,_3,lhs parseState)
+ )
+# 4452 "../pars.fsy"
+ : Ast.SynType));
+# 13950 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4455 "../pars.fsy"
+ _1
+ )
+# 4455 "../pars.fsy"
+ : Ast.SynType));
+# 13961 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LexerWhitespaceContinuation)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4458 "../pars.fsy"
+ checkEndOfFileError _2; _1
+ )
+# 4458 "../pars.fsy"
+ : Ast.SynType));
+# 13973 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleOrQuotTypeElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4463 "../pars.fsy"
+ SynType.Tuple(false,(false,_1) :: _3,lhs parseState)
+ )
+# 4463 "../pars.fsy"
+ : 'tupleType));
+# 13985 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleOrQuotTypeElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4466 "../pars.fsy"
+ if _1 <> "/" then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedInfixOperator());
+ SynType.Tuple(false,(true, SynType.StaticConstant (SynConst.Int32 1, lhs parseState)) :: _2, lhs parseState)
+ )
+# 4466 "../pars.fsy"
+ : 'tupleType));
+# 13998 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleOrQuotTypeElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4470 "../pars.fsy"
+ if _2 <> "/" then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedInfixOperator());
+ SynType.Tuple(false,(true,_1) :: _3, lhs parseState)
+ )
+# 4470 "../pars.fsy"
+ : 'tupleType));
+# 14012 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4474 "../pars.fsy"
+ _1
+ )
+# 4474 "../pars.fsy"
+ : 'tupleType));
+# 14023 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleOrQuotTypeElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4478 "../pars.fsy"
+ (false,_1) :: _3
+ )
+# 4478 "../pars.fsy"
+ : 'tupleOrQuotTypeElements));
+# 14035 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleOrQuotTypeElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4481 "../pars.fsy"
+ if _2 <> "/" then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedInfixOperator());
+ (true,_1) :: _3
+ )
+# 4481 "../pars.fsy"
+ : 'tupleOrQuotTypeElements));
+# 14049 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4485 "../pars.fsy"
+ [(false,_1)]
+ )
+# 4485 "../pars.fsy"
+ : 'tupleOrQuotTypeElements));
+# 14060 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4489 "../pars.fsy"
+ SynType.LongIdent(_1)
+ )
+# 4489 "../pars.fsy"
+ : 'appTypeCon));
+# 14071 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4492 "../pars.fsy"
+ SynType.Var(_1, lhs parseState)
+ )
+# 4492 "../pars.fsy"
+ : 'appTypeCon));
+# 14082 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appTypeCon)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicRationalConstant)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4496 "../pars.fsy"
+ if _2 <> "^" && _2 <> "^-" then reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnexpectedInfixOperator());
+ if _2 = "^-" then SynType.MeasurePower(_1, SynRationalConst.Negate(_3), lhs parseState)
+ else SynType.MeasurePower(_1, _3, lhs parseState)
+ )
+# 4496 "../pars.fsy"
+ : 'appTypeConPower));
+# 14097 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appTypeCon)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4501 "../pars.fsy"
+ _1
+ )
+# 4501 "../pars.fsy"
+ : 'appTypeConPower));
+# 14108 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'arrayTypeSuffix)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4505 "../pars.fsy"
+ SynType.Array(_2,_1,lhs parseState)
+ )
+# 4505 "../pars.fsy"
+ : 'appType));
+# 14120 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'arrayTypeSuffix)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4508 "../pars.fsy"
+ SynType.Array(_3,_1,lhs parseState)
+ )
+# 4508 "../pars.fsy"
+ : 'appType));
+# 14132 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'appTypeConPower)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4511 "../pars.fsy"
+ SynType.App(_2, None, [_1], [], None, true, unionRanges (rhs parseState 1) _2.Range)
+ )
+# 4511 "../pars.fsy"
+ : 'appType));
+# 14144 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'appTypePrefixArguments)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'appTypeConPower)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4514 "../pars.fsy"
+ let args, commas = _2
+ mlCompatWarning (FSComp.SR.parsMultiArgumentGenericTypeFormDeprecated()) (unionRanges (rhs parseState 1) _4.Range);
+ SynType.App(_4, None, args, commas, None, true, unionRanges (rhs parseState 1) _4.Range)
+ )
+# 4514 "../pars.fsy"
+ : 'appType));
+# 14159 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'powerType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4519 "../pars.fsy"
+ _1
+ )
+# 4519 "../pars.fsy"
+ : 'appType));
+# 14170 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4522 "../pars.fsy"
+ let tp,typ = _1,_3
+ let m = lhs parseState
+ SynType.WithGlobalConstraints(SynType.Var (tp, rhs parseState 1), [WhereTyparSubtypeOfType(tp,typ,m)],m)
+ )
+# 4522 "../pars.fsy"
+ : 'appType));
+# 14184 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4527 "../pars.fsy"
+ SynType.HashConstraint(_3, lhs parseState)
+ )
+# 4527 "../pars.fsy"
+ : 'appType));
+# 14195 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4531 "../pars.fsy"
+ 1
+ )
+# 4531 "../pars.fsy"
+ : 'arrayTypeSuffix));
+# 14205 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4534 "../pars.fsy"
+ 2
+ )
+# 4534 "../pars.fsy"
+ : 'arrayTypeSuffix));
+# 14215 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4537 "../pars.fsy"
+ 3
+ )
+# 4537 "../pars.fsy"
+ : 'arrayTypeSuffix));
+# 14225 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4540 "../pars.fsy"
+ 4
+ )
+# 4540 "../pars.fsy"
+ : 'arrayTypeSuffix));
+# 14235 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgActual)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgActual)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgListElements)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4544 "../pars.fsy"
+ let typeArgs, commas = _4 in _1 :: _3 :: List.rev typeArgs, (rhs parseState 2) :: (List.rev commas)
+ )
+# 4544 "../pars.fsy"
+ : 'appTypePrefixArguments));
+# 14248 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgListElements)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgActual)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4548 "../pars.fsy"
+ let typeArgs, commas = _1
+ _3 :: typeArgs, (rhs parseState 2) :: commas
+ )
+# 4548 "../pars.fsy"
+ : 'typeArgListElements));
+# 14261 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgListElements)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'dummyTypeArg)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4552 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsMissingTypeArgs())
+ let typeArgs, commas = _1
+ _3 :: typeArgs, (rhs parseState 2) :: commas
+ )
+# 4552 "../pars.fsy"
+ : 'typeArgListElements));
+# 14275 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4557 "../pars.fsy"
+ [], []
+ )
+# 4557 "../pars.fsy"
+ : 'typeArgListElements));
+# 14285 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomTypeOrAnonRecdType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4561 "../pars.fsy"
+ _1
+ )
+# 4561 "../pars.fsy"
+ : 'powerType));
+# 14296 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomTypeOrAnonRecdType)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicRationalConstant)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4564 "../pars.fsy"
+ if _2 <> "^" && _2 <> "^-" then reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnexpectedInfixOperator());
+ if _2 = "^-" then SynType.MeasurePower(_1, SynRationalConst.Negate(_3), lhs parseState)
+ else SynType.MeasurePower(_1, _3, lhs parseState)
+ )
+# 4564 "../pars.fsy"
+ : 'powerType));
+# 14311 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'appTypePrefixArguments)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'appTypeConPower)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4573 "../pars.fsy"
+ let args, commas = _2
+ mlCompatWarning (FSComp.SR.parsMultiArgumentGenericTypeFormDeprecated()) (unionRanges (rhs parseState 1) _4.Range);
+ SynType.App(_4, None, args, commas, None, true, unionRanges (rhs parseState 1) _4.Range)
+ )
+# 4573 "../pars.fsy"
+ : 'atomTypeNonAtomicDeprecated));
+# 14326 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4578 "../pars.fsy"
+ _1
+ )
+# 4578 "../pars.fsy"
+ : 'atomTypeNonAtomicDeprecated));
+# 14337 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4582 "../pars.fsy"
+ _1
+ )
+# 4582 "../pars.fsy"
+ : 'atomTypeOrAnonRecdType));
+# 14348 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'anonRecdType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4584 "../pars.fsy"
+ let flds,isStruct = _1
+ let flds2 =
+ flds |> List.choose (function
+ | (Field([],false,Some id,ty,false,_xmldoc,None,_m)) -> Some (id,ty)
+ | _ -> reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsInvalidAnonRecdType()); None)
+ SynType.AnonRecd (isStruct,flds2, rhs parseState 1)
+ )
+# 4584 "../pars.fsy"
+ : 'atomTypeOrAnonRecdType));
+# 14364 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4597 "../pars.fsy"
+ SynType.HashConstraint(_2, lhs parseState)
+ )
+# 4597 "../pars.fsy"
+ : 'atomType));
+# 14375 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appTypeConPower)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4600 "../pars.fsy"
+ _1
+ )
+# 4600 "../pars.fsy"
+ : 'atomType));
+# 14386 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4603 "../pars.fsy"
+ SynType.Anon (lhs parseState)
+ )
+# 4603 "../pars.fsy"
+ : 'atomType));
+# 14396 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4606 "../pars.fsy"
+ _2
+ )
+# 4606 "../pars.fsy"
+ : 'atomType));
+# 14408 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4609 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnmatchedParen())
+ _2
+ )
+# 4609 "../pars.fsy"
+ : 'atomType));
+# 14421 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleOrQuotTypeElements)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4613 "../pars.fsy"
+ SynType.Tuple(true, (false,_3) :: _5,lhs parseState)
+ )
+# 4613 "../pars.fsy"
+ : 'atomType));
+# 14434 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'tupleOrQuotTypeElements)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4616 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnmatchedParen())
+ SynType.Tuple(true, (false,_3) :: _5,lhs parseState)
+ )
+# 4616 "../pars.fsy"
+ : 'atomType));
+# 14448 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4620 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnmatchedParen())
+ SynType.Anon (lhs parseState)
+ )
+# 4620 "../pars.fsy"
+ : 'atomType));
+# 14461 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'appType)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4624 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnmatchedParen())
+ SynType.Anon (lhs parseState)
+ )
+# 4624 "../pars.fsy"
+ : 'atomType));
+# 14474 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4628 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnmatchedParen())
+ SynType.Anon (lhs parseState)
+ )
+# 4628 "../pars.fsy"
+ : 'atomType));
+# 14486 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'rawConstant)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4632 "../pars.fsy"
+ SynType.StaticConstant(_1, rhs parseState 1)
+ )
+# 4632 "../pars.fsy"
+ : 'atomType));
+# 14497 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4635 "../pars.fsy"
+ let m = rhs parseState 1
+ SynType.StaticConstant(SynConst.String (null, m), m)
+ )
+# 4635 "../pars.fsy"
+ : 'atomType));
+# 14508 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynExpr * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4639 "../pars.fsy"
+ let e,_ = _2
+ SynType.StaticConstantExpr(e, e.Range)
+ )
+# 4639 "../pars.fsy"
+ : 'atomType));
+# 14520 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4643 "../pars.fsy"
+ SynType.StaticConstant(SynConst.Bool false,lhs parseState)
+ )
+# 4643 "../pars.fsy"
+ : 'atomType));
+# 14530 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4646 "../pars.fsy"
+ SynType.StaticConstant(SynConst.Bool true,lhs parseState)
+ )
+# 4646 "../pars.fsy"
+ : 'atomType));
+# 14540 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4649 "../pars.fsy"
+ (* silent recovery *) SynType.Anon (lhs parseState)
+ )
+# 4649 "../pars.fsy"
+ : 'atomType));
+# 14551 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appTypeCon)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : range * range option * Ast.SynType list * range list * range)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4652 "../pars.fsy"
+ let mLessThan,mGreaterThan,args,commas,mWhole = _2 in SynType.App(_1, Some(mLessThan), args, commas, mGreaterThan, false, unionRanges _1.Range mWhole)
+ )
+# 4652 "../pars.fsy"
+ : 'atomType));
+# 14563 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4655 "../pars.fsy"
+ SynType.LongIdentApp(_1, _3, None, [], [], None, unionRanges (rhs parseState 1) _3.Range)
+ )
+# 4655 "../pars.fsy"
+ : 'atomType));
+# 14575 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : range * range option * Ast.SynType list * range list * range)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4658 "../pars.fsy"
+ let mLessThan,mGreaterThan,args,commas,mWhole = _4
+ SynType.LongIdentApp(_1, _3, Some(mLessThan), args, commas, mGreaterThan, unionRanges _1.Range mWhole)
+ )
+# 4658 "../pars.fsy"
+ : 'atomType));
+# 14589 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'appTypeCon)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4662 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsExpectedNameAfterToken())
+ _1
+ )
+# 4662 "../pars.fsy"
+ : 'atomType));
+# 14602 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : range * range option * bool * Ast.SynType list * range list * range)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4668 "../pars.fsy"
+ let mLessThan, mGreaterThan, parsedOk, args, commas, mAll = _1
+ if parsedOk then // if someone has "foo
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : range * range option * bool * Ast.SynType list * range list * range)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4674 "../pars.fsy"
+ let mLessThan, mGreaterThan, _, args, commas, mAll = _2
+ mLessThan, mGreaterThan, args, commas, mAll
+ )
+# 4674 "../pars.fsy"
+ : range * range option * Ast.SynType list * range list * range));
+# 14628 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgActualOrDummyIfEmpty)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgActualOrDummyIfEmpty)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgListElements)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4679 "../pars.fsy"
+ let typeArgs, commas = _5
+ (rhs parseState 1), Some(rhs parseState 6), true, (_2 :: _4 :: List.rev typeArgs), (rhs parseState 3) :: (List.rev commas), lhs parseState
+ )
+# 4679 "../pars.fsy"
+ : range * range option * bool * Ast.SynType list * range list * range));
+# 14644 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgActualOrDummyIfEmpty)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgActualOrDummyIfEmpty)) in
+ let _5 = (let data = parseState.GetInput(5) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgListElements)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4683 "../pars.fsy"
+ if not _6 then
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedEndOfFileTypeArgs())
+ else
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsMissingGreaterThan())
+ let typeArgs, commas = _5
+ let nextToken = rhs parseState 6
+ let zeroWidthAtStartOfNextToken = nextToken.StartRange
+ (rhs parseState 1), None, false, (_2 :: _4 :: List.rev typeArgs), (rhs parseState 3) :: (List.rev commas), unionRanges (rhs parseState 1) zeroWidthAtStartOfNextToken
+ )
+# 4683 "../pars.fsy"
+ : range * range option * bool * Ast.SynType list * range list * range));
+# 14666 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgActualOrDummyIfEmpty)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4693 "../pars.fsy"
+ if not _4 then reportParseErrorAt (rhs parseState 4) (FSComp.SR.parsMissingTypeArgs())
+ let nextToken = rhs parseState 4
+ let zeroWidthAtStartOfNextToken = nextToken.StartRange
+ (rhs parseState 1), None, false, [_2], [rhs parseState 3], unionRanges (rhs parseState 1) zeroWidthAtStartOfNextToken
+ )
+# 4693 "../pars.fsy"
+ : range * range option * bool * Ast.SynType list * range list * range));
+# 14682 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgActual)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4699 "../pars.fsy"
+ (rhs parseState 1), Some(rhs parseState 3), true, [_2], [], lhs parseState
+ )
+# 4699 "../pars.fsy"
+ : range * range option * bool * Ast.SynType list * range list * range));
+# 14695 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgActual)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4702 "../pars.fsy"
+ let nextToken = rhs parseState 3
+ if not _3 then reportParseErrorAt nextToken (FSComp.SR.parsMissingTypeArgs())
+ let zeroWidthAtStartOfNextToken = nextToken.StartRange
+ (rhs parseState 1), None, false, [_2], [], unionRanges (rhs parseState 1) zeroWidthAtStartOfNextToken
+ )
+# 4702 "../pars.fsy"
+ : range * range option * bool * Ast.SynType list * range list * range));
+# 14711 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4708 "../pars.fsy"
+ (rhs parseState 1), Some(rhs parseState 2), true, [], [], lhs parseState
+ )
+# 4708 "../pars.fsy"
+ : range * range option * bool * Ast.SynType list * range list * range));
+# 14723 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4711 "../pars.fsy"
+ if not _2 then
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsExpectedTypeAfterToken())
+ else
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsMissingTypeArgs())
+ let nextToken = rhs parseState 2
+ let zeroWidthAtStartOfNextToken = nextToken.StartRange
+ (rhs parseState 1), None, false, [], [], unionRanges (rhs parseState 1) zeroWidthAtStartOfNextToken
+ )
+# 4711 "../pars.fsy"
+ : range * range option * bool * Ast.SynType list * range list * range));
+# 14741 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4721 "../pars.fsy"
+ _1
+ )
+# 4721 "../pars.fsy"
+ : 'typeArgActual));
+# 14752 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4724 "../pars.fsy"
+ SynType.StaticConstantNamed(_1, _3, unionRanges _1.Range _3.Range)
+ )
+# 4724 "../pars.fsy"
+ : 'typeArgActual));
+# 14764 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynType)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4727 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsMissingTypeArgs())
+ let dummy = SynType.StaticConstant(SynConst.Int32(0), rhs parseState 2)
+ SynType.StaticConstantNamed(_1, dummy, (rhs2 parseState 1 2))
+
+ )
+# 4727 "../pars.fsy"
+ : 'typeArgActual));
+# 14778 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeArgActual)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4734 "../pars.fsy"
+ _1
+ )
+# 4734 "../pars.fsy"
+ : 'typeArgActualOrDummyIfEmpty));
+# 14789 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'dummyTypeArg)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4737 "../pars.fsy"
+ reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsMissingTypeArgs())
+ _1
+ )
+# 4737 "../pars.fsy"
+ : 'typeArgActualOrDummyIfEmpty));
+# 14801 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4742 "../pars.fsy"
+ let m = rhs parseState 1
+ let dummyStatVal = SynType.StaticConstant(SynConst.Int32(0), m)
+ let dummyName = SynType.LongIdent(LongIdentWithDots([ident("",m)],[]))
+ let dummyTypeArg = SynType.StaticConstantNamed(dummyName, dummyStatVal, m)
+ dummyTypeArg
+ )
+# 4742 "../pars.fsy"
+ : 'dummyTypeArg));
+# 14815 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'measureTypeExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4751 "../pars.fsy"
+ _2
+ )
+# 4751 "../pars.fsy"
+ : 'measureTypeArg));
+# 14828 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4754 "../pars.fsy"
+ SynMeasure.Anon (lhs parseState)
+ )
+# 4754 "../pars.fsy"
+ : 'measureTypeArg));
+# 14840 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4758 "../pars.fsy"
+ SynMeasure.Named(_1.Lid, _1.Range)
+ )
+# 4758 "../pars.fsy"
+ : 'measureTypeAtom));
+# 14851 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.SynTypar)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4761 "../pars.fsy"
+ SynMeasure.Var(_1, lhs parseState)
+ )
+# 4761 "../pars.fsy"
+ : 'measureTypeAtom));
+# 14862 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'measureTypeExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4764 "../pars.fsy"
+ _2
+ )
+# 4764 "../pars.fsy"
+ : 'measureTypeAtom));
+# 14874 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'measureTypeAtom)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4768 "../pars.fsy"
+ _1
+ )
+# 4768 "../pars.fsy"
+ : 'measureTypePower));
+# 14885 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'measureTypeAtom)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'atomicRationalConstant)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4771 "../pars.fsy"
+ if _2 <> "^" && _2 <> "^-" then reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnexpectedOperatorForUnitOfMeasure());
+ if _2 = "^-" then SynMeasure.Power(_1, SynRationalConst.Negate(_3), lhs parseState)
+ else SynMeasure.Power(_1, _3, lhs parseState)
+ )
+# 4771 "../pars.fsy"
+ : 'measureTypePower));
+# 14900 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : int32 * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4776 "../pars.fsy"
+ if fst _1 <> 1 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedIntegerLiteralForUnitOfMeasure());
+ SynMeasure.One
+ )
+# 4776 "../pars.fsy"
+ : 'measureTypePower));
+# 14912 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'measureTypePower)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4781 "../pars.fsy"
+ [_1]
+ )
+# 4781 "../pars.fsy"
+ : 'measureTypeSeq));
+# 14923 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'measureTypePower)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'measureTypeSeq)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4784 "../pars.fsy"
+ _1 :: _2
+ )
+# 4784 "../pars.fsy"
+ : 'measureTypeSeq));
+# 14935 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'measureTypeSeq)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4788 "../pars.fsy"
+ SynMeasure.Seq(_1, lhs parseState)
+ )
+# 4788 "../pars.fsy"
+ : 'measureTypeExpr));
+# 14946 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'measureTypeExpr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'measureTypeExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4791 "../pars.fsy"
+ SynMeasure.Product(_1, _3, lhs parseState)
+ )
+# 4791 "../pars.fsy"
+ : 'measureTypeExpr));
+# 14958 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'measureTypeExpr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'measureTypeExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4794 "../pars.fsy"
+ if _2 <> "*" && _2 <> "/" then reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsUnexpectedOperatorForUnitOfMeasure());
+ if _2 = "*" then SynMeasure.Product(_1, _3, lhs parseState)
+ else SynMeasure.Divide(_1, _3, lhs parseState)
+ )
+# 4794 "../pars.fsy"
+ : 'measureTypeExpr));
+# 14973 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'measureTypeExpr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4799 "../pars.fsy"
+ if _1 <> "/" then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedOperatorForUnitOfMeasure());
+ SynMeasure.Divide(SynMeasure.One, _2, lhs parseState)
+ )
+# 4799 "../pars.fsy"
+ : 'measureTypeExpr));
+# 14986 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4804 "../pars.fsy"
+ let id = mkSynId (lhs parseState) (_2).idText
+ Typar(id, NoStaticReq,false)
+ )
+# 4804 "../pars.fsy"
+ : Ast.SynTypar));
+# 14998 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'staticallyKnownHeadTypar)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4808 "../pars.fsy"
+ _1
+ )
+# 4808 "../pars.fsy"
+ : Ast.SynTypar));
+# 15009 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4812 "../pars.fsy"
+ if _1 <> "^" then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsUnexpectedTypeParameter());
+ let id = mkSynId (lhs parseState) (_2).idText
+ Typar(id,HeadTypeStaticReq,false)
+ )
+# 4812 "../pars.fsy"
+ : 'staticallyKnownHeadTypar));
+# 15023 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4820 "../pars.fsy"
+ ident(_1,rhs parseState 1)
+ )
+# 4820 "../pars.fsy"
+ : Ast.Ident));
+# 15034 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4826 "../pars.fsy"
+ LongIdentWithDots([ident(MangledGlobalName,rhs parseState 1)],[])
+ )
+# 4826 "../pars.fsy"
+ : Ast.LongIdentWithDots));
+# 15044 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4829 "../pars.fsy"
+ LongIdentWithDots([_1],[])
+ )
+# 4829 "../pars.fsy"
+ : Ast.LongIdentWithDots));
+# 15055 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4832 "../pars.fsy"
+ let (LongIdentWithDots(lid,dotms)) = _1 in LongIdentWithDots(lid @ [_3], dotms @ [rhs parseState 2])
+ )
+# 4832 "../pars.fsy"
+ : Ast.LongIdentWithDots));
+# 15067 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'ends_coming_soon_or_recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4835 "../pars.fsy"
+ if not _3 then reportParseErrorAt (rhs parseState 2) (FSComp.SR.parsExpectedNameAfterToken())
+ let (LongIdentWithDots(lid,dotms)) = _1 in LongIdentWithDots(lid, dotms @ [rhs parseState 2])
+ )
+# 4835 "../pars.fsy"
+ : Ast.LongIdentWithDots));
+# 15080 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'operatorName)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4842 "../pars.fsy"
+ ident(CompileOpName _2,rhs parseState 2)
+ )
+# 4842 "../pars.fsy"
+ : 'opName));
+# 15092 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4845 "../pars.fsy"
+ reportParseErrorAt (lhs parseState) (FSComp.SR.parsErrorParsingAsOperatorName()); ident(CompileOpName "****",rhs parseState 2)
+ )
+# 4845 "../pars.fsy"
+ : 'opName));
+# 15103 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4848 "../pars.fsy"
+ ident(CompileOpName "*",rhs parseState 1)
+ )
+# 4848 "../pars.fsy"
+ : 'opName));
+# 15113 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'activePatternCaseNames)) in
+ let _4 = (let data = parseState.GetInput(4) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4852 "../pars.fsy"
+ let text = ("|" + String.concat "|" (List.rev _2) + "|")
+ ident(text,rhs2 parseState 2 3)
+ )
+# 4852 "../pars.fsy"
+ : 'opName));
+# 15126 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'activePatternCaseNames)) in
+ let _6 = (let data = parseState.GetInput(6) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4857 "../pars.fsy"
+ let text = ("|" + String.concat "|" (List.rev _2) + "|_|" )
+ ident(text,rhs2 parseState 2 5)
+ )
+# 4857 "../pars.fsy"
+ : 'opName));
+# 15139 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4863 "../pars.fsy"
+ if not (IsValidPrefixOperatorDefinitionName _1) then
+ reportParseErrorAt (lhs parseState) (FSComp.SR.parsInvalidPrefixOperatorDefinition());
+ _1
+ )
+# 4863 "../pars.fsy"
+ : 'operatorName));
+# 15152 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4867 "../pars.fsy"
+ _1
+ )
+# 4867 "../pars.fsy"
+ : 'operatorName));
+# 15163 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4869 "../pars.fsy"
+ _1
+ )
+# 4869 "../pars.fsy"
+ : 'operatorName));
+# 15174 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4871 "../pars.fsy"
+ _1
+ )
+# 4871 "../pars.fsy"
+ : 'operatorName));
+# 15185 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4873 "../pars.fsy"
+ _1
+ )
+# 4873 "../pars.fsy"
+ : 'operatorName));
+# 15196 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4875 "../pars.fsy"
+ _1
+ )
+# 4875 "../pars.fsy"
+ : 'operatorName));
+# 15207 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4877 "../pars.fsy"
+ _1
+ )
+# 4877 "../pars.fsy"
+ : 'operatorName));
+# 15218 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4879 "../pars.fsy"
+ _1
+ )
+# 4879 "../pars.fsy"
+ : 'operatorName));
+# 15229 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4881 "../pars.fsy"
+ "$"
+ )
+# 4881 "../pars.fsy"
+ : 'operatorName));
+# 15239 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4883 "../pars.fsy"
+ _1
+ )
+# 4883 "../pars.fsy"
+ : 'operatorName));
+# 15250 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4885 "../pars.fsy"
+ "-"
+ )
+# 4885 "../pars.fsy"
+ : 'operatorName));
+# 15260 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4887 "../pars.fsy"
+ "*"
+ )
+# 4887 "../pars.fsy"
+ : 'operatorName));
+# 15270 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4889 "../pars.fsy"
+ "="
+ )
+# 4889 "../pars.fsy"
+ : 'operatorName));
+# 15280 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4891 "../pars.fsy"
+ "or"
+ )
+# 4891 "../pars.fsy"
+ : 'operatorName));
+# 15290 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4893 "../pars.fsy"
+ "<"
+ )
+# 4893 "../pars.fsy"
+ : 'operatorName));
+# 15301 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4895 "../pars.fsy"
+ ">"
+ )
+# 4895 "../pars.fsy"
+ : 'operatorName));
+# 15312 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4897 "../pars.fsy"
+ "?"
+ )
+# 4897 "../pars.fsy"
+ : 'operatorName));
+# 15322 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4899 "../pars.fsy"
+ "&"
+ )
+# 4899 "../pars.fsy"
+ : 'operatorName));
+# 15332 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4901 "../pars.fsy"
+ "&&"
+ )
+# 4901 "../pars.fsy"
+ : 'operatorName));
+# 15342 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4903 "../pars.fsy"
+ "||"
+ )
+# 4903 "../pars.fsy"
+ : 'operatorName));
+# 15352 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4905 "../pars.fsy"
+ ":="
+ )
+# 4905 "../pars.fsy"
+ : 'operatorName));
+# 15362 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4908 "../pars.fsy"
+ if _1 <> ".[]" && _1 <> ".()" && _1 <> ".()<-" then
+ deprecatedOperator (lhs parseState);
+ _1
+ )
+# 4908 "../pars.fsy"
+ : 'operatorName));
+# 15375 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4912 "../pars.fsy"
+ _1
+ )
+# 4912 "../pars.fsy"
+ : 'operatorName));
+# 15386 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4914 "../pars.fsy"
+ ".."
+ )
+# 4914 "../pars.fsy"
+ : 'operatorName));
+# 15396 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4916 "../pars.fsy"
+ ".. .."
+ )
+# 4916 "../pars.fsy"
+ : 'operatorName));
+# 15406 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string * bool)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : string * bool)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4919 "../pars.fsy"
+ if _1 <> _2 then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsMismatchedQuotationName(fst _1));
+ fst _1
+ )
+# 4919 "../pars.fsy"
+ : 'operatorName));
+# 15419 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4925 "../pars.fsy"
+ if not (String.isUpper _1) then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsActivePatternCaseMustBeginWithUpperCase());
+ if (_1.IndexOf('|') <> -1) then reportParseErrorAt (rhs parseState 1) (FSComp.SR.parsActivePatternCaseContainsPipe());
+ _1
+ )
+# 4925 "../pars.fsy"
+ : 'activePatternCaseName));
+# 15432 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'activePatternCaseName)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4932 "../pars.fsy"
+ [_2]
+ )
+# 4932 "../pars.fsy"
+ : 'activePatternCaseNames));
+# 15443 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'activePatternCaseNames)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'activePatternCaseName)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4935 "../pars.fsy"
+ _3 :: _1
+ )
+# 4935 "../pars.fsy"
+ : 'activePatternCaseNames));
+# 15455 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4940 "../pars.fsy"
+ _1
+ )
+# 4940 "../pars.fsy"
+ : 'identOrOp));
+# 15466 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opName)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4943 "../pars.fsy"
+ _1
+ )
+# 4943 "../pars.fsy"
+ : 'identOrOp));
+# 15477 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4949 "../pars.fsy"
+ LongIdentWithDots([_1],[])
+ )
+# 4949 "../pars.fsy"
+ : Ast.LongIdentWithDots));
+# 15488 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'opName)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4952 "../pars.fsy"
+ LongIdentWithDots([_1],[])
+ )
+# 4952 "../pars.fsy"
+ : Ast.LongIdentWithDots));
+# 15499 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.LongIdentWithDots)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4955 "../pars.fsy"
+ let (LongIdentWithDots(lid,dotms)) = _3 in LongIdentWithDots(_1 :: lid, rhs parseState 2 :: dotms)
+ )
+# 4955 "../pars.fsy"
+ : Ast.LongIdentWithDots));
+# 15511 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : Ast.Ident)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4958 "../pars.fsy"
+ (* silent recovery *) LongIdentWithDots([_1],[rhs parseState 2])
+ )
+# 4958 "../pars.fsy"
+ : Ast.LongIdentWithDots));
+# 15522 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'identOrOp)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4963 "../pars.fsy"
+ _1
+ )
+# 4963 "../pars.fsy"
+ : 'nameop));
+# 15533 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4966 "../pars.fsy"
+
+ )
+# 4966 "../pars.fsy"
+ : 'topSeparator));
+# 15543 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4967 "../pars.fsy"
+
+ )
+# 4967 "../pars.fsy"
+ : 'topSeparator));
+# 15553 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4968 "../pars.fsy"
+
+ )
+# 4968 "../pars.fsy"
+ : 'topSeparator));
+# 15563 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'topSeparator)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4971 "../pars.fsy"
+
+ )
+# 4971 "../pars.fsy"
+ : 'topSeparators));
+# 15574 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'topSeparator)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'topSeparators)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4972 "../pars.fsy"
+
+ )
+# 4972 "../pars.fsy"
+ : 'topSeparators));
+# 15586 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'topSeparator)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'opt_topSeparators)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4975 "../pars.fsy"
+
+ )
+# 4975 "../pars.fsy"
+ : 'opt_topSeparators));
+# 15598 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4976 "../pars.fsy"
+
+ )
+# 4976 "../pars.fsy"
+ : 'opt_topSeparators));
+# 15608 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4980 "../pars.fsy"
+
+ )
+# 4980 "../pars.fsy"
+ : 'seps));
+# 15618 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4981 "../pars.fsy"
+
+ )
+# 4981 "../pars.fsy"
+ : 'seps));
+# 15628 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4982 "../pars.fsy"
+
+ )
+# 4982 "../pars.fsy"
+ : 'seps));
+# 15638 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4983 "../pars.fsy"
+
+ )
+# 4983 "../pars.fsy"
+ : 'seps));
+# 15648 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4988 "../pars.fsy"
+
+ )
+# 4988 "../pars.fsy"
+ : 'declEnd));
+# 15658 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4990 "../pars.fsy"
+
+ )
+# 4990 "../pars.fsy"
+ : 'declEnd));
+# 15668 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4992 "../pars.fsy"
+
+ )
+# 4992 "../pars.fsy"
+ : 'declEnd));
+# 15678 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4997 "../pars.fsy"
+
+ )
+# 4997 "../pars.fsy"
+ : 'opt_declEnd));
+# 15688 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 4999 "../pars.fsy"
+
+ )
+# 4999 "../pars.fsy"
+ : 'opt_declEnd));
+# 15698 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5001 "../pars.fsy"
+
+ )
+# 5001 "../pars.fsy"
+ : 'opt_declEnd));
+# 15708 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5003 "../pars.fsy"
+
+ )
+# 5003 "../pars.fsy"
+ : 'opt_declEnd));
+# 15718 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5006 "../pars.fsy"
+
+ )
+# 5006 "../pars.fsy"
+ : 'opt_ODECLEND));
+# 15728 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5007 "../pars.fsy"
+
+ )
+# 5007 "../pars.fsy"
+ : 'opt_ODECLEND));
+# 15738 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5010 "../pars.fsy"
+ deprecatedWithError (FSComp.SR.parsNoEqualShouldFollowNamespace()) (lhs parseState); ()
+ )
+# 5010 "../pars.fsy"
+ : 'deprecated_opt_equals));
+# 15748 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5011 "../pars.fsy"
+
+ )
+# 5011 "../pars.fsy"
+ : 'deprecated_opt_equals));
+# 15758 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5014 "../pars.fsy"
+
+ )
+# 5014 "../pars.fsy"
+ : 'opt_OBLOCKSEP));
+# 15768 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5015 "../pars.fsy"
+
+ )
+# 5015 "../pars.fsy"
+ : 'opt_OBLOCKSEP));
+# 15778 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'seps)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5018 "../pars.fsy"
+
+ )
+# 5018 "../pars.fsy"
+ : 'opt_seps));
+# 15789 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5019 "../pars.fsy"
+
+ )
+# 5019 "../pars.fsy"
+ : 'opt_seps));
+# 15799 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5022 "../pars.fsy"
+ true
+ )
+# 5022 "../pars.fsy"
+ : 'opt_rec));
+# 15809 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5023 "../pars.fsy"
+ false
+ )
+# 5023 "../pars.fsy"
+ : 'opt_rec));
+# 15819 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5026 "../pars.fsy"
+
+ )
+# 5026 "../pars.fsy"
+ : 'opt_bar));
+# 15829 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5027 "../pars.fsy"
+
+ )
+# 5027 "../pars.fsy"
+ : 'opt_bar));
+# 15839 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5030 "../pars.fsy"
+ true
+ )
+# 5030 "../pars.fsy"
+ : 'opt_inline));
+# 15849 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5031 "../pars.fsy"
+ false
+ )
+# 5031 "../pars.fsy"
+ : 'opt_inline));
+# 15859 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5034 "../pars.fsy"
+ true
+ )
+# 5034 "../pars.fsy"
+ : 'opt_mutable));
+# 15869 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5035 "../pars.fsy"
+ false
+ )
+# 5035 "../pars.fsy"
+ : 'opt_mutable));
+# 15879 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5039 "../pars.fsy"
+
+ )
+# 5039 "../pars.fsy"
+ : 'doToken));
+# 15889 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5040 "../pars.fsy"
+
+ )
+# 5040 "../pars.fsy"
+ : 'doToken));
+# 15899 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5043 "../pars.fsy"
+
+ )
+# 5043 "../pars.fsy"
+ : 'doneDeclEnd));
+# 15909 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5044 "../pars.fsy"
+
+ )
+# 5044 "../pars.fsy"
+ : 'doneDeclEnd));
+# 15919 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5047 "../pars.fsy"
+ mlCompatWarning (FSComp.SR.parsSyntaxModuleStructEndDeprecated()) (lhs parseState);
+ )
+# 5047 "../pars.fsy"
+ : 'structOrBegin));
+# 15929 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5048 "../pars.fsy"
+
+ )
+# 5048 "../pars.fsy"
+ : 'structOrBegin));
+# 15939 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5051 "../pars.fsy"
+ mlCompatWarning (FSComp.SR.parsSyntaxModuleSigEndDeprecated()) (lhs parseState);
+ )
+# 5051 "../pars.fsy"
+ : 'sigOrBegin));
+# 15949 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5052 "../pars.fsy"
+
+ )
+# 5052 "../pars.fsy"
+ : 'sigOrBegin));
+# 15959 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5055 "../pars.fsy"
+ mlCompatWarning (FSComp.SR.parsSyntaxModuleSigEndDeprecated()) (lhs parseState);
+ )
+# 5055 "../pars.fsy"
+ : 'colonOrEquals));
+# 15969 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5056 "../pars.fsy"
+
+ )
+# 5056 "../pars.fsy"
+ : 'colonOrEquals));
+# 15979 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5060 "../pars.fsy"
+ _1
+ )
+# 5060 "../pars.fsy"
+ : 'stringOrKeywordString));
+# 15990 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5061 "../pars.fsy"
+ _1
+ )
+# 5061 "../pars.fsy"
+ : 'stringOrKeywordString));
+# 16001 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5064 "../pars.fsy"
+
+ )
+# 5064 "../pars.fsy"
+ : 'opt_HIGH_PRECEDENCE_APP));
+# 16011 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5065 "../pars.fsy"
+
+ )
+# 5065 "../pars.fsy"
+ : 'opt_HIGH_PRECEDENCE_APP));
+# 16021 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5066 "../pars.fsy"
+
+ )
+# 5066 "../pars.fsy"
+ : 'opt_HIGH_PRECEDENCE_APP));
+# 16031 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5069 "../pars.fsy"
+
+ )
+# 5069 "../pars.fsy"
+ : 'opt_HIGH_PRECEDENCE_TYAPP));
+# 16041 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5070 "../pars.fsy"
+
+ )
+# 5070 "../pars.fsy"
+ : 'opt_HIGH_PRECEDENCE_TYAPP));
+# 16051 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'typeKeyword)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5074 "../pars.fsy"
+
+ )
+# 5074 "../pars.fsy"
+ : 'typeKeyword));
+# 16062 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5075 "../pars.fsy"
+
+ )
+# 5075 "../pars.fsy"
+ : 'typeKeyword));
+# 16072 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5076 "../pars.fsy"
+
+ )
+# 5076 "../pars.fsy"
+ : 'typeKeyword));
+# 16082 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'moduleKeyword)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5080 "../pars.fsy"
+
+ )
+# 5080 "../pars.fsy"
+ : 'moduleKeyword));
+# 16093 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5081 "../pars.fsy"
+
+ )
+# 5081 "../pars.fsy"
+ : 'moduleKeyword));
+# 16103 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5082 "../pars.fsy"
+
+ )
+# 5082 "../pars.fsy"
+ : 'moduleKeyword));
+# 16113 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'rbrace)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5085 "../pars.fsy"
+
+ )
+# 5085 "../pars.fsy"
+ : 'rbrace));
+# 16124 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5086 "../pars.fsy"
+
+ )
+# 5086 "../pars.fsy"
+ : 'rbrace));
+# 16134 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5087 "../pars.fsy"
+
+ )
+# 5087 "../pars.fsy"
+ : 'rbrace));
+# 16144 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5090 "../pars.fsy"
+
+ )
+# 5090 "../pars.fsy"
+ : 'bar_rbrace));
+# 16154 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'rparen)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5093 "../pars.fsy"
+
+ )
+# 5093 "../pars.fsy"
+ : 'rparen));
+# 16165 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5094 "../pars.fsy"
+
+ )
+# 5094 "../pars.fsy"
+ : 'rparen));
+# 16175 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5095 "../pars.fsy"
+
+ )
+# 5095 "../pars.fsy"
+ : 'rparen));
+# 16185 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'oblockend)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5098 "../pars.fsy"
+
+ )
+# 5098 "../pars.fsy"
+ : 'oblockend));
+# 16196 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5099 "../pars.fsy"
+
+ )
+# 5099 "../pars.fsy"
+ : 'oblockend));
+# 16206 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5100 "../pars.fsy"
+
+ )
+# 5100 "../pars.fsy"
+ : 'oblockend));
+# 16216 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5103 "../pars.fsy"
+ false
+ )
+# 5103 "../pars.fsy"
+ : 'ends_other_than_rparen_coming_soon_or_recover));
+# 16226 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5104 "../pars.fsy"
+ false
+ )
+# 5104 "../pars.fsy"
+ : 'ends_other_than_rparen_coming_soon_or_recover));
+# 16236 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5105 "../pars.fsy"
+ false
+ )
+# 5105 "../pars.fsy"
+ : 'ends_other_than_rparen_coming_soon_or_recover));
+# 16246 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5106 "../pars.fsy"
+ false
+ )
+# 5106 "../pars.fsy"
+ : 'ends_other_than_rparen_coming_soon_or_recover));
+# 16256 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5107 "../pars.fsy"
+ _1
+ )
+# 5107 "../pars.fsy"
+ : 'ends_other_than_rparen_coming_soon_or_recover));
+# 16267 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5110 "../pars.fsy"
+ false
+ )
+# 5110 "../pars.fsy"
+ : 'ends_coming_soon_or_recover));
+# 16277 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5111 "../pars.fsy"
+ false
+ )
+# 5111 "../pars.fsy"
+ : 'ends_coming_soon_or_recover));
+# 16287 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5112 "../pars.fsy"
+ false
+ )
+# 5112 "../pars.fsy"
+ : 'ends_coming_soon_or_recover));
+# 16297 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5113 "../pars.fsy"
+ false
+ )
+# 5113 "../pars.fsy"
+ : 'ends_coming_soon_or_recover));
+# 16307 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5114 "../pars.fsy"
+ false
+ )
+# 5114 "../pars.fsy"
+ : 'ends_coming_soon_or_recover));
+# 16317 "pars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 5115 "../pars.fsy"
+ _1
+ )
+# 5115 "../pars.fsy"
+ : 'ends_coming_soon_or_recover));
+|]
+# 16329 "pars.fs"
+let tables () : Internal.Utilities.Text.Parsing.Tables<_> =
+ { reductions= _fsyacc_reductions ();
+ endOfInputTag = _fsyacc_endOfInputTag;
+ tagOfToken = tagOfToken;
+ dataOfToken = _fsyacc_dataOfToken;
+ actionTableElements = _fsyacc_actionTableElements;
+ actionTableRowOffsets = _fsyacc_actionTableRowOffsets;
+ stateToProdIdxsTableElements = _fsyacc_stateToProdIdxsTableElements;
+ stateToProdIdxsTableRowOffsets = _fsyacc_stateToProdIdxsTableRowOffsets;
+ reductionSymbolCounts = _fsyacc_reductionSymbolCounts;
+ immediateActions = _fsyacc_immediateActions;
+ gotos = _fsyacc_gotos;
+ sparseGotoTableRowOffsets = _fsyacc_sparseGotoTableRowOffsets;
+ tagOfErrorTerminal = _fsyacc_tagOfErrorTerminal;
+ parseError = (fun (ctxt:Internal.Utilities.Text.Parsing.ParseErrorContext<_>) ->
+ match parse_error_rich with
+ | Some f -> f ctxt
+ | None -> parse_error ctxt.Message);
+ numTerminals = 198;
+ productionToNonTerminalTable = _fsyacc_productionToNonTerminalTable }
+let engine lexer lexbuf startState = (tables ()).Interpret(lexer, lexbuf, startState)
+let signatureFile lexer lexbuf : Ast.ParsedSigFile =
+ Microsoft.FSharp.Core.Operators.unbox ((tables ()).Interpret(lexer, lexbuf, 0))
+let implementationFile lexer lexbuf : Ast.ParsedImplFile =
+ Microsoft.FSharp.Core.Operators.unbox ((tables ()).Interpret(lexer, lexbuf, 2))
+let interaction lexer lexbuf : Ast.ParsedFsiInteraction =
+ Microsoft.FSharp.Core.Operators.unbox ((tables ()).Interpret(lexer, lexbuf, 4))
+let typedSeqExprEOF lexer lexbuf : Ast.SynExpr =
+ Microsoft.FSharp.Core.Operators.unbox ((tables ()).Interpret(lexer, lexbuf, 6))
+let typEOF lexer lexbuf : Ast.SynType =
+ Microsoft.FSharp.Core.Operators.unbox ((tables ()).Interpret(lexer, lexbuf, 8))
diff --git a/src/fsharp/FSharp.Compiler.Private/pars.fsi b/src/fsharp/FSharp.Compiler.Private/pars.fsi
new file mode 100644
index 0000000000..ca4e02c1c8
--- /dev/null
+++ b/src/fsharp/FSharp.Compiler.Private/pars.fsi
@@ -0,0 +1,741 @@
+// Signature file for parser generated by fsyacc
+module internal FSharp.Compiler.Parser
+open FSharp.Compiler
+type token =
+ | HASH_IF of (range * string * Ast.LexerWhitespaceContinuation)
+ | HASH_ELSE of (range * string * Ast.LexerWhitespaceContinuation)
+ | HASH_ENDIF of (range * string * Ast.LexerWhitespaceContinuation)
+ | COMMENT of (Ast.LexerWhitespaceContinuation)
+ | WHITESPACE of (Ast.LexerWhitespaceContinuation)
+ | HASH_LINE of (Ast.LexerWhitespaceContinuation)
+ | HASH_LIGHT of (Ast.LexerWhitespaceContinuation)
+ | INACTIVECODE of (Ast.LexerWhitespaceContinuation)
+ | LINE_COMMENT of (Ast.LexerWhitespaceContinuation)
+ | STRING_TEXT of (Ast.LexerWhitespaceContinuation)
+ | EOF of (Ast.LexerWhitespaceContinuation)
+ | LEX_FAILURE of (string)
+ | ODUMMY of (token)
+ | FIXED
+ | OINTERFACE_MEMBER
+ | OBLOCKEND
+ | OBLOCKEND_COMING_SOON
+ | OBLOCKEND_IS_HERE
+ | ORIGHT_BLOCK_END
+ | ODECLEND
+ | OEND
+ | OBLOCKSEP
+ | OBLOCKBEGIN
+ | ORESET
+ | OFUN
+ | OFUNCTION
+ | OWITH
+ | OELSE
+ | OTHEN
+ | ODO_BANG
+ | ODO
+ | OBINDER of (string)
+ | OLET of (bool)
+ | HIGH_PRECEDENCE_TYAPP
+ | HIGH_PRECEDENCE_PAREN_APP
+ | HIGH_PRECEDENCE_BRACK_APP
+ | TYPE_COMING_SOON
+ | TYPE_IS_HERE
+ | MODULE_COMING_SOON
+ | MODULE_IS_HERE
+ | EXTERN
+ | VOID
+ | PUBLIC
+ | PRIVATE
+ | INTERNAL
+ | GLOBAL
+ | STATIC
+ | MEMBER
+ | CLASS
+ | ABSTRACT
+ | OVERRIDE
+ | DEFAULT
+ | CONSTRUCTOR
+ | INHERIT
+ | GREATER_RBRACK
+ | STRUCT
+ | SIG
+ | BAR
+ | RBRACK
+ | RBRACE
+ | RBRACE_COMING_SOON
+ | RBRACE_IS_HERE
+ | MINUS
+ | DOLLAR
+ | BAR_RBRACK
+ | BAR_RBRACE
+ | UNDERSCORE
+ | SEMICOLON_SEMICOLON
+ | LARROW
+ | EQUALS
+ | LBRACK
+ | LBRACK_BAR
+ | LBRACE_BAR
+ | LBRACK_LESS
+ | LBRACE
+ | QMARK
+ | QMARK_QMARK
+ | DOT
+ | COLON
+ | COLON_COLON
+ | COLON_GREATER
+ | COLON_QMARK_GREATER
+ | COLON_QMARK
+ | COLON_EQUALS
+ | SEMICOLON
+ | WHEN
+ | WHILE
+ | WITH
+ | HASH
+ | AMP
+ | AMP_AMP
+ | QUOTE
+ | LPAREN
+ | RPAREN
+ | RPAREN_COMING_SOON
+ | RPAREN_IS_HERE
+ | STAR
+ | COMMA
+ | RARROW
+ | GREATER_BAR_RBRACK
+ | LPAREN_STAR_RPAREN
+ | OPEN
+ | OR
+ | REC
+ | THEN
+ | TO
+ | TRUE
+ | TRY
+ | TYPE
+ | VAL
+ | INLINE
+ | INTERFACE
+ | INSTANCE
+ | CONST
+ | LAZY
+ | OLAZY
+ | MATCH
+ | MATCH_BANG
+ | MUTABLE
+ | NEW
+ | OF
+ | EXCEPTION
+ | FALSE
+ | FOR
+ | FUN
+ | FUNCTION
+ | IF
+ | IN
+ | JOIN_IN
+ | FINALLY
+ | DO_BANG
+ | AND
+ | AS
+ | ASSERT
+ | OASSERT
+ | ASR
+ | BEGIN
+ | DO
+ | DONE
+ | DOWNTO
+ | ELSE
+ | ELIF
+ | END
+ | DOT_DOT
+ | DOT_DOT_HAT
+ | BAR_BAR
+ | UPCAST
+ | DOWNCAST
+ | NULL
+ | RESERVED
+ | MODULE
+ | NAMESPACE
+ | DELEGATE
+ | CONSTRAINT
+ | BASE
+ | LQUOTE of (string * bool)
+ | RQUOTE of (string * bool)
+ | RQUOTE_DOT of (string * bool)
+ | PERCENT_OP of (string)
+ | BINDER of (string)
+ | LESS of (bool)
+ | GREATER of (bool)
+ | LET of (bool)
+ | YIELD of (bool)
+ | YIELD_BANG of (bool)
+ | BIGNUM of ((string * string))
+ | DECIMAL of (System.Decimal)
+ | CHAR of (char)
+ | IEEE64 of (double)
+ | IEEE32 of (single)
+ | NATIVEINT of (int64)
+ | UNATIVEINT of (uint64)
+ | UINT64 of (uint64)
+ | UINT32 of (uint32)
+ | UINT16 of (uint16)
+ | UINT8 of (byte)
+ | INT64 of (int64 * bool)
+ | INT32 of (int32 * bool)
+ | INT32_DOT_DOT of (int32 * bool)
+ | INT16 of (int16 * bool)
+ | INT8 of (sbyte * bool)
+ | FUNKY_OPERATOR_NAME of (string)
+ | ADJACENT_PREFIX_OP of (string)
+ | PLUS_MINUS_OP of (string)
+ | INFIX_AMP_OP of (string)
+ | INFIX_STAR_DIV_MOD_OP of (string)
+ | PREFIX_OP of (string)
+ | INFIX_BAR_OP of (string)
+ | INFIX_AT_HAT_OP of (string)
+ | INFIX_COMPARE_OP of (string)
+ | INFIX_STAR_STAR_OP of (string)
+ | IDENT of (string)
+ | KEYWORD_STRING of (string)
+ | STRING of (string)
+ | BYTEARRAY of (byte[])
+type tokenId =
+ | TOKEN_HASH_IF
+ | TOKEN_HASH_ELSE
+ | TOKEN_HASH_ENDIF
+ | TOKEN_COMMENT
+ | TOKEN_WHITESPACE
+ | TOKEN_HASH_LINE
+ | TOKEN_HASH_LIGHT
+ | TOKEN_INACTIVECODE
+ | TOKEN_LINE_COMMENT
+ | TOKEN_STRING_TEXT
+ | TOKEN_EOF
+ | TOKEN_LEX_FAILURE
+ | TOKEN_ODUMMY
+ | TOKEN_FIXED
+ | TOKEN_OINTERFACE_MEMBER
+ | TOKEN_OBLOCKEND
+ | TOKEN_OBLOCKEND_COMING_SOON
+ | TOKEN_OBLOCKEND_IS_HERE
+ | TOKEN_ORIGHT_BLOCK_END
+ | TOKEN_ODECLEND
+ | TOKEN_OEND
+ | TOKEN_OBLOCKSEP
+ | TOKEN_OBLOCKBEGIN
+ | TOKEN_ORESET
+ | TOKEN_OFUN
+ | TOKEN_OFUNCTION
+ | TOKEN_OWITH
+ | TOKEN_OELSE
+ | TOKEN_OTHEN
+ | TOKEN_ODO_BANG
+ | TOKEN_ODO
+ | TOKEN_OBINDER
+ | TOKEN_OLET
+ | TOKEN_HIGH_PRECEDENCE_TYAPP
+ | TOKEN_HIGH_PRECEDENCE_PAREN_APP
+ | TOKEN_HIGH_PRECEDENCE_BRACK_APP
+ | TOKEN_TYPE_COMING_SOON
+ | TOKEN_TYPE_IS_HERE
+ | TOKEN_MODULE_COMING_SOON
+ | TOKEN_MODULE_IS_HERE
+ | TOKEN_EXTERN
+ | TOKEN_VOID
+ | TOKEN_PUBLIC
+ | TOKEN_PRIVATE
+ | TOKEN_INTERNAL
+ | TOKEN_GLOBAL
+ | TOKEN_STATIC
+ | TOKEN_MEMBER
+ | TOKEN_CLASS
+ | TOKEN_ABSTRACT
+ | TOKEN_OVERRIDE
+ | TOKEN_DEFAULT
+ | TOKEN_CONSTRUCTOR
+ | TOKEN_INHERIT
+ | TOKEN_GREATER_RBRACK
+ | TOKEN_STRUCT
+ | TOKEN_SIG
+ | TOKEN_BAR
+ | TOKEN_RBRACK
+ | TOKEN_RBRACE
+ | TOKEN_RBRACE_COMING_SOON
+ | TOKEN_RBRACE_IS_HERE
+ | TOKEN_MINUS
+ | TOKEN_DOLLAR
+ | TOKEN_BAR_RBRACK
+ | TOKEN_BAR_RBRACE
+ | TOKEN_UNDERSCORE
+ | TOKEN_SEMICOLON_SEMICOLON
+ | TOKEN_LARROW
+ | TOKEN_EQUALS
+ | TOKEN_LBRACK
+ | TOKEN_LBRACK_BAR
+ | TOKEN_LBRACE_BAR
+ | TOKEN_LBRACK_LESS
+ | TOKEN_LBRACE
+ | TOKEN_QMARK
+ | TOKEN_QMARK_QMARK
+ | TOKEN_DOT
+ | TOKEN_COLON
+ | TOKEN_COLON_COLON
+ | TOKEN_COLON_GREATER
+ | TOKEN_COLON_QMARK_GREATER
+ | TOKEN_COLON_QMARK
+ | TOKEN_COLON_EQUALS
+ | TOKEN_SEMICOLON
+ | TOKEN_WHEN
+ | TOKEN_WHILE
+ | TOKEN_WITH
+ | TOKEN_HASH
+ | TOKEN_AMP
+ | TOKEN_AMP_AMP
+ | TOKEN_QUOTE
+ | TOKEN_LPAREN
+ | TOKEN_RPAREN
+ | TOKEN_RPAREN_COMING_SOON
+ | TOKEN_RPAREN_IS_HERE
+ | TOKEN_STAR
+ | TOKEN_COMMA
+ | TOKEN_RARROW
+ | TOKEN_GREATER_BAR_RBRACK
+ | TOKEN_LPAREN_STAR_RPAREN
+ | TOKEN_OPEN
+ | TOKEN_OR
+ | TOKEN_REC
+ | TOKEN_THEN
+ | TOKEN_TO
+ | TOKEN_TRUE
+ | TOKEN_TRY
+ | TOKEN_TYPE
+ | TOKEN_VAL
+ | TOKEN_INLINE
+ | TOKEN_INTERFACE
+ | TOKEN_INSTANCE
+ | TOKEN_CONST
+ | TOKEN_LAZY
+ | TOKEN_OLAZY
+ | TOKEN_MATCH
+ | TOKEN_MATCH_BANG
+ | TOKEN_MUTABLE
+ | TOKEN_NEW
+ | TOKEN_OF
+ | TOKEN_EXCEPTION
+ | TOKEN_FALSE
+ | TOKEN_FOR
+ | TOKEN_FUN
+ | TOKEN_FUNCTION
+ | TOKEN_IF
+ | TOKEN_IN
+ | TOKEN_JOIN_IN
+ | TOKEN_FINALLY
+ | TOKEN_DO_BANG
+ | TOKEN_AND
+ | TOKEN_AS
+ | TOKEN_ASSERT
+ | TOKEN_OASSERT
+ | TOKEN_ASR
+ | TOKEN_BEGIN
+ | TOKEN_DO
+ | TOKEN_DONE
+ | TOKEN_DOWNTO
+ | TOKEN_ELSE
+ | TOKEN_ELIF
+ | TOKEN_END
+ | TOKEN_DOT_DOT
+ | TOKEN_DOT_DOT_HAT
+ | TOKEN_BAR_BAR
+ | TOKEN_UPCAST
+ | TOKEN_DOWNCAST
+ | TOKEN_NULL
+ | TOKEN_RESERVED
+ | TOKEN_MODULE
+ | TOKEN_NAMESPACE
+ | TOKEN_DELEGATE
+ | TOKEN_CONSTRAINT
+ | TOKEN_BASE
+ | TOKEN_LQUOTE
+ | TOKEN_RQUOTE
+ | TOKEN_RQUOTE_DOT
+ | TOKEN_PERCENT_OP
+ | TOKEN_BINDER
+ | TOKEN_LESS
+ | TOKEN_GREATER
+ | TOKEN_LET
+ | TOKEN_YIELD
+ | TOKEN_YIELD_BANG
+ | TOKEN_BIGNUM
+ | TOKEN_DECIMAL
+ | TOKEN_CHAR
+ | TOKEN_IEEE64
+ | TOKEN_IEEE32
+ | TOKEN_NATIVEINT
+ | TOKEN_UNATIVEINT
+ | TOKEN_UINT64
+ | TOKEN_UINT32
+ | TOKEN_UINT16
+ | TOKEN_UINT8
+ | TOKEN_INT64
+ | TOKEN_INT32
+ | TOKEN_INT32_DOT_DOT
+ | TOKEN_INT16
+ | TOKEN_INT8
+ | TOKEN_FUNKY_OPERATOR_NAME
+ | TOKEN_ADJACENT_PREFIX_OP
+ | TOKEN_PLUS_MINUS_OP
+ | TOKEN_INFIX_AMP_OP
+ | TOKEN_INFIX_STAR_DIV_MOD_OP
+ | TOKEN_PREFIX_OP
+ | TOKEN_INFIX_BAR_OP
+ | TOKEN_INFIX_AT_HAT_OP
+ | TOKEN_INFIX_COMPARE_OP
+ | TOKEN_INFIX_STAR_STAR_OP
+ | TOKEN_IDENT
+ | TOKEN_KEYWORD_STRING
+ | TOKEN_STRING
+ | TOKEN_BYTEARRAY
+ | TOKEN_end_of_input
+ | TOKEN_error
+type nonTerminalId =
+ | NONTERM__startsignatureFile
+ | NONTERM__startimplementationFile
+ | NONTERM__startinteraction
+ | NONTERM__starttypedSeqExprEOF
+ | NONTERM__starttypEOF
+ | NONTERM_interaction
+ | NONTERM_interactiveTerminator
+ | NONTERM_interactiveItemsTerminator
+ | NONTERM_interactiveDefns
+ | NONTERM_interactiveExpr
+ | NONTERM_interactiveHash
+ | NONTERM_interactiveSeparators
+ | NONTERM_interactiveSeparator
+ | NONTERM_hashDirective
+ | NONTERM_hashDirectiveArgs
+ | NONTERM_hashDirectiveArg
+ | NONTERM_signatureFile
+ | NONTERM_moduleIntro
+ | NONTERM_namespaceIntro
+ | NONTERM_fileNamespaceSpecs
+ | NONTERM_fileNamespaceSpecList
+ | NONTERM_fileNamespaceSpec
+ | NONTERM_fileModuleSpec
+ | NONTERM_moduleSpfnsPossiblyEmptyBlock
+ | NONTERM_moduleSpfnsPossiblyEmpty
+ | NONTERM_moduleSpfns
+ | NONTERM_moduleSpfn
+ | NONTERM_valSpfn
+ | NONTERM_optLiteralValueSpfn
+ | NONTERM_moduleSpecBlock
+ | NONTERM_tyconSpfns
+ | NONTERM_tyconSpfnList
+ | NONTERM_tyconSpfn
+ | NONTERM_tyconSpfnRhsBlock
+ | NONTERM_tyconSpfnRhs
+ | NONTERM_tyconClassSpfn
+ | NONTERM_classSpfnBlockKindUnspecified
+ | NONTERM_classSpfnBlock
+ | NONTERM_classSpfnMembers
+ | NONTERM_classSpfnMembersAtLeastOne
+ | NONTERM_classMemberSpfn
+ | NONTERM_classMemberSpfnGetSet
+ | NONTERM_classMemberSpfnGetSetElements
+ | NONTERM_memberSpecFlags
+ | NONTERM_exconSpfn
+ | NONTERM_opt_classSpfn
+ | NONTERM_implementationFile
+ | NONTERM_fileNamespaceImpls
+ | NONTERM_fileNamespaceImplList
+ | NONTERM_fileNamespaceImpl
+ | NONTERM_fileModuleImpl
+ | NONTERM_moduleDefnsOrExprPossiblyEmptyOrBlock
+ | NONTERM_moduleDefnsOrExprPossiblyEmpty
+ | NONTERM_moduleDefnsOrExpr
+ | NONTERM_moduleDefns
+ | NONTERM_moduleDefnOrDirective
+ | NONTERM_moduleDefn
+ | NONTERM_namedModuleAbbrevBlock
+ | NONTERM_namedModuleDefnBlock
+ | NONTERM_wrappedNamedModuleDefn
+ | NONTERM_tyconDefnAugmentation
+ | NONTERM_opt_attributes
+ | NONTERM_attributes
+ | NONTERM_attributeList
+ | NONTERM_attributeListElements
+ | NONTERM_attribute
+ | NONTERM_attributeTarget
+ | NONTERM_memberFlags
+ | NONTERM_typeNameInfo
+ | NONTERM_tyconDefnList
+ | NONTERM_tyconDefn
+ | NONTERM_tyconDefnRhsBlock
+ | NONTERM_tyconDefnRhs
+ | NONTERM_tyconClassDefn
+ | NONTERM_classDefnBlockKindUnspecified
+ | NONTERM_classDefnBlock
+ | NONTERM_classDefnMembers
+ | NONTERM_classDefnMembersAtLeastOne
+ | NONTERM_classDefnMemberGetSet
+ | NONTERM_classDefnMemberGetSetElements
+ | NONTERM_classDefnMemberGetSetElement
+ | NONTERM_memberCore
+ | NONTERM_abstractMemberFlags
+ | NONTERM_classDefnMember
+ | NONTERM_valDefnDecl
+ | NONTERM_autoPropsDefnDecl
+ | NONTERM_opt_typ
+ | NONTERM_atomicPatternLongIdent
+ | NONTERM_opt_access
+ | NONTERM_access
+ | NONTERM_opt_declVisibility
+ | NONTERM_opt_interfaceImplDefn
+ | NONTERM_opt_classDefn
+ | NONTERM_inheritsDefn
+ | NONTERM_optAsSpec
+ | NONTERM_asSpec
+ | NONTERM_optBaseSpec
+ | NONTERM_baseSpec
+ | NONTERM_objectImplementationBlock
+ | NONTERM_objectImplementationMembers
+ | NONTERM_objectImplementationMember
+ | NONTERM_memberOrOverride
+ | NONTERM_tyconDefnOrSpfnSimpleRepr
+ | NONTERM_braceFieldDeclList
+ | NONTERM_anonRecdType
+ | NONTERM_braceBarFieldDeclListCore
+ | NONTERM_inlineAssemblyTyconRepr
+ | NONTERM_classOrInterfaceOrStruct
+ | NONTERM_interfaceMember
+ | NONTERM_tyconNameAndTyparDecls
+ | NONTERM_prefixTyparDecls
+ | NONTERM_typarDeclList
+ | NONTERM_typarDecl
+ | NONTERM_postfixTyparDecls
+ | NONTERM_explicitValTyparDeclsCore
+ | NONTERM_explicitValTyparDecls
+ | NONTERM_opt_explicitValTyparDecls
+ | NONTERM_opt_explicitValTyparDecls2
+ | NONTERM_opt_typeConstraints
+ | NONTERM_typeConstraints
+ | NONTERM_typeConstraint
+ | NONTERM_typarAlts
+ | NONTERM_unionTypeRepr
+ | NONTERM_barAndgrabXmlDoc
+ | NONTERM_attrUnionCaseDecls
+ | NONTERM_attrUnionCaseDecl
+ | NONTERM_unionCaseName
+ | NONTERM_firstUnionCaseDeclOfMany
+ | NONTERM_firstUnionCaseDecl
+ | NONTERM_unionCaseReprElements
+ | NONTERM_unionCaseReprElement
+ | NONTERM_unionCaseRepr
+ | NONTERM_recdFieldDeclList
+ | NONTERM_recdFieldDecl
+ | NONTERM_fieldDecl
+ | NONTERM_exconDefn
+ | NONTERM_exceptionAndGrabDoc
+ | NONTERM_exconCore
+ | NONTERM_exconIntro
+ | NONTERM_exconRepr
+ | NONTERM_openDecl
+ | NONTERM_defnBindings
+ | NONTERM_doBinding
+ | NONTERM_hardwhiteLetBindings
+ | NONTERM_hardwhiteDoBinding
+ | NONTERM_classDefnBindings
+ | NONTERM_hardwhiteDefnBindingsTerminator
+ | NONTERM_cPrototype
+ | NONTERM_cArgs
+ | NONTERM_cMoreArgs
+ | NONTERM_cArg
+ | NONTERM_cType
+ | NONTERM_cRetType
+ | NONTERM_localBindings
+ | NONTERM_moreLocalBindings
+ | NONTERM_attr_localBinding
+ | NONTERM_localBinding
+ | NONTERM_typedExprWithStaticOptimizationsBlock
+ | NONTERM_typedExprWithStaticOptimizations
+ | NONTERM_opt_staticOptimizations
+ | NONTERM_staticOptimization
+ | NONTERM_staticOptimizationConditions
+ | NONTERM_staticOptimizationCondition
+ | NONTERM_rawConstant
+ | NONTERM_rationalConstant
+ | NONTERM_atomicUnsignedRationalConstant
+ | NONTERM_atomicRationalConstant
+ | NONTERM_constant
+ | NONTERM_bindingPattern
+ | NONTERM_simplePattern
+ | NONTERM_simplePatternCommaList
+ | NONTERM_simplePatterns
+ | NONTERM_headBindingPattern
+ | NONTERM_tuplePatternElements
+ | NONTERM_conjPatternElements
+ | NONTERM_namePatPairs
+ | NONTERM_namePatPair
+ | NONTERM_constrPattern
+ | NONTERM_atomicPatsOrNamePatPairs
+ | NONTERM_atomicPatterns
+ | NONTERM_atomicPattern
+ | NONTERM_parenPatternBody
+ | NONTERM_parenPattern
+ | NONTERM_tupleParenPatternElements
+ | NONTERM_conjParenPatternElements
+ | NONTERM_recordPatternElementsAux
+ | NONTERM_recordPatternElement
+ | NONTERM_listPatternElements
+ | NONTERM_typedSeqExprBlock
+ | NONTERM_declExprBlock
+ | NONTERM_typedSeqExprBlockR
+ | NONTERM_typedSeqExpr
+ | NONTERM_typedSeqExprEOF
+ | NONTERM_seqExpr
+ | NONTERM_recover
+ | NONTERM_declExpr
+ | NONTERM_dynamicArg
+ | NONTERM_withClauses
+ | NONTERM_withPatternClauses
+ | NONTERM_patternAndGuard
+ | NONTERM_patternClauses
+ | NONTERM_patternGuard
+ | NONTERM_patternResult
+ | NONTERM_ifExprCases
+ | NONTERM_ifExprThen
+ | NONTERM_ifExprElifs
+ | NONTERM_tupleExpr
+ | NONTERM_minusExpr
+ | NONTERM_appExpr
+ | NONTERM_argExpr
+ | NONTERM_atomicExpr
+ | NONTERM_atomicExprQualification
+ | NONTERM_optRangeSeqExpr
+ | NONTERM_optRange
+ | NONTERM_rangeDeclExpr
+ | NONTERM_atomicExprAfterType
+ | NONTERM_beginEndExpr
+ | NONTERM_quoteExpr
+ | NONTERM_arrayExpr
+ | NONTERM_parenExpr
+ | NONTERM_parenExprBody
+ | NONTERM_staticallyKnownHeadTypars
+ | NONTERM_staticallyKnownHeadTyparAlts
+ | NONTERM_braceExpr
+ | NONTERM_braceExprBody
+ | NONTERM_listExprElements
+ | NONTERM_monadicExprInitial
+ | NONTERM_rangeSequenceExpr
+ | NONTERM_arrowThenExprR
+ | NONTERM_forLoopBinder
+ | NONTERM_forLoopRange
+ | NONTERM_forLoopDirection
+ | NONTERM_inlineAssemblyExpr
+ | NONTERM_opt_curriedArgExprs
+ | NONTERM_opt_atomicExprAfterType
+ | NONTERM_opt_inlineAssemblyTypeArg
+ | NONTERM_opt_inlineAssemblyReturnTypes
+ | NONTERM_recdExpr
+ | NONTERM_recdExprCore
+ | NONTERM_opt_seps_recd
+ | NONTERM_seps_recd
+ | NONTERM_pathOrUnderscore
+ | NONTERM_recdExprBindings
+ | NONTERM_recdBinding
+ | NONTERM_objExpr
+ | NONTERM_objExprBaseCall
+ | NONTERM_opt_objExprBindings
+ | NONTERM_objExprBindings
+ | NONTERM_objExprInterfaces
+ | NONTERM_opt_objExprInterfaces
+ | NONTERM_objExprInterface
+ | NONTERM_braceBarExpr
+ | NONTERM_braceBarExprCore
+ | NONTERM_anonLambdaExpr
+ | NONTERM_anonMatchingExpr
+ | NONTERM_typeWithTypeConstraints
+ | NONTERM_topTypeWithTypeConstraints
+ | NONTERM_opt_topReturnTypeWithTypeConstraints
+ | NONTERM_topType
+ | NONTERM_topTupleType
+ | NONTERM_topTupleTypeElements
+ | NONTERM_topAppType
+ | NONTERM_typ
+ | NONTERM_typEOF
+ | NONTERM_tupleType
+ | NONTERM_tupleOrQuotTypeElements
+ | NONTERM_appTypeCon
+ | NONTERM_appTypeConPower
+ | NONTERM_appType
+ | NONTERM_arrayTypeSuffix
+ | NONTERM_appTypePrefixArguments
+ | NONTERM_typeArgListElements
+ | NONTERM_powerType
+ | NONTERM_atomTypeNonAtomicDeprecated
+ | NONTERM_atomTypeOrAnonRecdType
+ | NONTERM_atomType
+ | NONTERM_typeArgsNoHpaDeprecated
+ | NONTERM_typeArgsActual
+ | NONTERM_typeArgActual
+ | NONTERM_typeArgActualOrDummyIfEmpty
+ | NONTERM_dummyTypeArg
+ | NONTERM_measureTypeArg
+ | NONTERM_measureTypeAtom
+ | NONTERM_measureTypePower
+ | NONTERM_measureTypeSeq
+ | NONTERM_measureTypeExpr
+ | NONTERM_typar
+ | NONTERM_staticallyKnownHeadTypar
+ | NONTERM_ident
+ | NONTERM_path
+ | NONTERM_opName
+ | NONTERM_operatorName
+ | NONTERM_activePatternCaseName
+ | NONTERM_activePatternCaseNames
+ | NONTERM_identOrOp
+ | NONTERM_pathOp
+ | NONTERM_nameop
+ | NONTERM_topSeparator
+ | NONTERM_topSeparators
+ | NONTERM_opt_topSeparators
+ | NONTERM_seps
+ | NONTERM_declEnd
+ | NONTERM_opt_declEnd
+ | NONTERM_opt_ODECLEND
+ | NONTERM_deprecated_opt_equals
+ | NONTERM_opt_OBLOCKSEP
+ | NONTERM_opt_seps
+ | NONTERM_opt_rec
+ | NONTERM_opt_bar
+ | NONTERM_opt_inline
+ | NONTERM_opt_mutable
+ | NONTERM_doToken
+ | NONTERM_doneDeclEnd
+ | NONTERM_structOrBegin
+ | NONTERM_sigOrBegin
+ | NONTERM_colonOrEquals
+ | NONTERM_stringOrKeywordString
+ | NONTERM_opt_HIGH_PRECEDENCE_APP
+ | NONTERM_opt_HIGH_PRECEDENCE_TYAPP
+ | NONTERM_typeKeyword
+ | NONTERM_moduleKeyword
+ | NONTERM_rbrace
+ | NONTERM_bar_rbrace
+ | NONTERM_rparen
+ | NONTERM_oblockend
+ | NONTERM_ends_other_than_rparen_coming_soon_or_recover
+ | NONTERM_ends_coming_soon_or_recover
+/// This function maps tokens to integer indexes
+val tagOfToken: token -> int
+
+/// This function maps integer indexes to symbolic token ids
+val tokenTagToTokenId: int -> tokenId
+
+/// This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production
+val prodIdxToNonTerminal: int -> nonTerminalId
+
+/// This function gets the name of a token as a string
+val token_to_string: token -> string
+val signatureFile : (Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> token) -> Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> (Ast.ParsedSigFile)
+val implementationFile : (Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> token) -> Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> (Ast.ParsedImplFile)
+val interaction : (Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> token) -> Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> (Ast.ParsedFsiInteraction)
+val typedSeqExprEOF : (Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> token) -> Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> (Ast.SynExpr)
+val typEOF : (Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> token) -> Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> (Ast.SynType)
diff --git a/src/fsharp/FSharp.Compiler.Private/pplex.fs b/src/fsharp/FSharp.Compiler.Private/pplex.fs
new file mode 100644
index 0000000000..b6ece265d0
--- /dev/null
+++ b/src/fsharp/FSharp.Compiler.Private/pplex.fs
@@ -0,0 +1,172 @@
+# 3 "../pplex.fsl"
+
+
+module internal FSharp.Compiler.PPLexer
+
+open System
+
+open FSharp.Compiler.Ast
+open FSharp.Compiler.ErrorLogger
+open FSharp.Compiler.Lexhelp
+
+open Internal.Utilities.Text.Lexing
+
+let lexeme (lexbuf : UnicodeLexing.Lexbuf) = UnicodeLexing.Lexbuf.LexemeString lexbuf
+
+let fail (args : lexargs) (lexbuf:UnicodeLexing.Lexbuf) e =
+ let m = lexbuf.LexemeRange
+ args.errorLogger.ErrorR(Error(e,m))
+ PPParser.EOF
+
+# 21 "pplex.fs"
+let trans : uint16[] array =
+ [|
+ (* State 0 *)
+ [| 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 1us; 2us; |];
+ (* State 1 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 2 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 3 *)
+ [| 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 11us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 11us; 6us; 13us; 4us; 13us; 13us; 7us; 13us; 9us; 10us; 13us; 13us; 13us; 13us; 13us; 12us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 13us; 13us; 13us; 13us; 5us; 13us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 5us; 13us; 8us; 13us; 13us; 13us; 5us; 5us; 5us; 5us; 5us; 13us; 13us; 13us; 13us; 5us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 13us; 14us; |];
+ (* State 4 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 23us; 65535us; 65535us; 65535us; 22us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 5 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 21us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 65535us; 65535us; 65535us; 65535us; 21us; 65535us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 65535us; 65535us; 65535us; 65535us; 65535us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 65535us; 21us; 21us; 65535us; 65535us; 65535us; 65535us; 65535us; 21us; 65535us; 65535us; 21us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 6 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 7 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 20us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 8 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 19us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 9 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 17us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 10 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 11 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 12 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 15us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 13 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 14 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 15 *)
+ [| 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 65535us; |];
+ (* State 16 *)
+ [| 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 16us; 65535us; |];
+ (* State 17 *)
+ [| 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 65535us; |];
+ (* State 18 *)
+ [| 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 18us; 65535us; |];
+ (* State 19 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 20 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 21 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 21us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 65535us; 65535us; 65535us; 65535us; 21us; 65535us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 65535us; 65535us; 65535us; 65535us; 65535us; 21us; 21us; 21us; 21us; 21us; 21us; 21us; 65535us; 21us; 21us; 65535us; 65535us; 65535us; 65535us; 65535us; 21us; 65535us; 65535us; 21us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 22 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 27us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 23 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 24us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 24 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 25us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 25 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 26us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 26 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ (* State 27 *)
+ [| 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; |];
+ |]
+let actions : uint16[] = [|65535us; 0us; 1us; 65535us; 11us; 2us; 3us; 11us; 11us; 6us; 7us; 8us; 11us; 11us; 12us; 9us; 9us; 10us; 10us; 5us; 4us; 2us; 65535us; 65535us; 65535us; 65535us; 1us; 0us; |]
+let _fslex_tables = Internal.Utilities.Text.Lexing.UnicodeTables.Create(trans,actions)
+let rec _fslex_dummy () = _fslex_dummy()
+// Rule tokenstream
+and tokenstream args lexbuf =
+ match _fslex_tables.Interpret(3,lexbuf) with
+ | 0 -> (
+# 47 "../pplex.fsl"
+ PPParser.PRELUDE
+# 90 "pplex.fs"
+ )
+ | 1 -> (
+# 48 "../pplex.fsl"
+ PPParser.PRELUDE
+# 95 "pplex.fs"
+ )
+ | 2 -> (
+# 49 "../pplex.fsl"
+ PPParser.ID(lexeme lexbuf)
+# 100 "pplex.fs"
+ )
+ | 3 -> (
+# 51 "../pplex.fsl"
+ PPParser.OP_NOT
+# 105 "pplex.fs"
+ )
+ | 4 -> (
+# 52 "../pplex.fsl"
+ PPParser.OP_AND
+# 110 "pplex.fs"
+ )
+ | 5 -> (
+# 53 "../pplex.fsl"
+ PPParser.OP_OR
+# 115 "pplex.fs"
+ )
+ | 6 -> (
+# 54 "../pplex.fsl"
+ PPParser.LPAREN
+# 120 "pplex.fs"
+ )
+ | 7 -> (
+# 55 "../pplex.fsl"
+ PPParser.RPAREN
+# 125 "pplex.fs"
+ )
+ | 8 -> (
+# 57 "../pplex.fsl"
+ tokenstream args lexbuf
+# 130 "pplex.fs"
+ )
+ | 9 -> (
+# 59 "../pplex.fsl"
+ PPParser.EOF
+# 135 "pplex.fs"
+ )
+ | 10 -> (
+# 60 "../pplex.fsl"
+ fail args lexbuf (FSComp.SR.pplexExpectedSingleLineComment())
+# 140 "pplex.fs"
+ )
+ | 11 -> (
+# 61 "../pplex.fsl"
+
+ let lex = lexeme lexbuf
+ let _ = rest lexbuf
+ fail args lexbuf (FSComp.SR.pplexUnexpectedChar(lex))
+
+# 149 "pplex.fs"
+ )
+ | 12 -> (
+# 66 "../pplex.fsl"
+ PPParser.EOF
+# 154 "pplex.fs"
+ )
+ | _ -> failwith "tokenstream"
+// Rule rest
+and rest lexbuf =
+ match _fslex_tables.Interpret(0,lexbuf) with
+ | 0 -> (
+# 69 "../pplex.fsl"
+ rest lexbuf
+# 163 "pplex.fs"
+ )
+ | 1 -> (
+# 70 "../pplex.fsl"
+ ()
+# 168 "pplex.fs"
+ )
+ | _ -> failwith "rest"
+
+# 3000000 "pplex.fs"
diff --git a/src/fsharp/FSharp.Compiler.Private/pppars.fs b/src/fsharp/FSharp.Compiler.Private/pppars.fs
new file mode 100644
index 0000000000..fab1429a24
--- /dev/null
+++ b/src/fsharp/FSharp.Compiler.Private/pppars.fs
@@ -0,0 +1,374 @@
+// Implementation file for parser generated by fsyacc
+module internal FSharp.Compiler.PPParser
+#nowarn "64";; // turn off warnings that type variables used in production annotations are instantiated to concrete type
+open FSharp.Compiler
+open Internal.Utilities.Text.Lexing
+open Internal.Utilities.Text.Parsing.ParseHelpers
+# 3 "../pppars.fsy"
+
+open FSharp.Compiler.Ast
+open FSharp.Compiler.ErrorLogger
+
+let dummy = IfdefId("DUMMY")
+
+let doNothing _ dflt=
+ dflt
+
+let fail (ps : Internal.Utilities.Text.Parsing.IParseState) i e =
+ let f,t = ps.InputRange i
+ let m = mkSynRange f t
+ errorR(Error(e,m))
+ dummy
+
+# 23 "pppars.fs"
+// This type is the type of tokens accepted by the parser
+type token =
+ | OP_NOT
+ | OP_AND
+ | OP_OR
+ | LPAREN
+ | RPAREN
+ | PRELUDE
+ | EOF
+ | ID of (string)
+// This type is used to give symbolic names to token indexes, useful for error messages
+type tokenId =
+ | TOKEN_OP_NOT
+ | TOKEN_OP_AND
+ | TOKEN_OP_OR
+ | TOKEN_LPAREN
+ | TOKEN_RPAREN
+ | TOKEN_PRELUDE
+ | TOKEN_EOF
+ | TOKEN_ID
+ | TOKEN_end_of_input
+ | TOKEN_error
+// This type is used to give symbolic names to token indexes, useful for error messages
+type nonTerminalId =
+ | NONTERM__startstart
+ | NONTERM_start
+ | NONTERM_Recover
+ | NONTERM_Full
+ | NONTERM_Expr
+
+// This function maps tokens to integer indexes
+let tagOfToken (t:token) =
+ match t with
+ | OP_NOT -> 0
+ | OP_AND -> 1
+ | OP_OR -> 2
+ | LPAREN -> 3
+ | RPAREN -> 4
+ | PRELUDE -> 5
+ | EOF -> 6
+ | ID _ -> 7
+
+// This function maps integer indexes to symbolic token ids
+let tokenTagToTokenId (tokenIdx:int) =
+ match tokenIdx with
+ | 0 -> TOKEN_OP_NOT
+ | 1 -> TOKEN_OP_AND
+ | 2 -> TOKEN_OP_OR
+ | 3 -> TOKEN_LPAREN
+ | 4 -> TOKEN_RPAREN
+ | 5 -> TOKEN_PRELUDE
+ | 6 -> TOKEN_EOF
+ | 7 -> TOKEN_ID
+ | 10 -> TOKEN_end_of_input
+ | 8 -> TOKEN_error
+ | _ -> failwith "tokenTagToTokenId: bad token"
+
+/// This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production
+let prodIdxToNonTerminal (prodIdx:int) =
+ match prodIdx with
+ | 0 -> NONTERM__startstart
+ | 1 -> NONTERM_start
+ | 2 -> NONTERM_Recover
+ | 3 -> NONTERM_Full
+ | 4 -> NONTERM_Full
+ | 5 -> NONTERM_Expr
+ | 6 -> NONTERM_Expr
+ | 7 -> NONTERM_Expr
+ | 8 -> NONTERM_Expr
+ | 9 -> NONTERM_Expr
+ | 10 -> NONTERM_Expr
+ | 11 -> NONTERM_Expr
+ | 12 -> NONTERM_Expr
+ | 13 -> NONTERM_Expr
+ | 14 -> NONTERM_Expr
+ | 15 -> NONTERM_Expr
+ | 16 -> NONTERM_Expr
+ | 17 -> NONTERM_Expr
+ | 18 -> NONTERM_Expr
+ | _ -> failwith "prodIdxToNonTerminal: bad production index"
+
+let _fsyacc_endOfInputTag = 10
+let _fsyacc_tagOfErrorTerminal = 8
+
+// This function gets the name of a token as a string
+let token_to_string (t:token) =
+ match t with
+ | OP_NOT -> "OP_NOT"
+ | OP_AND -> "OP_AND"
+ | OP_OR -> "OP_OR"
+ | LPAREN -> "LPAREN"
+ | RPAREN -> "RPAREN"
+ | PRELUDE -> "PRELUDE"
+ | EOF -> "EOF"
+ | ID _ -> "ID"
+
+// This function gets the data carried by a token as an object
+let _fsyacc_dataOfToken (t:token) =
+ match t with
+ | OP_NOT -> (null : System.Object)
+ | OP_AND -> (null : System.Object)
+ | OP_OR -> (null : System.Object)
+ | LPAREN -> (null : System.Object)
+ | RPAREN -> (null : System.Object)
+ | PRELUDE -> (null : System.Object)
+ | EOF -> (null : System.Object)
+ | ID _fsyacc_x -> Microsoft.FSharp.Core.Operators.box _fsyacc_x
+let _fsyacc_gotos = [| 0us; 65535us; 1us; 65535us; 0us; 1us; 11us; 65535us; 0us; 8us; 6us; 29us; 9us; 26us; 10us; 25us; 13us; 23us; 14us; 29us; 15us; 29us; 16us; 29us; 19us; 20us; 21us; 22us; 27us; 28us; 1us; 65535us; 0us; 2us; 5us; 65535us; 5us; 6us; 9us; 10us; 13us; 14us; 17us; 15us; 18us; 16us; |]
+let _fsyacc_sparseGotoTableRowOffsets = [|0us; 1us; 3us; 15us; 17us; |]
+let _fsyacc_stateToProdIdxsTableElements = [| 1us; 0us; 1us; 0us; 1us; 1us; 1us; 2us; 2us; 2us; 13us; 1us; 3us; 4us; 3us; 8us; 9us; 17us; 1us; 3us; 1us; 4us; 4us; 5us; 13us; 14us; 15us; 5us; 5us; 8us; 9us; 14us; 17us; 1us; 5us; 1us; 6us; 2us; 7us; 12us; 4us; 7us; 8us; 9us; 17us; 4us; 8us; 8us; 9us; 17us; 4us; 8us; 9us; 9us; 17us; 1us; 8us; 1us; 9us; 1us; 10us; 1us; 10us; 1us; 11us; 1us; 11us; 1us; 12us; 1us; 13us; 2us; 14us; 17us; 1us; 15us; 1us; 16us; 1us; 16us; 1us; 17us; 1us; 18us; |]
+let _fsyacc_stateToProdIdxsTableRowOffsets = [|0us; 2us; 4us; 6us; 8us; 11us; 13us; 18us; 20us; 22us; 27us; 33us; 35us; 37us; 40us; 45us; 50us; 55us; 57us; 59us; 61us; 63us; 65us; 67us; 69us; 71us; 74us; 76us; 78us; 80us; 82us; |]
+let _fsyacc_action_rows = 31
+let _fsyacc_actionTableElements = [|2us; 32768us; 5us; 5us; 8us; 3us; 0us; 49152us; 0us; 16385us; 0us; 16386us; 1us; 16386us; 4us; 24us; 7us; 32768us; 0us; 13us; 1us; 19us; 2us; 21us; 3us; 9us; 4us; 27us; 6us; 30us; 7us; 12us; 4us; 32768us; 1us; 17us; 2us; 18us; 6us; 7us; 8us; 3us; 0us; 16387us; 0us; 16388us; 8us; 32768us; 0us; 13us; 1us; 19us; 2us; 21us; 3us; 9us; 4us; 27us; 6us; 30us; 7us; 12us; 8us; 4us; 4us; 32768us; 1us; 17us; 2us; 18us; 4us; 11us; 8us; 3us; 0us; 16389us; 0us; 16390us; 8us; 32768us; 0us; 13us; 1us; 19us; 2us; 21us; 3us; 9us; 4us; 27us; 6us; 30us; 7us; 12us; 8us; 3us; 1us; 16391us; 8us; 3us; 1us; 16392us; 8us; 3us; 2us; 16393us; 1us; 17us; 8us; 3us; 7us; 32768us; 0us; 13us; 1us; 19us; 2us; 21us; 3us; 9us; 4us; 27us; 6us; 30us; 7us; 12us; 7us; 32768us; 0us; 13us; 1us; 19us; 2us; 21us; 3us; 9us; 4us; 27us; 6us; 30us; 7us; 12us; 1us; 32768us; 8us; 3us; 0us; 16394us; 1us; 32768us; 8us; 3us; 0us; 16395us; 0us; 16396us; 0us; 16397us; 0us; 16398us; 0us; 16399us; 1us; 32768us; 8us; 3us; 0us; 16400us; 0us; 16401us; 0us; 16402us; |]
+let _fsyacc_actionTableRowOffsets = [|0us; 3us; 4us; 5us; 6us; 8us; 16us; 21us; 22us; 23us; 32us; 37us; 38us; 39us; 48us; 50us; 52us; 55us; 63us; 71us; 73us; 74us; 76us; 77us; 78us; 79us; 80us; 81us; 83us; 84us; 85us; |]
+let _fsyacc_reductionSymbolCounts = [|1us; 1us; 1us; 3us; 1us; 3us; 1us; 2us; 3us; 3us; 2us; 2us; 2us; 3us; 3us; 2us; 2us; 2us; 1us; |]
+let _fsyacc_productionToNonTerminalTable = [|0us; 1us; 2us; 3us; 3us; 4us; 4us; 4us; 4us; 4us; 4us; 4us; 4us; 4us; 4us; 4us; 4us; 4us; 4us; |]
+let _fsyacc_immediateActions = [|65535us; 49152us; 16385us; 16386us; 65535us; 65535us; 65535us; 16387us; 16388us; 65535us; 65535us; 16389us; 16390us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 65535us; 16394us; 65535us; 16395us; 16396us; 16397us; 65535us; 16399us; 65535us; 16400us; 16401us; 16402us; |]
+let _fsyacc_reductions () = [|
+# 142 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : LexerIfdefExpression )) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+ raise (Internal.Utilities.Text.Parsing.Accept(Microsoft.FSharp.Core.Operators.box _1))
+ )
+ : '_startstart));
+# 151 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'Full)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 37 "../pppars.fsy"
+ _1
+ )
+# 37 "../pppars.fsy"
+ : LexerIfdefExpression ));
+# 162 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 40 "../pppars.fsy"
+ doNothing parseState ()
+ )
+# 40 "../pppars.fsy"
+ : 'Recover));
+# 172 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'Expr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 43 "../pppars.fsy"
+ _2
+ )
+# 43 "../pppars.fsy"
+ : 'Full));
+# 183 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'Recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 44 "../pppars.fsy"
+ fail parseState 1 (FSComp.SR.ppparsMissingToken("#if/#elif"))
+ )
+# 44 "../pppars.fsy"
+ : 'Full));
+# 194 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'Expr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 47 "../pppars.fsy"
+ _2
+ )
+# 47 "../pppars.fsy"
+ : 'Expr));
+# 205 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : string)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 48 "../pppars.fsy"
+ IfdefId(_1)
+ )
+# 48 "../pppars.fsy"
+ : 'Expr));
+# 216 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'Expr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 49 "../pppars.fsy"
+ IfdefNot(_2)
+ )
+# 49 "../pppars.fsy"
+ : 'Expr));
+# 227 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'Expr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'Expr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 50 "../pppars.fsy"
+ IfdefAnd(_1,_3)
+ )
+# 50 "../pppars.fsy"
+ : 'Expr));
+# 239 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'Expr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'Expr)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 51 "../pppars.fsy"
+ IfdefOr(_1,_3)
+ )
+# 51 "../pppars.fsy"
+ : 'Expr));
+# 251 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'Recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 53 "../pppars.fsy"
+ fail parseState 1 (FSComp.SR.ppparsUnexpectedToken("&&"))
+ )
+# 53 "../pppars.fsy"
+ : 'Expr));
+# 262 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'Recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 54 "../pppars.fsy"
+ fail parseState 1 (FSComp.SR.ppparsUnexpectedToken("||"))
+ )
+# 54 "../pppars.fsy"
+ : 'Expr));
+# 273 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'Recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 55 "../pppars.fsy"
+ fail parseState 1 (FSComp.SR.ppparsUnexpectedToken("!"))
+ )
+# 55 "../pppars.fsy"
+ : 'Expr));
+# 284 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 56 "../pppars.fsy"
+ doNothing parseState dummy
+ )
+# 56 "../pppars.fsy"
+ : 'Expr));
+# 294 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'Expr)) in
+ let _3 = (let data = parseState.GetInput(3) in (Microsoft.FSharp.Core.Operators.unbox data : 'Recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 57 "../pppars.fsy"
+ fail parseState 3 (FSComp.SR.ppparsMissingToken(")"))
+ )
+# 57 "../pppars.fsy"
+ : 'Expr));
+# 306 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'Recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 58 "../pppars.fsy"
+ fail parseState 2 (FSComp.SR.ppparsIncompleteExpression())
+ )
+# 58 "../pppars.fsy"
+ : 'Expr));
+# 317 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'Recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 59 "../pppars.fsy"
+ fail parseState 1 (FSComp.SR.ppparsUnexpectedToken(")"))
+ )
+# 59 "../pppars.fsy"
+ : 'Expr));
+# 328 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ let _1 = (let data = parseState.GetInput(1) in (Microsoft.FSharp.Core.Operators.unbox data : 'Expr)) in
+ let _2 = (let data = parseState.GetInput(2) in (Microsoft.FSharp.Core.Operators.unbox data : 'Recover)) in
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 60 "../pppars.fsy"
+ fail parseState 2 (FSComp.SR.ppparsIncompleteExpression())
+ )
+# 60 "../pppars.fsy"
+ : 'Expr));
+# 340 "pppars.fs"
+ (fun (parseState : Internal.Utilities.Text.Parsing.IParseState) ->
+ Microsoft.FSharp.Core.Operators.box
+ (
+ (
+# 61 "../pppars.fsy"
+ fail parseState 1 (FSComp.SR.ppparsIncompleteExpression())
+ )
+# 61 "../pppars.fsy"
+ : 'Expr));
+|]
+# 351 "pppars.fs"
+let tables () : Internal.Utilities.Text.Parsing.Tables<_> =
+ { reductions= _fsyacc_reductions ();
+ endOfInputTag = _fsyacc_endOfInputTag;
+ tagOfToken = tagOfToken;
+ dataOfToken = _fsyacc_dataOfToken;
+ actionTableElements = _fsyacc_actionTableElements;
+ actionTableRowOffsets = _fsyacc_actionTableRowOffsets;
+ stateToProdIdxsTableElements = _fsyacc_stateToProdIdxsTableElements;
+ stateToProdIdxsTableRowOffsets = _fsyacc_stateToProdIdxsTableRowOffsets;
+ reductionSymbolCounts = _fsyacc_reductionSymbolCounts;
+ immediateActions = _fsyacc_immediateActions;
+ gotos = _fsyacc_gotos;
+ sparseGotoTableRowOffsets = _fsyacc_sparseGotoTableRowOffsets;
+ tagOfErrorTerminal = _fsyacc_tagOfErrorTerminal;
+ parseError = (fun (ctxt:Internal.Utilities.Text.Parsing.ParseErrorContext<_>) ->
+ match parse_error_rich with
+ | Some f -> f ctxt
+ | None -> parse_error ctxt.Message);
+ numTerminals = 11;
+ productionToNonTerminalTable = _fsyacc_productionToNonTerminalTable }
+let engine lexer lexbuf startState = (tables ()).Interpret(lexer, lexbuf, startState)
+let start lexer lexbuf : LexerIfdefExpression =
+ Microsoft.FSharp.Core.Operators.unbox ((tables ()).Interpret(lexer, lexbuf, 0))
diff --git a/src/fsharp/FSharp.Compiler.Private/pppars.fsi b/src/fsharp/FSharp.Compiler.Private/pppars.fsi
new file mode 100644
index 0000000000..a4365fd1d1
--- /dev/null
+++ b/src/fsharp/FSharp.Compiler.Private/pppars.fsi
@@ -0,0 +1,41 @@
+// Signature file for parser generated by fsyacc
+module internal FSharp.Compiler.PPParser
+open FSharp.Compiler
+type token =
+ | OP_NOT
+ | OP_AND
+ | OP_OR
+ | LPAREN
+ | RPAREN
+ | PRELUDE
+ | EOF
+ | ID of (string)
+type tokenId =
+ | TOKEN_OP_NOT
+ | TOKEN_OP_AND
+ | TOKEN_OP_OR
+ | TOKEN_LPAREN
+ | TOKEN_RPAREN
+ | TOKEN_PRELUDE
+ | TOKEN_EOF
+ | TOKEN_ID
+ | TOKEN_end_of_input
+ | TOKEN_error
+type nonTerminalId =
+ | NONTERM__startstart
+ | NONTERM_start
+ | NONTERM_Recover
+ | NONTERM_Full
+ | NONTERM_Expr
+/// This function maps tokens to integer indexes
+val tagOfToken: token -> int
+
+/// This function maps integer indexes to symbolic token ids
+val tokenTagToTokenId: int -> tokenId
+
+/// This function maps production indexes returned in syntax errors to strings representing the non terminal that would be produced by that production
+val prodIdxToNonTerminal: int -> nonTerminalId
+
+/// This function gets the name of a token as a string
+val token_to_string: token -> string
+val start : (Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> token) -> Internal.Utilities.Text.Lexing.LexBuffer<'cty> -> ( LexerIfdefExpression )
diff --git a/src/fsharp/FSharp.Compiler.nuget/Directory.Build.props b/src/fsharp/FSharp.Compiler.nuget/Directory.Build.props
deleted file mode 100644
index 7cd41381b5..0000000000
--- a/src/fsharp/FSharp.Compiler.nuget/Directory.Build.props
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
- true
-
-
-
-
-
diff --git a/src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.csproj b/src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.csproj
deleted file mode 100644
index 21c76c5808..0000000000
--- a/src/fsharp/FSharp.Compiler.nuget/Microsoft.FSharp.Compiler.csproj
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- true
- netcoreapp2.1
- Microsoft.FSharp.Compiler.nuspec
- true
- .NET Core compatible version of the F# compiler fsc.exe.
-
-
-
-
- TargetFramework=netcoreapp2.1
-
-
- TargetFramework=netcoreapp2.1
-
-
- TargetFramework=netcoreapp2.1
-
-
- TargetFramework=netstandard2.0
-
-
-
-
-
-
diff --git a/src/fsharp/FSharp.Core.nuget/Directory.Build.props b/src/fsharp/FSharp.Core.nuget/Directory.Build.props
deleted file mode 100644
index 7509ab35a1..0000000000
--- a/src/fsharp/FSharp.Core.nuget/Directory.Build.props
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
- true
-
-
-
-
-
diff --git a/src/fsharp/FSharp.Core.nuget/FSharp.Core.nuget.csproj b/src/fsharp/FSharp.Core.nuget/FSharp.Core.nuget.csproj
deleted file mode 100644
index b55bc2feba..0000000000
--- a/src/fsharp/FSharp.Core.nuget/FSharp.Core.nuget.csproj
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-
- true
- net45;netstandard2.0
- FSharp.Core
- FSharp.Core.nuspec
- true
- FSharp.Core redistributables from Visual F# Tools version $(FSPackageMajorVersion) For F# $(FSCoreMajorVersion). Contains code from the F# Software Foundation.
-
-
-
-
-
-
-
-
- false
-
-
-
-
-
-
diff --git a/src/fsharp/FSharp.Core.nuget/icon.png b/src/fsharp/FSharp.Core.nuget/icon.png
deleted file mode 100644
index 8a2b81b9eb..0000000000
Binary files a/src/fsharp/FSharp.Core.nuget/icon.png and /dev/null differ
diff --git a/src/fsharp/FSharp.Core/FSharp.Core.fsproj b/src/fsharp/FSharp.Core/FSharp.Core.fsproj
index ef68a28e6d..360dc74e37 100644
--- a/src/fsharp/FSharp.Core/FSharp.Core.fsproj
+++ b/src/fsharp/FSharp.Core/FSharp.Core.fsproj
@@ -10,7 +10,7 @@
true
$(DefineConstants);FSHARP_CORE
BUILDING_WITH_LKG;$(DefineConstants)
- $(OtherFlags) --warnon:1182 --compiling-fslib --compiling-fslib-40 --maxerrors:20 --extraoptimizationloops:1
+ $(OtherFlags) --warnon:1182 --compiling-fslib --compiling-fslib-40 --maxerrors:20 --extraoptimizationloops:1 --nowarn:57
true
true
diff --git a/src/fsharp/FSharp.Core/async.fs b/src/fsharp/FSharp.Core/async.fs
index b6ab88a16f..4655b0d73f 100644
--- a/src/fsharp/FSharp.Core/async.fs
+++ b/src/fsharp/FSharp.Core/async.fs
@@ -1647,19 +1647,19 @@ namespace Microsoft.FSharp.Control
let resultCell = new ResultCell<_>()
let! cancellationToken = cancellationTokenAsync
let innerCTS = new CancellationTokenSource() // innerCTS does not require disposal
- let ctsRef = ref innerCTS
+ let mutable ctsRef = innerCTS
let reg = cancellationToken.Register(
(fun _ ->
- match !ctsRef with
+ match ctsRef with
| null -> ()
| otherwise -> otherwise.Cancel()),
null)
do QueueAsync
innerCTS.Token
// since innerCTS is not ever Disposed, can call reg.Dispose() without a safety Latch
- (fun res -> ctsRef := null; reg.Dispose(); resultCell.RegisterResult (Ok res, reuseThread=true))
- (fun edi -> ctsRef := null; reg.Dispose(); resultCell.RegisterResult (Error edi, reuseThread=true))
- (fun err -> ctsRef := null; reg.Dispose(); resultCell.RegisterResult (Canceled err, reuseThread=true))
+ (fun res -> ctsRef <- null; reg.Dispose(); resultCell.RegisterResult (Ok res, reuseThread=true))
+ (fun edi -> ctsRef <- null; reg.Dispose(); resultCell.RegisterResult (Error edi, reuseThread=true))
+ (fun err -> ctsRef <- null; reg.Dispose(); resultCell.RegisterResult (Canceled err, reuseThread=true))
computation
|> unfake
@@ -1713,10 +1713,10 @@ namespace Microsoft.FSharp.Control
[] // give the extension member a 'nice', unmangled compiled name, unique within this module
member stream.AsyncRead count =
async { let buffer = Array.zeroCreate count
- let i = ref 0
- while !i < count do
- let! n = stream.AsyncRead(buffer, !i, count - !i)
- i := !i + n
+ let mutable i = 0
+ while i < count do
+ let! n = stream.AsyncRead(buffer, i, count - i)
+ i <- i + n
if n = 0 then
raise(System.IO.EndOfStreamException(SR.GetString(SR.failedReadEnoughBytes)))
return buffer }
@@ -1746,16 +1746,16 @@ namespace Microsoft.FSharp.Control
[] // give the extension member a 'nice', unmangled compiled name, unique within this module
member req.AsyncGetResponse() : Async=
- let canceled = ref false // WebException with Status = WebExceptionStatus.RequestCanceled can be raised in other situations except cancellation, use flag to filter out false positives
+ let mutable canceled = false // WebException with Status = WebExceptionStatus.RequestCanceled can be raised in other situations except cancellation, use flag to filter out false positives
// Use CreateTryWithFilterAsync to allow propagation of exception without losing stack
Async.FromBeginEnd(beginAction=req.BeginGetResponse,
endAction = req.EndGetResponse,
- cancelAction = fun() -> canceled := true; req.Abort())
+ cancelAction = fun() -> canceled <- true; req.Abort())
|> CreateTryWithFilterAsync (fun exn ->
match exn with
| :? System.Net.WebException as webExn
- when webExn.Status = System.Net.WebExceptionStatus.RequestCanceled && !canceled ->
+ when webExn.Status = System.Net.WebExceptionStatus.RequestCanceled && canceled ->
Some (Async.BindResult(AsyncResult.Canceled (OperationCanceledException webExn.Message)))
| _ ->
diff --git a/src/fsharp/FSharp.Core/eventmodule.fs b/src/fsharp/FSharp.Core/eventmodule.fs
index 1d615a307c..fe907373f5 100644
--- a/src/fsharp/FSharp.Core/eventmodule.fs
+++ b/src/fsharp/FSharp.Core/eventmodule.fs
@@ -40,12 +40,12 @@ namespace Microsoft.FSharp.Control
[]
let scan collector state (sourceEvent: IEvent<'Delegate,'T>) =
- let state = ref state
+ let mutable state = state
let ev = new Event<_>()
sourceEvent.Add(fun msg ->
- let z = !state
+ let z = state
let z = collector z msg
- state := z;
+ state <- z;
ev.Trigger(z))
ev.Publish
@@ -55,12 +55,12 @@ namespace Microsoft.FSharp.Control
[]
let pairwise (sourceEvent : IEvent<'Delegate,'T>) : IEvent<'T * 'T> =
let ev = new Event<'T * 'T>()
- let lastArgs = ref None
+ let mutable lastArgs = None
sourceEvent.Add(fun args2 ->
- (match !lastArgs with
+ (match lastArgs with
| None -> ()
| Some args1 -> ev.Trigger(args1,args2))
- lastArgs := Some args2)
+ lastArgs <- Some args2)
ev.Publish
diff --git a/src/fsharp/FSharp.Core/list.fs b/src/fsharp/FSharp.Core/list.fs
index 87035fb3c6..920f0f0d9f 100644
--- a/src/fsharp/FSharp.Core/list.fs
+++ b/src/fsharp/FSharp.Core/list.fs
@@ -100,7 +100,7 @@ namespace Microsoft.FSharp.Collections
loop ([], state) (rev list)
[]
- let iter action list = Microsoft.FSharp.Primitives.Basics.List.iter action list
+ let inline iter action (list:'T list) = for x in list do action x
[]
let distinct (list:'T list) = Microsoft.FSharp.Primitives.Basics.List.distinctWithComparer HashIdentity.Structural<'T> list
@@ -164,18 +164,20 @@ namespace Microsoft.FSharp.Collections
let takeWhile predicate (list: 'T list) = Microsoft.FSharp.Primitives.Basics.List.takeWhile predicate list
[]
- let iteri action list = Microsoft.FSharp.Primitives.Basics.List.iteri action list
+ let inline iteri action (list: 'T list) =
+ let mutable n = 0
+ for x in list do action n x; n <- n + 1
[]
let init length initializer = Microsoft.FSharp.Primitives.Basics.List.init length initializer
- let rec initConstAcc n x acc =
- if n <= 0 then acc else initConstAcc (n-1) x (x :: acc)
-
[]
let replicate count initial =
if count < 0 then invalidArg "count" (SR.GetString(SR.inputMustBeNonNegative))
- initConstAcc count initial []
+ let mutable result = []
+ for i in 0..count-1 do
+ result <- initial :: result
+ result
[]
let iter2 action list1 list2 =
diff --git a/src/fsharp/FSharp.Core/list.fsi b/src/fsharp/FSharp.Core/list.fsi
index aba9b3505b..26c5dad94e 100644
--- a/src/fsharp/FSharp.Core/list.fsi
+++ b/src/fsharp/FSharp.Core/list.fsi
@@ -380,7 +380,7 @@ namespace Microsoft.FSharp.Collections
/// The function to apply to elements from the input list.
/// The input list.
[]
- val iter: action:('T -> unit) -> list:'T list -> unit
+ val inline iter: action:('T -> unit) -> list:'T list -> unit
/// Applies the given function to two collections simultaneously. The
/// collections must have identical size.
@@ -395,7 +395,7 @@ namespace Microsoft.FSharp.Collections
/// The function to apply to the elements of the list along with their index.
/// The input list.
[]
- val iteri: action:(int -> 'T -> unit) -> list:'T list -> unit
+ val inline iteri: action:(int -> 'T -> unit) -> list:'T list -> unit
/// Applies the given function to two collections simultaneously. The
/// collections must have identical size. The integer passed to the
diff --git a/src/fsharp/FSharp.Core/local.fs b/src/fsharp/FSharp.Core/local.fs
index 0e97166352..3d812fc72c 100644
--- a/src/fsharp/FSharp.Core/local.fs
+++ b/src/fsharp/FSharp.Core/local.fs
@@ -83,13 +83,11 @@ open System.Collections.Generic
module internal List =
- let arrayZeroCreate (n:int) = (# "newarr !0" type ('T) n : 'T array #)
+ let inline arrayZeroCreate (n:int) = (# "newarr !0" type ('T) n : 'T array #)
[]
let nonempty x = match x with [] -> false | _ -> true
- let rec iter f x = match x with [] -> () | h :: t -> f h; iter f t
-
// optimized mutation-based implementation. This code is only valid in fslib, where mutation of private
// tail cons cells is permitted in carefully written library code.
let inline setFreshConsTail cons t = cons.( :: ).1 <- t
@@ -499,15 +497,6 @@ module internal List =
else
filter predicate t
- let iteri action x =
- let f = OptimizedClosures.FSharpFunc<_, _, _>.Adapt(action)
- let rec loop n x =
- match x with
- | [] -> ()
- | h :: t -> f.Invoke(n, h); loop (n+1) t
-
- loop 0 x
-
// optimized mutation-based implementation. This code is only valid in fslib, where mutation of private
// tail cons cells is permitted in carefully written library code.
let rec concatToFreshConsTail cons h1 l =
@@ -1185,13 +1174,13 @@ module internal Array =
let count = min count len
let res = zeroCreateUnchecked count : 'T[][]
let minChunkSize = len / count
- let startIndex = ref 0
+ let mutable startIndex = 0
for i = 0 to len % count - 1 do
- res.[i] <- subUnchecked !startIndex (minChunkSize + 1) array
- startIndex := !startIndex + minChunkSize + 1
+ res.[i] <- subUnchecked startIndex (minChunkSize + 1) array
+ startIndex <- startIndex + minChunkSize + 1
for i = len % count to count - 1 do
- res.[i] <- subUnchecked !startIndex minChunkSize array
- startIndex := !startIndex + minChunkSize
+ res.[i] <- subUnchecked startIndex minChunkSize array
+ startIndex <- startIndex + minChunkSize
res
module internal Seq =
diff --git a/src/fsharp/FSharp.Core/local.fsi b/src/fsharp/FSharp.Core/local.fsi
index b5bcec9e95..2c9996d4f1 100644
--- a/src/fsharp/FSharp.Core/local.fsi
+++ b/src/fsharp/FSharp.Core/local.fsi
@@ -32,7 +32,6 @@ module internal List =
val distinctWithComparer : System.Collections.Generic.IEqualityComparer<'T> -> 'T list -> 'T list
val distinctByWithComparer : System.Collections.Generic.IEqualityComparer<'Key> -> ('T -> 'Key) -> list:'T list -> 'T list when 'Key : equality
val init : int -> (int -> 'T) -> 'T list
- val iter : ('T -> unit) -> 'T list -> unit
val filter : predicate:('T -> bool) -> 'T list -> 'T list
val collect : ('T -> 'U list) -> 'T list -> 'U list
val partition : predicate:('T -> bool) -> 'T list -> 'T list * 'T list
@@ -48,7 +47,6 @@ module internal List =
val exists : predicate:('T -> bool) -> 'T list -> bool
val rev: 'T list -> 'T list
val concat : seq<'T list> -> 'T list
- val iteri : action:(int -> 'T -> unit) -> 'T list -> unit
val unfold : ('State -> ('T * 'State) option) -> 'State -> 'T list
val unzip : ('T1 * 'T2) list -> 'T1 list * 'T2 list
val unzip3 : ('T1 * 'T2 * 'T3) list -> 'T1 list * 'T2 list * 'T3 list
diff --git a/src/fsharp/FSharp.Core/map.fs b/src/fsharp/FSharp.Core/map.fs
index d0fccda1fd..0c7554586f 100644
--- a/src/fsharp/FSharp.Core/map.fs
+++ b/src/fsharp/FSharp.Core/map.fs
@@ -374,8 +374,8 @@ module MapTree =
mkFromEnumerator comparer empty ie
let copyToArray m (arr: _[]) i =
- let j = ref i
- m |> iter (fun x y -> arr.[!j] <- KeyValuePair(x, y); j := !j + 1)
+ let mutable j = i
+ m |> iter (fun x y -> arr.[j] <- KeyValuePair(x, y); j <- j + 1)
/// Imperative left-to-right iterators.
[]
diff --git a/src/fsharp/FSharp.Core/prim-types-prelude.fs b/src/fsharp/FSharp.Core/prim-types-prelude.fs
index 74c8410170..b95933a7aa 100644
--- a/src/fsharp/FSharp.Core/prim-types-prelude.fs
+++ b/src/fsharp/FSharp.Core/prim-types-prelude.fs
@@ -28,6 +28,7 @@ namespace Microsoft.FSharp.Core
type bool = System.Boolean
type decimal = System.Decimal
type int = int32
+ type uint = uint32
type ``[]``<'T> = (# "!0[]" #)
type ``[,]``<'T> = (# "!0[0 ...,0 ...]" #)
diff --git a/src/fsharp/FSharp.Core/prim-types-prelude.fsi b/src/fsharp/FSharp.Core/prim-types-prelude.fsi
index ed68965bf2..f4dd023159 100644
--- a/src/fsharp/FSharp.Core/prim-types-prelude.fsi
+++ b/src/fsharp/FSharp.Core/prim-types-prelude.fsi
@@ -78,6 +78,9 @@ namespace Microsoft.FSharp.Core
/// An abbreviation for the CLI type System.Int32.
type int = int32
+ /// An abbreviation for the CLI type System.UInt32.
+ type uint = uint32
+
/// Single dimensional, zero-based arrays, written int[], string[] etc.
/// Use the values in the Array module to manipulate values
/// of this type, or the notation arr.[x] to get/set array
diff --git a/src/fsharp/FSharp.Core/prim-types.fs b/src/fsharp/FSharp.Core/prim-types.fs
index 664e1d4c02..4bff05856c 100644
--- a/src/fsharp/FSharp.Core/prim-types.fs
+++ b/src/fsharp/FSharp.Core/prim-types.fs
@@ -237,11 +237,17 @@ namespace Microsoft.FSharp.Core
inherit System.Attribute()
member x.Flags = flags
+
+ module internal ExperimentalAttributeMessages =
+ []
+ let RequiresPreview : string = "Experimental library feature, requires '--langversion:preview'"
+
[]
[]
type ExperimentalAttribute(message:string) =
inherit System.Attribute()
- member x.Message = message
+
+ member x.Message = message
[]
[]
@@ -379,7 +385,8 @@ namespace Microsoft.FSharp.Core
let inline box (x:'T) = (# "box !0" type ('T) x : obj #)
let inline not (b:bool) = (# "ceq" b false : bool #)
let inline (=) (x:int) (y:int) = (# "ceq" x y : bool #)
- let inline (<>) (x:int) (y:int) = not(# "ceq" x y : bool #)
+ let inline (<>) (x:int) (y:int) = not(# "ceq" x y : bool #)
+ let inline (<=) (x:int) (y:int) = not(# "cgt" x y : bool #)
let inline (>=) (x:int) (y:int) = not(# "clt" x y : bool #)
let inline (>=.) (x:int64) (y:int64) = not(# "clt" x y : bool #)
let inline (>=...) (x:char) (y:char) = not(# "clt" x y : bool #)
@@ -651,8 +658,15 @@ namespace Microsoft.FSharp.Core
let inline GetArray2DLength1 (arr: 'T[,]) = (# "ldlen.multi 2 0" arr : int #)
let inline GetArray2DLength2 (arr: 'T[,]) = (# "ldlen.multi 2 1" arr : int #)
+ let inline GetArray2DLength (arr: 'T[,]) (dim: int) =
+ match dim with
+ | 0 -> GetArray2DLength1 arr
+ | 1 -> GetArray2DLength2 arr
+ | _ -> raise (System.IndexOutOfRangeException())
+
let inline Array2DZeroCreate (n:int) (m:int) = (# "newarr.multi 2 !0" type ('T) n m : 'T[,] #)
- let GetArray2DSub (src: 'T[,]) src1 src2 len1 len2 =
+
+ let inline GetArray2DSub (src: 'T[,]) src1 src2 len1 len2 =
let len1 = (if len1 < 0 then 0 else len1)
let len2 = (if len2 < 0 then 0 else len2)
let dst = Array2DZeroCreate len1 len2
@@ -661,7 +675,7 @@ namespace Microsoft.FSharp.Core
SetArray2D dst i j (GetArray2D src (src1 + i) (src2 + j))
dst
- let SetArray2DSub (dst: 'T[,]) src1 src2 len1 len2 src =
+ let inline SetArray2DSub (dst: 'T[,]) src1 src2 len1 len2 src =
for i = 0 to len1 - 1 do
for j = 0 to len2 - 1 do
SetArray2D dst (src1+i) (src2+j) (GetArray2D src i j)
@@ -679,9 +693,16 @@ namespace Microsoft.FSharp.Core
let inline GetArray3DLength3 (arr: 'T[,,]) = (# "ldlen.multi 3 2" arr : int #)
+ let inline GetArray3DLength (arr: 'T[,,]) (dim: int) =
+ match dim with
+ | 0 -> GetArray3DLength1 arr
+ | 1 -> GetArray3DLength2 arr
+ | 2 -> GetArray3DLength3 arr
+ | _ -> raise (System.IndexOutOfRangeException())
+
let inline Array3DZeroCreate (n1:int) (n2:int) (n3:int) = (# "newarr.multi 3 !0" type ('T) n1 n2 n3 : 'T[,,] #)
- let GetArray3DSub (src: 'T[,,]) src1 src2 src3 len1 len2 len3 =
+ let inline GetArray3DSub (src: 'T[,,]) src1 src2 src3 len1 len2 len3 =
let len1 = (if len1 < 0 then 0 else len1)
let len2 = (if len2 < 0 then 0 else len2)
let len3 = (if len3 < 0 then 0 else len3)
@@ -692,7 +713,7 @@ namespace Microsoft.FSharp.Core
SetArray3D dst i j k (GetArray3D src (src1+i) (src2+j) (src3+k))
dst
- let SetArray3DSub (dst: 'T[,,]) src1 src2 src3 len1 len2 len3 src =
+ let inline SetArray3DSub (dst: 'T[,,]) src1 src2 src3 len1 len2 len3 src =
for i = 0 to len1 - 1 do
for j = 0 to len2 - 1 do
for k = 0 to len3 - 1 do
@@ -705,17 +726,25 @@ namespace Microsoft.FSharp.Core
let inline SetArray4D (target: 'T[,,,]) (index1: int) (index2: int) (index3: int) (index4: int) (value:'T) =
(# "stelem.multi 4 !0" type ('T) target index1 index2 index3 index4 value #)
- let inline Array4DLength1 (arr: 'T[,,,]) = (# "ldlen.multi 4 0" arr : int #)
+ let inline GetArray4DLength1 (arr: 'T[,,,]) = (# "ldlen.multi 4 0" arr : int #)
+
+ let inline GetArray4DLength2 (arr: 'T[,,,]) = (# "ldlen.multi 4 1" arr : int #)
- let inline Array4DLength2 (arr: 'T[,,,]) = (# "ldlen.multi 4 1" arr : int #)
+ let inline GetArray4DLength3 (arr: 'T[,,,]) = (# "ldlen.multi 4 2" arr : int #)
- let inline Array4DLength3 (arr: 'T[,,,]) = (# "ldlen.multi 4 2" arr : int #)
+ let inline GetArray4DLength4 (arr: 'T[,,,]) = (# "ldlen.multi 4 3" arr : int #)
- let inline Array4DLength4 (arr: 'T[,,,]) = (# "ldlen.multi 4 3" arr : int #)
+ let inline GetArray4DLength (arr: 'T[,,,]) (dim: int) =
+ match dim with
+ | 0 -> GetArray4DLength1 arr
+ | 1 -> GetArray4DLength2 arr
+ | 2 -> GetArray4DLength3 arr
+ | 3 -> GetArray4DLength4 arr
+ | _ -> raise (System.IndexOutOfRangeException())
let inline Array4DZeroCreate (n1:int) (n2:int) (n3:int) (n4:int) = (# "newarr.multi 4 !0" type ('T) n1 n2 n3 n4 : 'T[,,,] #)
- let GetArray4DSub (src: 'T[,,,]) src1 src2 src3 src4 len1 len2 len3 len4 =
+ let inline GetArray4DSub (src: 'T[,,,]) src1 src2 src3 src4 len1 len2 len3 len4 =
let len1 = (if len1 < 0 then 0 else len1)
let len2 = (if len2 < 0 then 0 else len2)
let len3 = (if len3 < 0 then 0 else len3)
@@ -728,7 +757,7 @@ namespace Microsoft.FSharp.Core
SetArray4D dst i j k m (GetArray4D src (src1+i) (src2+j) (src3+k) (src4+m))
dst
- let SetArray4DSub (dst: 'T[,,,]) src1 src2 src3 src4 len1 len2 len3 len4 src =
+ let inline SetArray4DSub (dst: 'T[,,,]) src1 src2 src3 src4 len1 len2 len3 len4 src =
for i = 0 to len1 - 1 do
for j = 0 to len2 - 1 do
for k = 0 to len3 - 1 do
@@ -1663,11 +1692,10 @@ namespace Microsoft.FSharp.Core
let GenericHashWithComparerIntrinsic<'T> (comp : System.Collections.IEqualityComparer) (input : 'T) : int =
GenericHashParamObj comp (box input)
- /// Direct call to GetHashCode on the string type
let inline HashString (s:string) =
match s with
| null -> 0
- | _ -> (# "call instance int32 [mscorlib]System.String :: GetHashCode()" s : int #)
+ | _ -> s.GetHashCode()
// from mscorlib v4.0.30319
let inline HashChar (x:char) = (# "or" (# "shl" x 16 : int #) x : int #)
@@ -3099,36 +3127,32 @@ namespace Microsoft.FSharp.Collections
elif n = 0 then h
else nth t (n - 1)
- // similar to 'takeFreshConsTail' but with exceptions same as array slicing
let rec sliceFreshConsTail cons n l =
if n = 0 then setFreshConsTail cons [] else
match l with
- | [] -> outOfRange()
+ | [] -> setFreshConsTail cons []
| x :: xs ->
let cons2 = freshConsNoTail x
setFreshConsTail cons cons2
sliceFreshConsTail cons2 (n - 1) xs
- // similar to 'take' but with n representing an index, not a number of elements
- // and with exceptions matching array slicing
let sliceTake n l =
if n < 0 then [] else
match l with
- | [] -> outOfRange()
+ | [] -> []
| x :: xs ->
let cons = freshConsNoTail x
sliceFreshConsTail cons n xs
cons
- // similar to 'skip' but with exceptions same as array slicing
let sliceSkip n l =
- if n < 0 then outOfRange()
+ let n2 = if n < 0 then 0 else n
let rec loop i lst =
match lst with
| _ when i = 0 -> lst
| _ :: t -> loop (i-1) t
- | [] -> outOfRange()
- loop n l
+ | [] -> []
+ loop n2 l
type List<'T> with
[]
@@ -3168,7 +3192,11 @@ namespace Microsoft.FSharp.Collections
| None, Some(j) -> PrivateListHelpers.sliceTake j l
| Some(i), Some(j) ->
if i > j then [] else
- PrivateListHelpers.sliceTake (j-i) (PrivateListHelpers.sliceSkip i l)
+ let start = if i < 0 then 0 else i
+ PrivateListHelpers.sliceTake (j - start) (PrivateListHelpers.sliceSkip start l)
+
+ []
+ member l.GetReverseIndex(_: int, offset: int) = l.Length - offset - 1
interface IEnumerable<'T> with
member l.GetEnumerator() = PrivateListHelpers.mkListEnumerator l
@@ -3203,8 +3231,6 @@ namespace Microsoft.FSharp.Core
open Microsoft.FSharp.Core.BasicInlinedOperations
open Microsoft.FSharp.Collections
-
-
[]
module Operators =
@@ -3705,7 +3731,10 @@ namespace Microsoft.FSharp.Core
when ^T : byte = (# "conv.i4" value : int32 #)
[]
- let inline int value = int32 value
+ let inline int value = int32 value
+
+ []
+ let inline uint value = uint32 value
[]
let inline enum< ^T when ^T : enum > (value:int32) : ^T = EnumOfValue value
@@ -4682,14 +4711,14 @@ namespace Microsoft.FSharp.Core
else
// a constrained, common simple iterator that is fast.
let singleStepRangeEnumerator () =
- let value : Ref<'T> = ref (n - LanguagePrimitives.GenericOne)
+ let mutable value = n - LanguagePrimitives.GenericOne
let inline current () =
// according to IEnumerator.Current documentation, the result of of Current
// is undefined prior to the first call of MoveNext and post called to MoveNext
// that return false (see https://msdn.microsoft.com/en-us/library/58e146b7%28v=vs.110%29.aspx)
// so we should be able to just return value here, which would be faster
- let derefValue = !value
+ let derefValue = value
if derefValue < n then
notStarted ()
elif derefValue > m then
@@ -4705,14 +4734,14 @@ namespace Microsoft.FSharp.Core
interface IEnumerator with
member __.Current = box (current ())
- member __.Reset () = value := n - LanguagePrimitives.GenericOne
+ member __.Reset () = value <- n - LanguagePrimitives.GenericOne
member __.MoveNext () =
- let derefValue = !value
+ let derefValue = value
if derefValue < m then
- value := derefValue + LanguagePrimitives.GenericOne
+ value <- derefValue + LanguagePrimitives.GenericOne
true
elif derefValue = m then
- value := derefValue + LanguagePrimitives.GenericOne
+ value <- derefValue + LanguagePrimitives.GenericOne
false
else false }
@@ -4880,12 +4909,16 @@ namespace Microsoft.FSharp.Core
let PowGeneric (one, mul, value: 'T, exponent) = ComputePowerGenericInlined one mul value exponent
let inline ComputeSlice bound start finish length =
- match start, finish with
- | None, None -> bound, bound + length - 1
- | None, Some n when n >= bound -> bound, n
- | Some m, None when m <= bound + length -> m, bound + length - 1
- | Some m, Some n -> m, n
- | _ -> raise (System.IndexOutOfRangeException())
+ let low =
+ match start with
+ | Some n when n >= bound -> n
+ | _ -> bound
+ let high =
+ match finish with
+ | Some m when m < bound + length -> m
+ | _ -> bound + length - 1
+
+ low, high
let inline GetArraySlice (source: _[]) start finish =
let start, finish = ComputeSlice 0 start finish source.Length
@@ -4896,7 +4929,7 @@ namespace Microsoft.FSharp.Core
let finish = (match finish with None -> target.Length - 1 | Some n -> n)
SetArraySub target start (finish - start + 1) source
- let GetArraySlice2D (source: _[,]) start1 finish1 start2 finish2 =
+ let inline GetArraySlice2D (source: _[,]) start1 finish1 start2 finish2 =
let bound1 = source.GetLowerBound(0)
let bound2 = source.GetLowerBound(1)
let start1, finish1 = ComputeSlice bound1 start1 finish1 (GetArray2DLength1 source)
@@ -4905,41 +4938,41 @@ namespace Microsoft.FSharp.Core
let len2 = (finish2 - start2 + 1)
GetArray2DSub source start1 start2 len1 len2
- let inline GetArraySlice2DFixed1 (source: _[,]) index1 start2 finish2 =
- let bound2 = source.GetLowerBound(1)
- let start2, finish2 = ComputeSlice bound2 start2 finish2 (GetArray2DLength2 source)
- let len2 = (finish2 - start2 + 1)
- let dst = zeroCreate (if len2 < 0 then 0 else len2)
- for j = 0 to len2 - 1 do
- SetArray dst j (GetArray2D source index1 (start2+j))
+ let inline GetArraySlice2DFixed (source: _[,]) start finish index nonFixedDim =
+ let bound = source.GetLowerBound(nonFixedDim)
+ let start, finish = ComputeSlice bound start finish (GetArray2DLength source nonFixedDim)
+ let len = (finish - start + 1)
+ let dst = zeroCreate (if len < 0 then 0 else len)
+ let getArrayElem =
+ match nonFixedDim with
+ | 1 -> (fun i -> GetArray2D source index (start+i))
+ | 0 -> (fun i -> GetArray2D source (start+i) index)
+ | _ -> raise (System.IndexOutOfRangeException())
+ for j = 0 to len - 1 do
+ SetArray dst j (getArrayElem j)
dst
- let inline GetArraySlice2DFixed2 (source: _[,]) start1 finish1 index2 =
- let bound1 = source.GetLowerBound(0)
- let start1, finish1 = ComputeSlice bound1 start1 finish1 (GetArray2DLength1 source)
- let len1 = (finish1 - start1 + 1)
- let dst = zeroCreate (if len1 < 0 then 0 else len1)
- for i = 0 to len1 - 1 do
- SetArray dst i (GetArray2D source (start1+i) index2)
- dst
+ let inline GetArraySlice2DFixed1 (source: _[,]) index1 start2 finish2 = GetArraySlice2DFixed source start2 finish2 index1 1
- let inline SetArraySlice2DFixed1 (target: _[,]) index1 start2 finish2 (source: _[]) =
- let bound2 = target.GetLowerBound(1)
- let start2 = (match start2 with None -> bound2 | Some n -> n)
- let finish2 = (match finish2 with None -> bound2 + GetArray2DLength2 target - 1 | Some n -> n)
- let len2 = (finish2 - start2 + 1)
- for j = 0 to len2 - 1 do
- SetArray2D target index1 (bound2+start2+j) (GetArray source j)
+ let inline GetArraySlice2DFixed2 (source: _[,]) start1 finish1 index2 = GetArraySlice2DFixed source start1 finish1 index2 0
- let inline SetArraySlice2DFixed2 (target: _[,]) start1 finish1 index2 (source:_[]) =
- let bound1 = target.GetLowerBound(0)
- let start1 = (match start1 with None -> bound1 | Some n -> n)
- let finish1 = (match finish1 with None -> bound1 + GetArray2DLength1 target - 1 | Some n -> n)
- let len1 = (finish1 - start1 + 1)
- for i = 0 to len1 - 1 do
- SetArray2D target (bound1+start1+i) index2 (GetArray source i)
+ let inline SetArraySlice2DFixed (target: _[,]) (source: _[]) index start finish nonFixedDim =
+ let bound = target.GetLowerBound(nonFixedDim)
+ let start, finish = ComputeSlice bound start finish (GetArray2DLength target nonFixedDim)
+ let len = (finish - start + 1)
+ let setArrayElem =
+ match nonFixedDim with
+ | 1 -> (fun j -> SetArray2D target index (bound + start + j) (GetArray source j))
+ | 0 -> (fun i -> SetArray2D target (bound + start + i) index (GetArray source i))
+ | _ -> raise (System.IndexOutOfRangeException())
+ for j = 0 to len - 1 do
+ setArrayElem j
- let SetArraySlice2D (target: _[,]) start1 finish1 start2 finish2 (source: _[,]) =
+ let inline SetArraySlice2DFixed1 (target: _[,]) index1 start2 finish2 (source: _[]) = SetArraySlice2DFixed target source index1 start2 finish2 1
+
+ let inline SetArraySlice2DFixed2 (target: _[,]) start1 finish1 index2 (source:_[]) = SetArraySlice2DFixed target source index2 start1 finish1 0
+
+ let inline SetArraySlice2D (target: _[,]) start1 finish1 start2 finish2 (source: _[,]) =
let bound1 = target.GetLowerBound(0)
let bound2 = target.GetLowerBound(1)
let start1 = (match start1 with None -> bound1 | Some n -> n)
@@ -4948,7 +4981,7 @@ namespace Microsoft.FSharp.Core
let finish2 = (match finish2 with None -> bound2 + GetArray2DLength2 target - 1 | Some n -> n)
SetArray2DSub target start1 start2 (finish1 - start1 + 1) (finish2 - start2 + 1) source
- let GetArraySlice3D (source: _[,,]) start1 finish1 start2 finish2 start3 finish3 =
+ let inline GetArraySlice3D (source: _[,,]) start1 finish1 start2 finish2 start3 finish3 =
let bound1 = source.GetLowerBound(0)
let bound2 = source.GetLowerBound(1)
let bound3 = source.GetLowerBound(2)
@@ -4960,7 +4993,65 @@ namespace Microsoft.FSharp.Core
let len3 = (finish3 - start3 + 1)
GetArray3DSub source start1 start2 start3 len1 len2 len3
- let SetArraySlice3D (target: _[,,]) start1 finish1 start2 finish2 start3 finish3 (source:_[,,]) =
+ let inline GetArraySlice3DFixedSingle (source: _[,,]) start1 finish1 start2 finish2 index nonFixedDim1 nonFixedDim2 =
+ let bound1 = source.GetLowerBound(nonFixedDim1)
+ let bound2 = source.GetLowerBound(nonFixedDim2)
+ let start1, finish1 = ComputeSlice bound1 start1 finish1 (GetArray3DLength source nonFixedDim1)
+ let start2, finish2 = ComputeSlice bound2 start2 finish2 (GetArray3DLength source nonFixedDim2)
+ let len1 = (finish1 - start1 + 1)
+ let len2 = (finish2 - start2 + 1)
+
+ let dst = Array2DZeroCreate (max 0 len1) (max 0 len2)
+ let getArrayElem =
+ match nonFixedDim1, nonFixedDim2 with
+ | 1, 2 -> (fun i j -> GetArray3D source index (start1 + i) (start2 + j))
+ | 0, 2 -> (fun i j -> GetArray3D source (start1 + i) index (start2 + j))
+ | 0, 1 -> (fun i j -> GetArray3D source (start1 + i) (start2 + j) index)
+ | _ -> raise (System.IndexOutOfRangeException())
+
+ for i = 0 to len1 - 1 do
+ for j = 0 to len2 - 1 do
+ SetArray2D dst i j (getArrayElem i j)
+
+ dst
+
+ []
+ let inline GetArraySlice3DFixedSingle1 (source: _[,,]) index1 start2 finish2 start3 finish3 = GetArraySlice3DFixedSingle source start2 finish2 start3 finish3 index1 1 2
+
+ []
+ let inline GetArraySlice3DFixedSingle2 (source: _[,,]) start1 finish1 index2 start3 finish3 = GetArraySlice3DFixedSingle source start1 finish1 start3 finish3 index2 0 2
+
+ []
+ let inline GetArraySlice3DFixedSingle3 (source: _[,,]) start1 finish1 start2 finish2 index3 = GetArraySlice3DFixedSingle source start1 finish1 start2 finish2 index3 0 1
+
+ let inline GetArraySlice3DFixedDouble (source: _[,,]) start finish index1 index2 nonFixedDim =
+ let bound = source.GetLowerBound(nonFixedDim)
+ let start, finish = ComputeSlice bound start finish (GetArray3DLength source nonFixedDim)
+ let len = (finish - start + 1)
+ let dst = zeroCreate (if len < 0 then 0 else len)
+ let getArrayElem =
+ match nonFixedDim with
+ | 2 -> (fun i -> GetArray3D source index1 index2 i)
+ | 1 -> (fun i -> GetArray3D source index1 (start + i) index2)
+ | 0 -> (fun i -> GetArray3D source (start+i) index1 index2)
+ | _ -> raise (System.IndexOutOfRangeException())
+ for j = 0 to len - 1 do
+ SetArray dst j (getArrayElem j)
+ dst
+
+ []
+ let inline GetArraySlice3DFixedDouble1 (source: _[,,]) index1 index2 start3 finish3 =
+ GetArraySlice3DFixedDouble source start3 finish3 index1 index2 2
+
+ []
+ let inline GetArraySlice3DFixedDouble2 (source: _[,,]) index1 start2 finish2 index3 =
+ GetArraySlice3DFixedDouble source start2 finish2 index1 index3 1
+
+ []
+ let inline GetArraySlice3DFixedDouble3 (source: _[,,]) start1 finish1 index2 index3 =
+ GetArraySlice3DFixedDouble source start1 finish1 index2 index3 0
+
+ let inline SetArraySlice3D (target: _[,,]) start1 finish1 start2 finish2 start3 finish3 (source:_[,,]) =
let bound1 = target.GetLowerBound(0)
let bound2 = target.GetLowerBound(1)
let bound3 = target.GetLowerBound(2)
@@ -4972,22 +5063,200 @@ namespace Microsoft.FSharp.Core
let finish3 = (match finish3 with None -> bound3 + GetArray3DLength3 target - 1 | Some n -> n)
SetArray3DSub target start1 start2 start3 (finish1 - start1 + 1) (finish2 - start2 + 1) (finish3 - start3 + 1) source
- let GetArraySlice4D (source: _[,,,]) start1 finish1 start2 finish2 start3 finish3 start4 finish4 =
+ let inline SetArraySlice3DFixedSingle (target: _[,,]) (source: _[,]) index start1 finish1 start2 finish2 nonFixedDim1 nonFixedDim2 =
+ let bound1 = target.GetLowerBound(nonFixedDim1)
+ let bound2 = target.GetLowerBound(nonFixedDim2)
+ let start1, finish1 = ComputeSlice bound1 start1 finish1 (GetArray3DLength target nonFixedDim1)
+ let start2, finish2 = ComputeSlice bound2 start2 finish2 (GetArray3DLength target nonFixedDim2)
+ let len1 = (finish1 - start1 + 1)
+ let len2 = (finish2 - start2 + 1)
+ let setArrayElem =
+ match nonFixedDim1, nonFixedDim2 with
+ | 1, 2 -> (fun i j -> SetArray3D target index (bound1 + start1 + i) (bound2 + start2 + j) (GetArray2D source i j))
+ | 0, 2 -> (fun i j -> SetArray3D target (bound1 + start1 + i) index (bound2+ start2 + j) (GetArray2D source i j))
+ | 0, 1 -> (fun i j -> SetArray3D target (bound1 + start1 + i) (bound2+ start2 + j) index (GetArray2D source i j))
+ | _ -> raise (System.IndexOutOfRangeException())
+
+ for i = 0 to len1 - 1 do
+ for j = 0 to len2 - 1 do
+ setArrayElem i j
+
+ []
+ let inline SetArraySlice3DFixedSingle1 (target: _[,,]) index start2 finish2 start3 finish3 (source: _[,]) =
+ SetArraySlice3DFixedSingle target source index start2 finish2 start3 finish3 1 2
+
+ []
+ let inline SetArraySlice3DFixedSingle2 (target: _[,,]) start1 finish1 index start3 finish3 (source: _[,]) =
+ SetArraySlice3DFixedSingle target source index start1 finish1 start3 finish3 0 2
+
+ []
+ let inline SetArraySlice3DFixedSingle3 (target: _[,,]) start1 finish1 start2 finish2 index (source: _[,]) =
+ SetArraySlice3DFixedSingle target source index start1 finish1 start2 finish2 0 1
+
+ let inline SetArraySlice3DFixedDouble (target: _[,,]) (source: _[]) index1 index2 start finish nonFixedDim =
+ let bound = target.GetLowerBound(nonFixedDim)
+ let start, finish = ComputeSlice bound start finish (GetArray3DLength target nonFixedDim)
+ let len = (finish - start + 1)
+ let setArrayElem =
+ match nonFixedDim with
+ | 2 -> (fun k -> SetArray3D target index1 index2 (bound + start + k) (GetArray source k))
+ | 1 -> (fun j -> SetArray3D target index1 (bound + start + j) index2 (GetArray source j))
+ | 0 -> (fun i -> SetArray3D target (bound + start + i) index1 index2 (GetArray source i))
+ | _ -> raise (System.IndexOutOfRangeException())
+ for j = 0 to len - 1 do
+ setArrayElem j
+
+ []
+ let inline SetArraySlice3DFixedDouble1 (target: _[,,]) index1 index2 start3 finish3 (source: _[]) =
+ SetArraySlice3DFixedDouble target source index1 index2 start3 finish3 2
+
+ []
+ let inline SetArraySlice3DFixedDouble2 (target: _[,,]) index1 start2 finish2 index3 (source: _[]) =
+ SetArraySlice3DFixedDouble target source index1 index3 start2 finish2 1
+
+ []
+ let inline SetArraySlice3DFixedDouble3 (target: _[,,]) start1 finish1 index2 index3 (source: _[]) =
+ SetArraySlice3DFixedDouble target source index2 index3 start1 finish1 0
+
+ let inline GetArraySlice4D (source: _[,,,]) start1 finish1 start2 finish2 start3 finish3 start4 finish4 =
let bound1 = source.GetLowerBound(0)
let bound2 = source.GetLowerBound(1)
let bound3 = source.GetLowerBound(2)
let bound4 = source.GetLowerBound(3)
- let start1, finish1 = ComputeSlice bound1 start1 finish1 (Array4DLength1 source)
- let start2, finish2 = ComputeSlice bound2 start2 finish2 (Array4DLength2 source)
- let start3, finish3 = ComputeSlice bound3 start3 finish3 (Array4DLength3 source)
- let start4, finish4 = ComputeSlice bound4 start4 finish4 (Array4DLength4 source)
+ let start1, finish1 = ComputeSlice bound1 start1 finish1 (GetArray4DLength1 source)
+ let start2, finish2 = ComputeSlice bound2 start2 finish2 (GetArray4DLength2 source)
+ let start3, finish3 = ComputeSlice bound3 start3 finish3 (GetArray4DLength3 source)
+ let start4, finish4 = ComputeSlice bound4 start4 finish4 (GetArray4DLength4 source)
let len1 = (finish1 - start1 + 1)
let len2 = (finish2 - start2 + 1)
let len3 = (finish3 - start3 + 1)
let len4 = (finish4 - start4 + 1)
GetArray4DSub source start1 start2 start3 start4 len1 len2 len3 len4
- let SetArraySlice4D (target: _[,,,]) start1 finish1 start2 finish2 start3 finish3 start4 finish4 (source:_[,,,]) =
+ let inline GetArraySlice4DFixedSingle (source: _[,,,]) start1 finish1 start2 finish2 start3 finish3 index nonFixedDim1 nonFixedDim2 nonFixedDim3 =
+ let bound1 = source.GetLowerBound(nonFixedDim1)
+ let bound2 = source.GetLowerBound(nonFixedDim2)
+ let bound3 = source.GetLowerBound(nonFixedDim3)
+ let start1, finish1 = ComputeSlice bound1 start1 finish1 (GetArray4DLength source nonFixedDim1)
+ let start2, finish2 = ComputeSlice bound2 start2 finish2 (GetArray4DLength source nonFixedDim2)
+ let start3, finish3 = ComputeSlice bound3 start3 finish3 (GetArray4DLength source nonFixedDim3)
+ let len1 = (finish1 - start1 + 1)
+ let len2 = (finish2 - start2 + 1)
+ let len3 = (finish3 - start3 + 1)
+
+ let dst = Array3DZeroCreate (max len1 0) (max len2 0) (max len3 0)
+ let getArrayElem =
+ match nonFixedDim1, nonFixedDim2, nonFixedDim3 with
+ | 1, 2, 3 -> (fun i j k-> GetArray4D source index i j k)
+ | 0, 2, 3 -> (fun i j k -> GetArray4D source i index j k)
+ | 0, 1, 3 -> (fun i j k -> GetArray4D source i j index k)
+ | 0, 1, 2 -> (fun i j k -> GetArray4D source i j k index)
+ | _ -> raise (System.IndexOutOfRangeException())
+ for i = 0 to len1 - 1 do
+ for j = 0 to len2 - 1 do
+ for k = 0 to len3 - 1 do
+ SetArray3D dst i j k (getArrayElem i j k)
+
+ dst
+
+ []
+ let inline GetArraySlice4DFixedSingle1 (source: _[,,,]) index1 start2 finish2 start3 finish3 start4 finish4 =
+ GetArraySlice4DFixedSingle source start2 finish2 start3 finish3 start4 finish4 index1 1 2 3
+
+ []
+ let inline GetArraySlice4DFixedSingle2 (source: _[,,,]) start1 finish1 index2 start3 finish3 start4 finish4 =
+ GetArraySlice4DFixedSingle source start1 finish1 start3 finish3 start4 finish4 index2 0 2 3
+
+ []
+ let inline GetArraySlice4DFixedSingle3 (source: _[,,,]) start1 finish1 start2 finish2 index3 start4 finish4 =
+ GetArraySlice4DFixedSingle source start1 finish1 start2 finish2 start4 finish4 index3 0 1 3
+
+ []
+ let inline GetArraySlice4DFixedSingle4 (source: _[,,,]) start1 finish1 start2 finish2 start3 finish3 index4 =
+ GetArraySlice4DFixedSingle source start1 finish1 start2 finish2 start3 finish3 index4 0 1 2
+
+ let inline GetArraySlice4DFixedDouble (source: _[,,,]) start1 finish1 start2 finish2 index1 index2 nonFixedDim1 nonFixedDim2 =
+ let bound1 = source.GetLowerBound(nonFixedDim1)
+ let bound2 = source.GetLowerBound(nonFixedDim2)
+ let start1, finish1 = ComputeSlice bound1 start1 finish1 (GetArray4DLength source nonFixedDim1)
+ let start2, finish2 = ComputeSlice bound2 start2 finish2 (GetArray4DLength source nonFixedDim2)
+ let len1 = (finish1 - start1 + 1)
+ let len2 = (finish2 - start2 + 1)
+
+ let dst = Array2DZeroCreate (max len1 0) (max len2 0)
+ let getArrayElem =
+ match nonFixedDim1, nonFixedDim2 with
+ | 2, 3 -> (fun i j -> GetArray4D source index1 index2 i j)
+ | 1, 3 -> (fun i j -> GetArray4D source index1 i index2 j)
+ | 1, 2 -> (fun i j -> GetArray4D source index1 i j index2)
+ | 0, 3 -> (fun i j -> GetArray4D source i index1 index2 j)
+ | 0, 2 -> (fun i j -> GetArray4D source i index1 j index2)
+ | 0, 1 -> (fun i j -> GetArray4D source i j index1 index2)
+ | _ -> raise (System.IndexOutOfRangeException())
+ for i = 0 to len1 - 1 do
+ for j = 0 to len2 - 1 do
+ SetArray2D dst i j (getArrayElem i j)
+
+ dst
+
+ []
+ let inline GetArraySlice4DFixedDouble1 (source: _[,,,]) index1 index2 start3 finish3 start4 finish4 =
+ GetArraySlice4DFixedDouble source start3 finish3 start4 finish4 index1 index2 2 3
+
+ []
+ let inline GetArraySlice4DFixedDouble2 (source: _[,,,]) index1 start2 finish2 index3 start4 finish4 =
+ GetArraySlice4DFixedDouble source start2 finish2 start4 finish4 index1 index3 1 3
+
+ []
+ let inline GetArraySlice4DFixedDouble3 (source: _[,,,]) index1 start2 finish2 start3 finish3 index4 =
+ GetArraySlice4DFixedDouble source start2 finish2 start3 finish3 index1 index4 1 2
+
+ []
+ let inline GetArraySlice4DFixedDouble4 (source: _[,,,]) start1 finish1 index2 index3 start4 finish4 =
+ GetArraySlice4DFixedDouble source start1 finish1 start4 finish4 index2 index3 0 3
+
+ []
+ let inline GetArraySlice4DFixedDouble5 (source: _[,,,]) start1 finish1 index2 start3 finish3 index4 =
+ GetArraySlice4DFixedDouble source start1 finish1 start3 finish3 index2 index4 0 2
+
+ []
+ let inline GetArraySlice4DFixedDouble6 (source: _[,,,]) start1 finish1 start2 finish2 index3 index4 =
+ GetArraySlice4DFixedDouble source start1 finish1 start2 finish2 index3 index4 0 1
+
+ let inline GetArraySlice4DFixedTriple (source: _[,,,]) start1 finish1 index1 index2 index3 nonFixedDim1 =
+ let bound1 = source.GetLowerBound(nonFixedDim1)
+ let start1, finish1 = ComputeSlice bound1 start1 finish1 (GetArray4DLength source nonFixedDim1)
+ let len1 = (finish1 - start1 + 1)
+ let dst = zeroCreate (max len1 0)
+ let getArrayElem =
+ match nonFixedDim1 with
+ | 0 -> (fun i -> GetArray4D source i index1 index2 index3)
+ | 1 -> (fun i -> GetArray4D source index1 i index2 index3)
+ | 2 -> (fun i -> GetArray4D source index1 index2 i index3)
+ | 3 -> (fun i -> GetArray4D source index1 index2 index3 i)
+ | _ -> raise (System.IndexOutOfRangeException())
+ for i = 0 to len1 - 1 do
+ SetArray dst i (getArrayElem i)
+
+ dst
+
+ []
+ let inline GetArraySlice4DFixedTriple1 (source: _[,,,]) start1 finish1 index2 index3 index4 =
+ GetArraySlice4DFixedTriple source start1 finish1 index2 index3 index4 0
+
+ []
+ let inline GetArraySlice4DFixedTriple2 (source: _[,,,]) index1 start2 finish2 index3 index4 =
+ GetArraySlice4DFixedTriple source start2 finish2 index1 index3 index4 1
+
+ []
+ let inline GetArraySlice4DFixedTriple3 (source: _[,,,]) index1 index2 start3 finish3 index4 =
+ GetArraySlice4DFixedTriple source start3 finish3 index1 index2 index4 2
+
+ []
+ let inline GetArraySlice4DFixedTriple4 (source: _[,,,]) index1 index2 index3 start4 finish4 =
+ GetArraySlice4DFixedTriple source start4 finish4 index1 index2 index3 3
+
+ let inline SetArraySlice4D (target: _[,,,]) start1 finish1 start2 finish2 start3 finish3 start4 finish4 (source:_[,,,]) =
let bound1 = target.GetLowerBound(0)
let bound2 = target.GetLowerBound(1)
let bound3 = target.GetLowerBound(2)
@@ -4996,12 +5265,128 @@ namespace Microsoft.FSharp.Core
let start2 = (match start2 with None -> bound2 | Some n -> n)
let start3 = (match start3 with None -> bound3 | Some n -> n)
let start4 = (match start4 with None -> bound4 | Some n -> n)
- let finish1 = (match finish1 with None -> bound1 + Array4DLength1 target - 1 | Some n -> n)
- let finish2 = (match finish2 with None -> bound2 + Array4DLength2 target - 1 | Some n -> n)
- let finish3 = (match finish3 with None -> bound3 + Array4DLength3 target - 1 | Some n -> n)
- let finish4 = (match finish4 with None -> bound4 + Array4DLength4 target - 1 | Some n -> n)
+ let finish1 = (match finish1 with None -> bound1 + GetArray4DLength1 target - 1 | Some n -> n)
+ let finish2 = (match finish2 with None -> bound2 + GetArray4DLength2 target - 1 | Some n -> n)
+ let finish3 = (match finish3 with None -> bound3 + GetArray4DLength3 target - 1 | Some n -> n)
+ let finish4 = (match finish4 with None -> bound4 + GetArray4DLength4 target - 1 | Some n -> n)
SetArray4DSub target start1 start2 start3 start4 (finish1 - start1 + 1) (finish2 - start2 + 1) (finish3 - start3 + 1) (finish4 - start4 + 1) source
+ let inline SetArraySlice4DFixedSingle (target: _[,,,]) (source: _[,,]) index start1 finish1 start2 finish2 start3 finish3 nonFixedDim1 nonFixedDim2 nonFixedDim3 =
+ let bound1 = target.GetLowerBound(nonFixedDim1)
+ let bound2 = target.GetLowerBound(nonFixedDim2)
+ let bound3 = target.GetLowerBound(nonFixedDim3)
+ let start1, finish1 = ComputeSlice bound1 start1 finish1 (GetArray4DLength target nonFixedDim1)
+ let start2, finish2 = ComputeSlice bound2 start2 finish2 (GetArray4DLength target nonFixedDim2)
+ let start3, finish3 = ComputeSlice bound3 start3 finish3 (GetArray4DLength target nonFixedDim3)
+ let len1 = (finish1 - start1 + 1)
+ let len2 = (finish2 - start2 + 1)
+ let len3 = (finish3 - start3 + 1)
+
+ let setArrayElem =
+ match nonFixedDim1, nonFixedDim2, nonFixedDim3 with
+ | 1, 2, 3 -> (fun i j k -> SetArray4D target index (bound1 + start1 + i) (bound2 + start2 + j) (bound3 + start3 + k) (GetArray3D source i j k))
+ | 0, 2, 3 -> (fun i j k -> SetArray4D target (bound1 + start1 + i) index (bound2 + start2 + j) (bound3 + start3 + k) (GetArray3D source i j k))
+ | 0, 1, 3 -> (fun i j k -> SetArray4D target (bound1 + start1 + i) (bound2 + start2 + j) index (bound3 + start3 + k) (GetArray3D source i j k))
+ | 0, 1, 2 -> (fun i j k -> SetArray4D target (bound1 + start1 + i) (bound2 + start2 + j) (bound3 + start3 + k) index (GetArray3D source i j k))
+ | _ -> raise (System.IndexOutOfRangeException())
+
+ for i = 0 to len1 - 1 do
+ for j = 0 to len2 - 1 do
+ for k = 0 to len3 - 1 do
+ setArrayElem i j k
+
+ []
+ let inline SetArraySlice4DFixedSingle1 (target: _[,,,]) index1 start2 finish2 start3 finish3 start4 finish4 (source: _[,,]) =
+ SetArraySlice4DFixedSingle target source index1 start2 finish2 start3 finish3 start4 finish4 1 2 3
+
+ []
+ let inline SetArraySlice4DFixedSingle2 (target: _[,,,]) start1 finish1 index2 start3 finish3 start4 finish4 (source: _[,,]) =
+ SetArraySlice4DFixedSingle target source index2 start1 finish1 start3 finish3 start4 finish4 0 2 3
+
+ []
+ let inline SetArraySlice4DFixedSingle3 (target: _[,,,]) start1 finish1 start2 finish2 index3 start4 finish4 (source: _[,,]) =
+ SetArraySlice4DFixedSingle target source index3 start1 finish1 start2 finish2 start4 finish4 0 1 3
+
+ []
+ let inline SetArraySlice4DFixedSingle4 (target: _[,,,]) start1 finish1 start2 finish2 start3 finish3 index4 (source: _[,,]) =
+ SetArraySlice4DFixedSingle target source index4 start1 finish1 start2 finish2 start3 finish3 0 1 2
+
+ let inline SetArraySlice4DFixedDouble (target: _[,,,]) (source: _[,]) index1 index2 start1 finish1 start2 finish2 nonFixedDim1 nonFixedDim2 =
+ let bound1 = target.GetLowerBound(nonFixedDim1)
+ let bound2 = target.GetLowerBound(nonFixedDim2)
+ let start1, finish1 = ComputeSlice bound1 start1 finish1 (GetArray4DLength target nonFixedDim1)
+ let start2, finish2 = ComputeSlice bound2 start2 finish2 (GetArray4DLength target nonFixedDim2)
+ let len1 = (finish1 - start1 + 1)
+ let len2 = (finish2 - start2 + 1)
+
+ let setArrayElem =
+ match nonFixedDim1, nonFixedDim2 with
+ | 2, 3 -> (fun i j -> SetArray4D target index1 index2 (bound1 + start1 + i) (bound2 + start2 + j) (GetArray2D source i j))
+ | 1, 3 -> (fun i j -> SetArray4D target index1 (bound1 + start1 + i) index2 (bound2 + start2 + j) (GetArray2D source i j))
+ | 1, 2 -> (fun i j -> SetArray4D target index1 (bound1 + start1 + i) (bound2 + start2 + j) index2 (GetArray2D source i j))
+ | 0, 3 -> (fun i j -> SetArray4D target (bound1 + start1 + i) index1 index2 (bound2 + start2 + j) (GetArray2D source i j))
+ | 0, 2 -> (fun i j -> SetArray4D target (bound1 + start1 + i) index1 (bound2 + start2 + j) index2 (GetArray2D source i j))
+ | 0, 1 -> (fun i j -> SetArray4D target (bound1 + start1 + i) (bound2 + start2 + j) index1 index2 (GetArray2D source i j))
+ | _ -> raise (System.IndexOutOfRangeException())
+
+ for i = 0 to len1 - 1 do
+ for j = 0 to len2 - 1 do
+ setArrayElem i j
+
+ []
+ let inline SetArraySlice4DFixedDouble1 (target: _[,,,]) index1 index2 start3 finish3 start4 finish4 (source: _[,]) =
+ SetArraySlice4DFixedDouble target source index1 index2 start3 finish3 start4 finish4 2 3
+
+ []
+ let inline SetArraySlice4DFixedDouble2 (target: _[,,,]) index1 start2 finish2 index3 start4 finish4 (source: _[,]) =
+ SetArraySlice4DFixedDouble target source index1 index3 start2 finish2 start4 finish4 1 3
+
+ []
+ let inline SetArraySlice4DFixedDouble3 (target: _[,,,]) index1 start2 finish2 start3 finish3 index4 (source: _[,]) =
+ SetArraySlice4DFixedDouble target source index1 index4 start2 finish2 start3 finish3 1 2
+
+ []
+ let inline SetArraySlice4DFixedDouble4 (target: _[,,,]) start1 finish1 index2 index3 start4 finish4 (source: _[,]) =
+ SetArraySlice4DFixedDouble target source index2 index3 start1 finish1 start4 finish4 0 3
+
+ []
+ let inline SetArraySlice4DFixedDouble5 (target: _[,,,]) start1 finish1 index2 start3 finish3 index4 (source: _[,]) =
+ SetArraySlice4DFixedDouble target source index2 index4 start1 finish1 start3 finish3 0 2
+
+ []
+ let inline SetArraySlice4DFixedDouble6 (target: _[,,,]) start1 finish1 start2 finish2 index3 index4 (source: _[,]) =
+ SetArraySlice4DFixedDouble target source index3 index4 start1 finish1 start2 finish2 0 1
+
+ let inline SetArraySlice4DFixedTriple (target: _[,,,]) (source: _[]) index1 index2 index3 start1 finish1 nonFixedDim1 =
+ let bound1 = target.GetLowerBound(nonFixedDim1)
+ let start1, finish1 = ComputeSlice bound1 start1 finish1 (GetArray4DLength target nonFixedDim1)
+ let len1 = (finish1 - start1 + 1)
+ let setArrayElem =
+ match nonFixedDim1 with
+ | 0 -> (fun i -> SetArray4D target (bound1 + start1 + i) index1 index2 index3 (GetArray source i))
+ | 1 -> (fun i -> SetArray4D target index1 (bound1 + start1 + i) index2 index3 (GetArray source i))
+ | 2 -> (fun i -> SetArray4D target index1 index2 (bound1 + start1 + i) index3 (GetArray source i))
+ | 3 -> (fun i -> SetArray4D target index1 index2 index3 (bound1 + start1 + i) (GetArray source i))
+ | _ -> raise (System.IndexOutOfRangeException())
+ for i = 0 to len1 - 1 do
+ setArrayElem i
+
+ []
+ let inline SetArraySlice4DFixedTriple1 (target: _[,,,]) start1 finish1 index2 index3 index4 (source: _[]) =
+ SetArraySlice4DFixedTriple target source index2 index3 index4 start1 finish1 0
+
+ []
+ let inline SetArraySlice4DFixedTriple2 (target: _[,,,]) index1 start2 finish2 index3 index4 (source: _[]) =
+ SetArraySlice4DFixedTriple target source index1 index3 index4 start2 finish2 1
+
+ []
+ let inline SetArraySlice4DFixedTriple3 (target: _[,,,]) index1 index2 start3 finish3 index4 (source: _[]) =
+ SetArraySlice4DFixedTriple target source index1 index2 index4 start3 finish3 2
+
+ []
+ let inline SetArraySlice4DFixedTriple4 (target: _[,,,]) index1 index2 index3 start4 finish4 (source: _[]) =
+ SetArraySlice4DFixedTriple target source index1 index2 index3 start4 finish4 3
+
let inline GetStringSlice (source: string) start finish =
let start, finish = ComputeSlice 0 start finish source.Length
let len = finish-start+1
@@ -5024,7 +5409,7 @@ namespace Microsoft.FSharp.Core
when ^T : int16 = let x : int16 = retype x in System.Math.Abs(x)
when ^T : sbyte = let x : sbyte = retype x in System.Math.Abs(x)
when ^T : decimal = System.Math.Abs(retype x : decimal)
-
+
[]
let inline acosImpl(x: ^T) : ^T =
(^T: (static member Acos : ^T -> ^T) (x))
@@ -5420,13 +5805,6 @@ namespace Microsoft.FSharp.Core
when ^T : byte = RangeByte (retype start) (retype step) (retype finish)
- type ``[,]``<'T> with
- member arr.GetSlice(x : int, y1 : int option, y2 : int option) = GetArraySlice2DFixed1 arr x y1 y2
- member arr.GetSlice(x1 : int option, x2 : int option, y : int) = GetArraySlice2DFixed2 arr x1 x2 y
-
- member arr.SetSlice(x : int, y1 : int option, y2 : int option, source:'T[]) = SetArraySlice2DFixed1 arr x y1 y2 source
- member arr.SetSlice(x1 : int option, x2 : int option, y : int, source:'T[]) = SetArraySlice2DFixed2 arr x1 x2 y source
-
[]
let inline abs (value: ^T) : ^T =
AbsDynamic value
@@ -5600,6 +5978,52 @@ namespace Microsoft.FSharp.Core
(let x = (retype x : decimal) in
if n >= 0 then PowDecimal x n else 1.0M / PowDecimal x n)
+ []
+ []
+ module ArrayExtensions =
+ type ``[,,,]``<'T> with
+ []
+ member arr.GetReverseIndex(dim: int, offset: int) =
+ let len =
+ match dim with
+ | 0 -> GetArray4DLength1 arr
+ | 1 -> GetArray4DLength2 arr
+ | 2 -> GetArray4DLength3 arr
+ | 3 -> GetArray4DLength4 arr
+ | _ -> raise (System.IndexOutOfRangeException())
+
+ len - offset - 1
+
+ type ``[,,]``<'T> with
+ []
+ member arr.GetReverseIndex(dim: int, offset: int) =
+ let len =
+ match dim with
+ | 0 -> GetArray3DLength1 arr
+ | 1 -> GetArray3DLength2 arr
+ | 2 -> GetArray3DLength3 arr
+ | _ -> raise (System.IndexOutOfRangeException())
+
+ len - offset - 1
+
+ type ``[,]``<'T> with
+ []
+ member arr.GetReverseIndex(dim: int, offset: int) =
+ let len =
+ match dim with
+ | 0 -> GetArray2DLength1 arr
+ | 1 -> GetArray2DLength2 arr
+ | _ -> raise (System.IndexOutOfRangeException())
+
+ len - offset - 1
+
+ type ``[]``<'T> with
+ []
+ member arr.GetReverseIndex (_: int, offset: int) = arr.Length - offset - 1
+
+ type System.String with
+ []
+ member str.GetReverseIndex (_: int, offset: int) = str.Length - offset - 1
namespace Microsoft.FSharp.Control
diff --git a/src/fsharp/FSharp.Core/prim-types.fsi b/src/fsharp/FSharp.Core/prim-types.fsi
index cd28701e67..afa0719602 100644
--- a/src/fsharp/FSharp.Core/prim-types.fsi
+++ b/src/fsharp/FSharp.Core/prim-types.fsi
@@ -618,7 +618,7 @@ namespace Microsoft.FSharp.Core
/// This attribute is used to tag values that are part of an experimental library
/// feature.
- []
+ []
[]
type ExperimentalAttribute =
inherit Attribute
@@ -1930,7 +1930,14 @@ namespace Microsoft.FSharp.Collections
/// The end index.
/// The sub list specified by the input indices.
member GetSlice : startIndex:int option * endIndex:int option -> 'T list
-
+
+ /// Get the index for the element offset elements away from the end of the collection.
+ /// The rank of the index.
+ /// The offset from the end.
+ /// The corresponding index from the start.
+ []
+ member GetReverseIndex: rank: int * offset: int -> int
+
/// Returns a list with head as its first element and tail as its subsequent elements
/// A new head value for the list.
/// The existing list.
@@ -2632,6 +2639,15 @@ namespace Microsoft.FSharp.Core
[]
val inline int : value:^T -> int when ^T : (static member op_Explicit : ^T -> int) and default ^T : int
+ /// Converts the argument to an unsigned 32-bit integer. This is a direct conversion for all
+ /// primitive numeric types. For strings, the input is converted using UInt32.Parse()
+ /// with InvariantCulture settings. Otherwise the operation requires an appropriate
+ /// static conversion method on the input type.
+ /// The input value.
+ /// The converted int
+ []
+ val inline uint: value:^T -> uint when ^T: (static member op_Explicit: ^T -> uint) and default ^T: uint
+
/// Converts the argument to a particular enum type.
/// The input value.
/// The converted enum type.
@@ -2740,6 +2756,50 @@ namespace Microsoft.FSharp.Core
[]
val ( |KeyValue| ): keyValuePair:KeyValuePair<'Key,'Value> -> 'Key * 'Value
+ []
+ []
+ module ArrayExtensions =
+ type ``[,,,]``<'T> with
+ /// Get the index for the element offset elements away from the end of the collection.
+ /// The rank of the index. This refers to the dimension in the 4d array.
+ /// The offset from the end.
+ /// The corresponding index from the start.
+ []
+ member GetReverseIndex: rank: int * offset: int -> int
+
+ type ``[,,]``<'T> with
+ /// Get the index for the element offset elements away from the end of the collection.
+ /// The rank of the index. This refers to the dimension in the 3d array.
+ /// The offset from the end.
+ /// The corresponding index from the start.
+ []
+ member GetReverseIndex: rank: int * offset: int -> int
+
+ type ``[,]``<'T> with
+ /// Get the index for the element offset elements away from the end of the collection.
+ /// The rank of the index. This refers to the dimension in the 2d array.
+ /// The offset from the end.
+ /// The corresponding index from the start.
+ []
+ member GetReverseIndex: rank: int * offset: int -> int
+
+ type ``[]``<'T> with
+ /// Get the index for the element offset elements away from the end of the collection.
+ /// The rank of the index.
+ /// The offset from the end.
+ /// The corresponding index from the start.
+ []
+ member GetReverseIndex: rank: int * offset: int -> int
+
+ type System.String with
+ /// Get the index for the element offset elements away from the end of the collection.
+ /// The rank of the index.
+ /// The offset from the end.
+ /// The corresponding index from the start.
+ []
+ member GetReverseIndex: rank: int * offset: int -> int
+
+
/// A module of compiler intrinsic functions for efficient implementations of F# integer ranges
/// and dynamic invocations of other F# operators
module OperatorIntrinsics =
@@ -2765,7 +2825,7 @@ namespace Microsoft.FSharp.Core
/// The start index of the second dimension.
/// The end index of the second dimension.
/// The two dimensional sub array from the input indices.
- val GetArraySlice2D : source:'T[,] -> start1:int option -> finish1:int option -> start2:int option -> finish2:int option -> 'T[,]
+ val inline GetArraySlice2D : source:'T[,] -> start1:int option -> finish1:int option -> start2:int option -> finish2:int option -> 'T[,]
/// Gets a vector slice of a 2D array. The index of the first dimension is fixed.
/// The source array.
@@ -2790,7 +2850,7 @@ namespace Microsoft.FSharp.Core
/// The start index of the second dimension.
/// The end index of the second dimension.
/// The source array.
- val SetArraySlice2D : target:'T[,] -> start1:int option -> finish1:int option -> start2:int option -> finish2:int option -> source:'T[,] -> unit
+ val inline SetArraySlice2D : target:'T[,] -> start1:int option -> finish1:int option -> start2:int option -> finish2:int option -> source:'T[,] -> unit
/// Sets a vector slice of a 2D array. The index of the first dimension is fixed.
/// The target array.
@@ -2817,7 +2877,70 @@ namespace Microsoft.FSharp.Core
/// The start index of the third dimension.
/// The end index of the third dimension.
/// The three dimensional sub array from the given indices.
- val GetArraySlice3D : source:'T[,,] -> start1:int option -> finish1:int option -> start2:int option -> finish2:int option -> start3:int option -> finish3:int option -> 'T[,,]
+ val inline GetArraySlice3D : source:'T[,,] -> start1:int option -> finish1:int option -> start2:int option -> finish2:int option -> start3:int option -> finish3:int option -> 'T[,,]
+
+ /// Gets a 2D slice of a 3D array.
+ /// The source array.
+ /// The fixed index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The two dimensional sub array from the given indices.
+ []
+ val inline GetArraySlice3DFixedSingle1 : source:'T[,,] -> index1:int -> start2:int option -> finish2:int option -> start3:int option -> finish3:int option -> 'T[,]
+
+ /// Gets a 2D slice of a 3D array.
+ /// The source array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The two dimensional sub array from the given indices.
+ []
+ val inline GetArraySlice3DFixedSingle2 : source:'T[,,] -> start1:int option -> finish1:int option -> index2: int -> start3:int option -> finish3:int option -> 'T[,]
+
+ /// Gets a 2D slice of a 3D array.
+ /// The source array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The two dimensional sub array from the given indices.
+ []
+ val inline GetArraySlice3DFixedSingle3 : source:'T[,,] -> start1:int option -> finish1:int option -> start2:int option -> finish2:int option -> index3: int -> 'T[,]
+
+ /// Gets a 1D slice of a 3D array.
+ /// The source array.
+ /// The fixed index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The one dimensional sub array from the given indices.
+ []
+ val inline GetArraySlice3DFixedDouble1 : source:'T[,,] -> index1:int -> index2:int -> start3:int option -> finish3:int option -> 'T[]
+
+ /// Gets a 1D slice of a 3D array.
+ /// The source array.
+ /// The fixed index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The one dimensional sub array from the given indices.
+ []
+ val inline GetArraySlice3DFixedDouble2 : source:'T[,,] -> index1:int -> start2:int option -> finish2:int option -> index3:int -> 'T[]
+
+ /// Gets a 1D slice of a 3D array.
+ /// The source array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The one dimensional sub array from the given indices.
+ []
+ val inline GetArraySlice3DFixedDouble3 : source:'T[,,] -> start1:int option -> finish1:int option -> index2:int -> index3:int -> 'T[]
/// Sets a slice of an array
/// The target array.
@@ -2828,7 +2951,76 @@ namespace Microsoft.FSharp.Core
/// The start index of the third dimension.
/// The end index of the third dimension.
/// The source array.
- val SetArraySlice3D : target:'T[,,] -> start1:int option -> finish1:int option -> start2:int option -> finish2:int option -> start3:int option -> finish3:int option -> source:'T[,,] -> unit
+ val inline SetArraySlice3D : target:'T[,,] -> start1:int option -> finish1:int option -> start2:int option -> finish2:int option -> start3:int option -> finish3:int option -> source:'T[,,] -> unit
+
+ /// Sets a 2D slice of a 3D array
+ /// The target array.
+ /// The fixed index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The source array.
+ /// The two dimensional sub array from the given indices.
+ []
+ val inline SetArraySlice3DFixedSingle1 : target: 'T[,,] -> index1: int -> start2: int option -> finish2: int option -> start3: int option -> finish3: int option -> source: 'T[,] -> unit
+
+ /// Sets a 2D slice of a 3D array
+ /// The target array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The source array.
+ /// The two dimensional sub array from the given indices.
+ []
+ val inline SetArraySlice3DFixedSingle2 : target: 'T[,,] -> start1: int option -> finish1: int option -> index2: int -> start3: int option -> finish3: int option -> source: 'T[,] -> unit
+
+ /// Sets a 2D slice of a 3D array
+ /// The target array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The source array.
+ /// The two dimensional sub array from the given indices.
+ []
+ val inline SetArraySlice3DFixedSingle3 : target: 'T[,,] -> start1: int option -> finish1: int option -> start2: int option -> finish2: int option -> index3: int -> source: 'T[,] -> unit
+
+ /// Sets a 1D slice of a 3D array.
+ /// The source array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The source array.
+ /// The one dimensional sub array from the given indices.
+ []
+ val inline SetArraySlice3DFixedDouble1 : target: 'T[,,] -> index1: int -> index2: int -> start3: int option -> finish3: int option -> source: 'T[] -> unit
+
+ /// Sets a 1D slice of a 3D array.
+ /// The source array.
+ /// The fixed index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The source array.
+ /// The one dimensional sub array from the given indices.
+ []
+ val inline SetArraySlice3DFixedDouble2 : target: 'T[,,] -> index1: int -> start2: int option -> finish2: int option -> index3: int -> source: 'T[] -> unit
+
+ /// Sets a 1D slice of a 3D array.
+ /// The source array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The source array.
+ /// The one dimensional sub array from the given indices.
+ []
+ val inline SetArraySlice3DFixedDouble3 : target: 'T[,,] -> start1: int option -> finish1: int option -> index2: int -> index3: int -> source: 'T[] -> unit
/// Gets a slice of an array
/// The source array.
@@ -2841,7 +3033,315 @@ namespace Microsoft.FSharp.Core
/// The start index of the fourth dimension.
/// The end index of the fourth dimension.
/// The four dimensional sub array from the given indices.
- val GetArraySlice4D : source:'T[,,,] -> start1:int option -> finish1:int option -> start2:int option -> finish2:int option -> start3:int option -> finish3:int option -> start4:int option -> finish4:int option -> 'T[,,,]
+ val inline GetArraySlice4D : source:'T[,,,] -> start1:int option -> finish1:int option -> start2:int option -> finish2:int option -> start3:int option -> finish3:int option -> start4:int option -> finish4:int option -> 'T[,,,]
+
+ /// Gets a 3D slice of a 4D array
+ /// The source array.
+ /// The fixed index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The start index of the fourth dimension.
+ /// The end index of the fourth dimension.
+ /// The three dimensional sub array from the given indices.
+ val inline GetArraySlice4DFixedSingle1 : source:'T[,,,] -> index1:int -> start2: int option -> finish2:int option -> start3:int option -> finish3:int option -> start4:int option -> finish4:int option -> 'T[,,]
+
+ /// Gets a 3D slice of a 4D array
+ /// The source array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The start index of the fourth dimension.
+ /// The end index of the fourth dimension.
+ /// The three dimensional sub array from the given indices.
+ val inline GetArraySlice4DFixedSingle2 : source:'T[,,,] -> start1:int option -> finish1:int option -> index2:int -> start3:int option -> finish3:int option -> start4:int option -> finish4:int option -> 'T[,,]
+
+ /// Gets a 3D slice of a 4D array
+ /// The source array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The start index of the fourth dimension.
+ /// The end index of the fourth dimension.
+ /// The three dimensional sub array from the given indices.
+ val inline GetArraySlice4DFixedSingle3 : source:'T[,,,] -> start1:int option -> finish1:int option -> start2:int option -> finish2:int option -> index3:int -> start4:int option -> finish4:int option -> 'T[,,]
+
+ /// Gets a 3D slice of a 4D array
+ /// The source array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The fixed index of the fourth dimension.
+ /// The three dimensional sub array from the given indices.
+ val inline GetArraySlice4DFixedSingle4 : source:'T[,,,] -> start1:int option -> finish1:int option -> start2: int option -> finish2:int option -> start3:int option -> finish3:int option -> index4:int -> 'T[,,]
+
+ /// Gets a 2D slice of a 4D array
+ /// The source array.
+ /// The fixed index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The start index of the fourth dimension.
+ /// The end index of the fourth dimension.
+ /// The two dimensional sub array from the given indices.
+ val inline GetArraySlice4DFixedDouble1 : source:'T[,,,] -> index1: int -> index2:int -> start3:int option -> finish3:int option -> start4:int option -> finish4:int option -> 'T[,]
+
+ /// Gets a 2D slice of a 4D array
+ /// The source array.
+ /// The fixed index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The start index of the fourth dimension.
+ /// The end index of the fourth dimension.
+ /// The two dimensional sub array from the given indices.
+ val inline GetArraySlice4DFixedDouble2 : source:'T[,,,] -> index1: int -> start2: int option -> finish2:int option -> index3:int -> start4:int option -> finish4:int option -> 'T[,]
+
+ /// Gets a 2D slice of a 4D array
+ /// The source array.
+ /// The fixed index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The fixed index of the fourth dimension.
+ /// The two dimensional sub array from the given indices.
+ val inline GetArraySlice4DFixedDouble3 : source:'T[,,,] -> index1:int -> start2: int option -> finish2:int option -> start3:int option -> finish3:int option -> index4:int -> 'T[,]
+
+ /// Gets a 2D slice of a 4D array
+ /// The source array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The start index of the fourth dimension.
+ /// The end index of the fourth dimension.
+ /// The two dimensional sub array from the given indices.
+ val inline GetArraySlice4DFixedDouble4 : source:'T[,,,] -> start1:int option -> finish1:int option -> index2:int -> index3:int -> start4:int option -> finish4:int option -> 'T[,]
+
+ /// Gets a 2D slice of a 4D array
+ /// The source array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The fixed index of the fourth dimension.
+ /// The two dimensional sub array from the given indices.
+ val inline GetArraySlice4DFixedDouble5 : source:'T[,,,] -> start1:int option -> finish1:int option -> index2:int -> start3:int option -> finish3:int option -> index4:int -> 'T[,]
+
+ /// Gets a 2D slice of a 4D array
+ /// The source array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The fixed index of the fourth dimension.
+ /// The two dimensional sub array from the given indices.
+ val inline GetArraySlice4DFixedDouble6 : source:'T[,,,] -> start1:int option -> finish1:int option -> start2: int option -> finish2:int option -> index3:int -> index4:int -> 'T[,]
+
+ /// Gets a 1D slice of a 4D array
+ /// The source array.
+ /// The fixed index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The start index of the fourth dimension.
+ /// The end index of the fourth dimension.
+ /// The one dimensional sub array from the given indices.
+ val inline GetArraySlice4DFixedTriple4 : source:'T[,,,] -> index1:int -> index2:int -> index3:int -> start4:int option -> finish4:int option -> 'T[]
+
+ /// Gets a 1D slice of a 4D array
+ /// The source array.
+ /// The fixed index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The fixed index of the fourth dimension.
+ /// The one dimensional sub array from the given indices.
+ val inline GetArraySlice4DFixedTriple3 : source:'T[,,,] -> index1:int -> index2:int -> start3:int option -> finish3:int option -> index4:int -> 'T[]
+
+ /// Gets a 1D slice of a 4D array
+ /// The source array.
+ /// The fixed index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The fixed index of the fourth dimension.
+ /// The one dimensional sub array from the given indices.
+ val inline GetArraySlice4DFixedTriple2 : source:'T[,,,] -> index1:int -> start2: int option -> finish2:int option -> index3:int -> index4:int -> 'T[]
+
+ /// Gets a 1D slice of a 4D array
+ /// The source array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The fixed index of the fourth dimension.
+ /// The one dimensional sub array from the given indices.
+ val inline GetArraySlice4DFixedTriple1 : source:'T[,,,] -> start1:int option -> finish1:int option -> index2:int -> index3:int -> index4:int -> 'T[]
+
+ /// Gets a 3D slice of a 4D array
+ /// The source array.
+ /// The fixed index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The start index of the fourth dimension.
+ /// The end index of the fourth dimension.
+ /// The source array.
+ val inline SetArraySlice4DFixedSingle1 : target:'T[,,,] -> index1:int -> start2: int option -> finish2:int option -> start3:int option -> finish3:int option -> start4:int option -> finish4:int option -> source: 'T[,,] -> unit
+
+ /// Sets a 3D slice of a 4D array
+ /// The target array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The start index of the fourth dimension.
+ /// The end index of the fourth dimension.
+ /// The source array.
+ val inline SetArraySlice4DFixedSingle2 : target:'T[,,,] -> start1:int option -> finish1:int option -> index2:int -> start3:int option -> finish3:int option -> start4:int option -> finish4:int option -> source: 'T[,,] -> unit
+
+ /// Sets a 3D slice of a 4D array
+ /// The target array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The start index of the fourth dimension.
+ /// The end index of the fourth dimension.
+ /// The source array.
+ val inline SetArraySlice4DFixedSingle3 : target:'T[,,,] -> start1:int option -> finish1:int option -> start2:int option -> finish2:int option -> index3:int -> start4:int option -> finish4:int option -> source: 'T[,,] -> unit
+
+ /// Sets a 3D slice of a 4D array
+ /// The target array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The fixed index of the fourth dimension.
+ /// The source array.
+ val inline SetArraySlice4DFixedSingle4 : target:'T[,,,] -> start1:int option -> finish1:int option -> start2: int option -> finish2:int option -> start3:int option -> finish3:int option -> index4:int -> source: 'T[,,] -> unit
+
+ /// Sets a 2D slice of a 4D array
+ /// The target array.
+ /// The fixed index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The start index of the fourth dimension.
+ /// The end index of the fourth dimension.
+ /// The source array.
+ val inline SetArraySlice4DFixedDouble1 : target:'T[,,,] -> index1: int -> index2:int -> start3:int option -> finish3:int option -> start4:int option -> finish4:int option -> source: 'T[,] -> unit
+
+ /// Sets a 2D slice of a 4D array
+ /// The target array.
+ /// The fixed index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The start index of the fourth dimension.
+ /// The end index of the fourth dimension.
+ /// The source array.
+ val inline SetArraySlice4DFixedDouble2 : target:'T[,,,] -> index1: int -> start2: int option -> finish2:int option -> index3:int -> start4:int option -> finish4:int option -> source: 'T[,] -> unit
+
+ /// Sets a 2D slice of a 4D array
+ /// The target array.
+ /// The fixed index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The fixed index of the fourth dimension.
+ /// The source array.
+ val inline SetArraySlice4DFixedDouble3 : target:'T[,,,] -> index1:int -> start2: int option -> finish2:int option -> start3:int option -> finish3:int option -> index4:int -> source: 'T[,] -> unit
+
+ /// Sets a 2D slice of a 4D array
+ /// The target array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The start index of the fourth dimension.
+ /// The end index of the fourth dimension.
+ /// The source array.
+ val inline SetArraySlice4DFixedDouble4 : target:'T[,,,] -> start1:int option -> finish1:int option -> index2:int -> index3:int -> start4:int option -> finish4:int option -> source: 'T[,] -> unit
+
+ /// Sets a 2D slice of a 4D array
+ /// The target array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The fixed index of the fourth dimension.
+ /// The source array.
+ val inline SetArraySlice4DFixedDouble5 : target:'T[,,,] -> start1:int option -> finish1:int option -> index2:int -> start3:int option -> finish3:int option -> index4:int -> source: 'T[,] -> unit
+
+ /// Sets a 2D slice of a 4D array
+ /// The target array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The fixed index of the fourth dimension.
+ /// The source array.
+ val inline SetArraySlice4DFixedDouble6 : target:'T[,,,] -> start1:int option -> finish1:int option -> start2: int option -> finish2:int option -> index3:int -> index4:int -> source: 'T[,] -> unit
+
+ /// Sets a 1D slice of a 4D array
+ /// The target array.
+ /// The fixed index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The start index of the fourth dimension.
+ /// The end index of the fourth dimension.
+ /// The source array.
+ val inline SetArraySlice4DFixedTriple4 : target:'T[,,,] -> index1:int -> index2:int -> index3:int -> start4:int option -> finish4:int option -> source: 'T[] -> unit
+
+ /// Sets a 1D slice of a 4D array
+ /// The target array.
+ /// The fixed index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The start index of the third dimension.
+ /// The end index of the third dimension.
+ /// The fixed index of the fourth dimension.
+ /// The source array.
+ val inline SetArraySlice4DFixedTriple3 : target:'T[,,,] -> index1:int -> index2:int -> start3:int option -> finish3:int option -> index4:int -> source: 'T[] -> unit
+
+ /// Sets a 1D slice of a 4D array
+ /// The target array.
+ /// The fixed index of the first dimension.
+ /// The start index of the second dimension.
+ /// The end index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The fixed index of the fourth dimension.
+ /// The source array.
+ val inline SetArraySlice4DFixedTriple2 : target:'T[,,,] -> index1:int -> start2: int option -> finish2:int option -> index3:int -> index4:int -> source: 'T[] -> unit
+
+ /// Sets a 1D slice of a 4D array
+ /// The target array.
+ /// The start index of the first dimension.
+ /// The end index of the first dimension.
+ /// The fixed index of the second dimension.
+ /// The fixed index of the third dimension.
+ /// The fixed index of the fourth dimension.
+ /// The source array.
+ val inline SetArraySlice4DFixedTriple1 : target:'T[,,,] -> start1:int option -> finish1:int option -> index2:int -> index3:int -> index4:int -> source: 'T[] -> unit
/// Sets a slice of an array
/// The target array.
@@ -2854,7 +3354,7 @@ namespace Microsoft.FSharp.Core
/// The start index of the fourth dimension.
/// The end index of the fourth dimension.
/// The source array.
- val SetArraySlice4D : target:'T[,,,] -> start1:int option -> finish1:int option -> start2:int option -> finish2:int option -> start3:int option -> finish3:int option -> start4:int option -> finish4:int option -> source:'T[,,,] -> unit
+ val inline SetArraySlice4D : target:'T[,,,] -> start1:int option -> finish1:int option -> start2:int option -> finish2:int option -> start3:int option -> finish3:int option -> start4:int option -> finish4:int option -> source:'T[,,,] -> unit
/// Gets a slice from a string
/// The source string.
diff --git a/src/fsharp/FSharp.Core/quotations.fs b/src/fsharp/FSharp.Core/quotations.fs
index 974e32c767..f1d2dea11e 100644
--- a/src/fsharp/FSharp.Core/quotations.fs
+++ b/src/fsharp/FSharp.Core/quotations.fs
@@ -391,6 +391,9 @@ module Patterns =
[]
let (|NewTuple|_|) input = match input with E(CombTerm(NewTupleOp(_), es)) -> Some es | _ -> None
+ []
+ let (|NewStructTuple|_|) input = match input with E(CombTerm(NewTupleOp(ty), es)) when ty.IsValueType -> Some es | _ -> None
+
[]
let (|DefaultValue|_|) input = match input with E(CombTerm(DefaultValueOp ty, [])) -> Some ty | _ -> None
@@ -747,6 +750,10 @@ module Patterns =
let ty = FSharpType.MakeTupleType(Array.map typeOf (Array.ofList args))
mkFEN (NewTupleOp ty) args
+ let mkNewStructTuple (asm, args) =
+ let ty = FSharpType.MakeStructTupleType(asm, Array.map typeOf (Array.ofList args))
+ mkFEN (NewTupleOp ty) args
+
let mkTupleGet (ty, n, x) =
checkTypesSR ty (typeOf x) "tupleGet" (SR.GetString(SR.QtmmExprNotMatchTuple))
let mems = FSharpType.GetTupleElements ty
@@ -1820,6 +1827,9 @@ type Expr with
static member NewTuple elements =
mkNewTuple elements
+ static member NewStructTuple (asm:Assembly, elements) =
+ mkNewStructTuple (asm, elements)
+
static member NewRecord (recordType:Type, elements) =
checkNonNull "recordType" recordType
mkNewRecord (recordType, elements)
diff --git a/src/fsharp/FSharp.Core/quotations.fsi b/src/fsharp/FSharp.Core/quotations.fsi
index f9ab5d7089..a782140fe4 100644
--- a/src/fsharp/FSharp.Core/quotations.fsi
+++ b/src/fsharp/FSharp.Core/quotations.fsi
@@ -181,6 +181,12 @@ type Expr =
/// The resulting expression.
static member NewTuple: elements:Expr list -> Expr
+ /// Builds an expression that represents the creation of an F# tuple value
+ /// Runtime assembly containing System.ValueTuple definitions.
+ /// The list of elements of the tuple.
+ /// The resulting expression.
+ static member NewStructTuple: asm:Assembly * elements:Expr list -> Expr
+
/// Builds record-construction expressions
/// The type of record.
/// The list of elements of the record.
@@ -545,6 +551,12 @@ module Patterns =
[]
val (|NewTuple|_|) : input:Expr -> (Expr list) option
+ /// An active pattern to recognize expressions that represent construction of struct tuple values
+ /// The input expression to match against.
+ /// (Expr list) option
+ []
+ val (|NewStructTuple|_|) : input:Expr -> (Expr list) option
+
/// An active pattern to recognize expressions that represent the read of a static or instance property, or a non-function value declared in a module
/// The input expression to match against.
/// (Expr option * PropertyInfo * Expr list) option
diff --git a/src/fsharp/FSharp.Core/reflect.fs b/src/fsharp/FSharp.Core/reflect.fs
index 0dd38fe225..828fddac3d 100644
--- a/src/fsharp/FSharp.Core/reflect.fs
+++ b/src/fsharp/FSharp.Core/reflect.fs
@@ -391,12 +391,12 @@ module internal Impl =
| false, _ ->
// the Dictionary<>s here could be ConcurrentDictionary<>'s, but then
// that would lock while initializing the Type array (maybe not an issue)
- let a = ref (Array.init 8 (fun i -> makeIt (i + 1)))
+ let mutable a = Array.init 8 (fun i -> makeIt (i + 1))
lock dictionaryLock (fun () ->
match tables.TryGetValue asm with
- | true, t -> a := t
- | false, _ -> tables.Add(asm, !a))
- !a
+ | true, t -> a <- t
+ | false, _ -> tables.Add(asm, a))
+ a
| true, t -> t
match tys.Length with
diff --git a/src/fsharp/FSharp.Core/reflect.fsi b/src/fsharp/FSharp.Core/reflect.fsi
index 359f36af77..465529677a 100644
--- a/src/fsharp/FSharp.Core/reflect.fsi
+++ b/src/fsharp/FSharp.Core/reflect.fsi
@@ -314,11 +314,13 @@ type FSharpType =
static member MakeTupleType: types:Type[] -> Type
/// Returns a System.Type representing an F# tuple type with the given element types
+ /// Runtime assembly containing System.Tuple definitions.
/// An array of types for the tuple elements.
/// The type representing the tuple containing the input elements.
static member MakeTupleType: asm:Assembly * types:Type[] -> Type
/// Returns a System.Type representing an F# struct tuple type with the given element types
+ /// Runtime assembly containing System.ValueTuple definitions.
/// An array of types for the tuple elements.
/// The type representing the struct tuple containing the input elements.
static member MakeStructTupleType: asm:Assembly * types:Type[] -> Type
diff --git a/src/fsharp/FSharp.Core/seq.fs b/src/fsharp/FSharp.Core/seq.fs
index 0b6e7ed2e5..71f16b6fa2 100644
--- a/src/fsharp/FSharp.Core/seq.fs
+++ b/src/fsharp/FSharp.Core/seq.fs
@@ -84,13 +84,13 @@ namespace Microsoft.FSharp.Collections
let mapi f (e : IEnumerator<_>) : IEnumerator<_> =
let f = OptimizedClosures.FSharpFunc<_, _, _>.Adapt(f)
- let i = ref (-1)
+ let mutable i = -1
upcast
{ new MapEnumerator<_>() with
member __.DoMoveNext curr =
- i := !i + 1
+ i <- i + 1
if e.MoveNext() then
- curr <- f.Invoke(!i, e.Current)
+ curr <- f.Invoke(i, e.Current)
true
else
false
@@ -118,13 +118,13 @@ namespace Microsoft.FSharp.Collections
let mapi2 f (e1 : IEnumerator<_>) (e2 : IEnumerator<_>) : IEnumerator<_> =
let f = OptimizedClosures.FSharpFunc<_, _, _, _>.Adapt(f)
- let i = ref (-1)
+ let mutable i = -1
upcast
{ new MapEnumerator<_>() with
member __.DoMoveNext curr =
- i := !i + 1
+ i <- i + 1
if (e1.MoveNext() && e2.MoveNext()) then
- curr <- f.Invoke(!i, e1.Current, e2.Current)
+ curr <- f.Invoke(i, e1.Current, e2.Current)
true
else
false
@@ -160,11 +160,11 @@ namespace Microsoft.FSharp.Collections
}
let choose f (e : IEnumerator<'T>) =
- let started = ref false
- let curr = ref None
+ let mutable started = false
+ let mutable curr = None
let get() =
- check !started
- match !curr with
+ check started
+ match curr with
| None -> alreadyFinished()
| Some x -> x
@@ -173,25 +173,25 @@ namespace Microsoft.FSharp.Collections
interface IEnumerator with
member __.Current = box (get())
member __.MoveNext() =
- if not !started then started := true
- curr := None
- while ((!curr).IsNone && e.MoveNext()) do
- curr := f e.Current
- Option.isSome !curr
+ if not started then started <- true
+ curr <- None
+ while (curr.IsNone && e.MoveNext()) do
+ curr <- f e.Current
+ Option.isSome curr
member __.Reset() = noReset()
interface System.IDisposable with
member __.Dispose() = e.Dispose() }
let filter f (e : IEnumerator<'T>) =
- let started = ref false
+ let mutable started = false
let this =
{ new IEnumerator<'T> with
- member __.Current = check !started; e.Current
+ member __.Current = check started; e.Current
interface IEnumerator with
- member __.Current = check !started; box e.Current
+ member __.Current = check started; box e.Current
member __.MoveNext() =
let rec next() =
- if not !started then started := true
+ if not started then started <- true
e.MoveNext() && (f e.Current || next())
next()
member __.Reset() = noReset()
@@ -200,15 +200,15 @@ namespace Microsoft.FSharp.Collections
this
let unfold f x : IEnumerator<_> =
- let state = ref x
+ let mutable state = x
upcast
{ new MapEnumerator<_>() with
member __.DoMoveNext curr =
- match f !state with
+ match f state with
| None -> false
| Some (r,s) ->
curr <- r
- state := s
+ state <- s
true
member __.Dispose() = ()
}
@@ -229,34 +229,36 @@ namespace Microsoft.FSharp.Collections
// The lazy creation of the cache nodes means enumerations that skip many Current values are not delayed by GC.
// For example, the full enumeration of Seq.initInfinite in the tests.
// state
- let index = ref unstarted
+ let mutable index = unstarted
// a Lazy node to cache the result/exception
- let current = ref (Unchecked.defaultof<_>)
- let setIndex i = index := i; current := (Unchecked.defaultof<_>) // cache node unprimed, initialised on demand.
+ let mutable current = Unchecked.defaultof<_>
+ let setIndex i =
+ index <- i
+ current <- (Unchecked.defaultof<_>) // cache node unprimed, initialised on demand.
let getCurrent() =
- if !index = unstarted then notStarted()
- if !index = completed then alreadyFinished()
- match box !current with
- | null -> current := Lazy<_>.Create(fun () -> f !index)
+ if index = unstarted then notStarted()
+ if index = completed then alreadyFinished()
+ match box current with
+ | null -> current <- Lazy<_>.Create(fun () -> f index)
| _ -> ()
// forced or re-forced immediately.
- (!current).Force()
+ current.Force()
{ new IEnumerator<'U> with
member __.Current = getCurrent()
interface IEnumerator with
member __.Current = box (getCurrent())
member __.MoveNext() =
- if !index = completed then
+ if index = completed then
false
- elif !index = unstarted then
+ elif index = unstarted then
setIndex 0
true
else
- if !index = System.Int32.MaxValue then raise <| System.InvalidOperationException (SR.GetString(SR.enumerationPastIntMaxValue))
- if !index = finalIndex then
+ if index = System.Int32.MaxValue then raise <| System.InvalidOperationException (SR.GetString(SR.enumerationPastIntMaxValue))
+ if index = finalIndex then
false
else
- setIndex (!index + 1)
+ setIndex (index + 1)
true
member __.Reset() = noReset()
@@ -858,10 +860,10 @@ namespace Microsoft.FSharp.Collections
let truncate count (source: seq<'T>) =
checkNonNull "source" source
if count <= 0 then empty else
- seq { let i = ref 0
+ seq { let mutable i = 0
use ie = source.GetEnumerator()
- while !i < count && ie.MoveNext() do
- i := !i + 1
+ while i < count && ie.MoveNext() do
+ i <- i + 1
yield ie.Current }
[]
@@ -869,22 +871,22 @@ namespace Microsoft.FSharp.Collections
checkNonNull "source" source
seq { use ie = source.GetEnumerator()
if ie.MoveNext() then
- let iref = ref ie.Current
+ let mutable iref = ie.Current
while ie.MoveNext() do
let j = ie.Current
- yield (!iref, j)
- iref := j }
+ yield (iref, j)
+ iref <- j }
[]
let scan<'T,'State> folder (state:'State) (source : seq<'T>) =
checkNonNull "source" source
let f = OptimizedClosures.FSharpFunc<_, _, _>.Adapt folder
- seq { let zref = ref state
- yield !zref
+ seq { let mutable zref = state
+ yield zref
use ie = source.GetEnumerator()
while ie.MoveNext() do
- zref := f.Invoke(!zref, ie.Current)
- yield !zref }
+ zref <- f.Invoke(zref, ie.Current)
+ yield zref }
[]
let tryFindBack predicate (source : seq<'T>) =
@@ -948,21 +950,21 @@ namespace Microsoft.FSharp.Collections
[|SR.GetString SR.inputMustBePositive; windowSize|]
seq {
let arr = Array.zeroCreateUnchecked windowSize
- let r = ref (windowSize - 1)
- let i = ref 0
+ let mutable r =windowSize - 1
+ let mutable i = 0
use e = source.GetEnumerator()
while e.MoveNext() do
- arr.[!i] <- e.Current
- i := (!i + 1) % windowSize
- if !r = 0 then
+ arr.[i] <- e.Current
+ i <- (i + 1) % windowSize
+ if r = 0 then
if windowSize < 32 then
- yield Array.init windowSize (fun j -> arr.[(!i+j) % windowSize])
+ yield Array.init windowSize (fun j -> arr.[(i+j) % windowSize])
else
let result = Array.zeroCreateUnchecked windowSize
- Array.Copy(arr, !i, result, 0, windowSize - !i)
- Array.Copy(arr, 0, result, windowSize - !i, !i)
+ Array.Copy(arr, i, result, 0, windowSize - i)
+ Array.Copy(arr, 0, result, windowSize - i, i)
yield result
- else r := (!r - 1)
+ else r <- (r - 1)
}
[]
@@ -978,7 +980,7 @@ namespace Microsoft.FSharp.Collections
// * the prefix followed by elts from the enumerator are the initial sequence.
// * the prefix contains only as many elements as the longest enumeration so far.
let prefix = ResizeArray<_>()
- let enumeratorR = ref None : IEnumerator<'T> option option ref // nested options rather than new type...
+ let enumeratorR = ref None
// None = Unstarted.
// Some(Some e) = Started.
// Some None = Finished.
@@ -1014,10 +1016,9 @@ namespace Microsoft.FSharp.Collections
let cleanup() =
lock enumeratorR (fun () ->
prefix.Clear()
- begin match !enumeratorR with
+ match !enumeratorR with
| Some (Some e) -> IEnumerator.dispose e
| _ -> ()
- end
enumeratorR := None)
(new CachedSeq<_>(cleanup, result) :> seq<_>)
@@ -1305,9 +1306,9 @@ namespace Microsoft.FSharp.Collections
let takeWhile predicate (source: seq<_>) =
checkNonNull "source" source
seq { use e = source.GetEnumerator()
- let latest = ref Unchecked.defaultof<_>
- while e.MoveNext() && (latest := e.Current; predicate !latest) do
- yield !latest }
+ let mutable latest = Unchecked.defaultof<_>
+ while e.MoveNext() && (latest <- e.Current; predicate latest) do
+ yield latest }
[]
let skip count (source: seq<_>) =
@@ -1324,12 +1325,12 @@ namespace Microsoft.FSharp.Collections
let skipWhile predicate (source: seq<_>) =
checkNonNull "source" source
seq { use e = source.GetEnumerator()
- let latest = ref (Unchecked.defaultof<_>)
- let ok = ref false
+ let mutable latest = Unchecked.defaultof<_>
+ let mutable ok = false
while e.MoveNext() do
- if (latest := e.Current; (!ok || not (predicate !latest))) then
- ok := true
- yield !latest }
+ if (latest <- e.Current; (ok || not (predicate latest))) then
+ ok <- true
+ yield latest }
[]
let forall2 predicate (source1: seq<_>) (source2: seq<_>) =
@@ -1469,14 +1470,14 @@ namespace Microsoft.FSharp.Collections
let nextChunk() =
let res = Array.zeroCreateUnchecked chunkSize
res.[0] <- e.Current
- let i = ref 1
- while !i < chunkSize && e.MoveNext() do
- res.[!i] <- e.Current
- i := !i + 1
- if !i = chunkSize then
+ let mutable i = 1
+ while i < chunkSize && e.MoveNext() do
+ res.[i] <- e.Current
+ i <- i + 1
+ if i = chunkSize then
res
else
- res |> Array.subUnchecked 0 !i
+ res |> Array.subUnchecked 0 i
while e.MoveNext() do
yield nextChunk() }
diff --git a/src/fsharp/FSharp.Core/seqcore.fs b/src/fsharp/FSharp.Core/seqcore.fs
index 05bde3b90d..bc54d01e67 100644
--- a/src/fsharp/FSharp.Core/seqcore.fs
+++ b/src/fsharp/FSharp.Core/seqcore.fs
@@ -68,16 +68,16 @@ namespace Microsoft.FSharp.Collections
lock r (fun () -> match !r with None -> None | Some _ as res -> r := None; res)
let generateWhileSome openf compute closef : IEnumerator<'U> =
- let started = ref false
- let curr = ref None
+ let mutable started = false
+ let mutable curr = None
let state = ref (Some(openf()))
let getCurr() =
- check !started
- match !curr with None -> alreadyFinished() | Some x -> x
- let start() = if not !started then (started := true)
+ check started
+ match curr with None -> alreadyFinished() | Some x -> x
+ let start() = if not started then (started <- true)
let dispose() = readAndClear state |> Option.iter closef
- let finish() = try dispose() finally curr := None
+ let finish() = try dispose() finally curr <- None
{ new IEnumerator<'U> with
member __.Current = getCurr()
interface IEnumerator with
@@ -89,7 +89,7 @@ namespace Microsoft.FSharp.Collections
| Some s ->
match (try compute s with e -> finish(); reraise()) with
| None -> finish(); false
- | Some _ as x -> curr := x; true
+ | Some _ as x -> curr <- x; true
member __.Reset() = noReset()
interface System.IDisposable with
@@ -306,14 +306,14 @@ namespace Microsoft.FSharp.Core.CompilerServices
mkSeq (fun () -> new ConcatEnumerator<_,_>(sources) :> IEnumerator<'T>)
let EnumerateWhile (guard: unit -> bool) (source: seq<'T>) : seq<'T> =
- let started = ref false
- let curr = ref None
+ let mutable started = false
+ let mutable curr = None
let getCurr() =
- IEnumerator.check !started
- match !curr with None -> IEnumerator.alreadyFinished() | Some x -> x
- let start() = if not !started then (started := true)
+ IEnumerator.check started
+ match curr with None -> IEnumerator.alreadyFinished() | Some x -> x
+ let start() = if not started then (started <- true)
- let finish() = (curr := None)
+ let finish() = (curr <- None)
mkConcatSeq
(mkSeq (fun () ->
{ new IEnumerator<_> with
@@ -324,7 +324,7 @@ namespace Microsoft.FSharp.Core.CompilerServices
start()
let keepGoing = (try guard() with e -> finish (); reraise ()) in
if keepGoing then
- curr := Some(source); true
+ curr <- Some(source); true
else
finish(); false
member x.Reset() = IEnumerator.noReset()
diff --git a/src/fsharp/FSharp.Core/set.fs b/src/fsharp/FSharp.Core/set.fs
index 5da5152f29..bd6bb97000 100644
--- a/src/fsharp/FSharp.Core/set.fs
+++ b/src/fsharp/FSharp.Core/set.fs
@@ -429,13 +429,13 @@ module internal SetTree =
not i.stack.IsEmpty
let mkIEnumerator s =
- let i = ref (mkIterator s)
+ let mutable i = mkIterator s
{ new IEnumerator<_> with
- member __.Current = current !i
+ member __.Current = current i
interface IEnumerator with
- member __.Current = box (current !i)
- member __.MoveNext() = moveNext !i
- member __.Reset() = i := mkIterator s
+ member __.Current = box (current i)
+ member __.MoveNext() = moveNext i
+ member __.Reset() = i <- mkIterator s
interface System.IDisposable with
member __.Dispose() = () }
@@ -486,8 +486,8 @@ module internal SetTree =
loop s []
let copyToArray s (arr: _[]) i =
- let j = ref i
- iter (fun x -> arr.[!j] <- x; j := !j + 1) s
+ let mutable j = i
+ iter (fun x -> arr.[j] <- x; j <- j + 1) s
let toArray s =
let n = (count s)
diff --git a/src/fsharp/FSharp.DependencyManager/.gitignore b/src/fsharp/FSharp.DependencyManager/.gitignore
new file mode 100644
index 0000000000..b6f8be6985
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/.gitignore
@@ -0,0 +1 @@
+FSharp.DependencyManager.nuget.props
\ No newline at end of file
diff --git a/src/fsharp/FSharp.DependencyManager/FSDependencyManager.txt b/src/fsharp/FSharp.DependencyManager/FSDependencyManager.txt
new file mode 100644
index 0000000000..a163aafc0f
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/FSDependencyManager.txt
@@ -0,0 +1,2 @@
+# FSharp.Build resource strings
+notUsed,"Not used."
\ No newline at end of file
diff --git a/src/fsharp/FSharp.DependencyManager/FSharp.DependencyManager.Utilities.fs b/src/fsharp/FSharp.DependencyManager/FSharp.DependencyManager.Utilities.fs
new file mode 100644
index 0000000000..d86ceb3dbb
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/FSharp.DependencyManager.Utilities.fs
@@ -0,0 +1,343 @@
+// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
+namespace FSharp.DependencyManager
+
+open System
+open System.Collections
+open System.Collections.Generic
+open System.Diagnostics
+open System.IO
+open System.Reflection
+open System.Runtime.CompilerServices
+open System.Runtime.Versioning
+
+open Internal.Utilities.FSharpEnvironment
+
+#if !(NETSTANDARD || NETCOREAPP)
+open Microsoft.Build.Evaluation
+open Microsoft.Build.Framework
+#endif
+
+[]
+type DependencyManagerAttribute() = inherit System.Attribute()
+
+module Utilities =
+
+ /// Return a string array delimited by commas
+ /// Note that a quoted string is not going to be mangled into pieces.
+ let trimChars = [| ' '; '\t'; '\''; '\"' |]
+
+ let inline private isNotQuotedQuotation (text: string) n = n > 0 && text.[n-1] <> '\\'
+
+ let getOptions text =
+ let split (option:string) =
+ let pos = option.IndexOf('=')
+ let stringAsOpt text =
+ if String.IsNullOrEmpty(text) then None
+ else Some text
+ let nameOpt =
+ if pos <= 0 then None
+ else stringAsOpt (option.Substring(0, pos).Trim(trimChars).ToLowerInvariant())
+ let valueOpt =
+ let valueText =
+ if pos < 0 then option
+ else if pos < option.Length then
+ option.Substring(pos + 1)
+ else ""
+ stringAsOpt (valueText.Trim(trimChars))
+ nameOpt,valueOpt
+
+ let last = String.length text - 1
+ let result = ResizeArray()
+ let mutable insideSQ = false
+ let mutable start = 0
+ let isSeperator c = c = ','
+ for i = 0 to last do
+ match text.[i], insideSQ with
+ | c, false when isSeperator c -> // split when seeing a separator
+ result.Add(text.Substring(start, i - start))
+ insideSQ <- false
+ start <- i + 1
+ | _, _ when i = last ->
+ result.Add(text.Substring(start, i - start + 1))
+ | c, true when isSeperator c -> // keep reading if a separator is inside quotation
+ insideSQ <- true
+ | '\'', _ when isNotQuotedQuotation text i -> // open or close quotation
+ insideSQ <- not insideSQ // keep reading
+ | _ -> ()
+
+ result
+ |> List.ofSeq
+ |> List.map (fun option -> split option)
+
+ // Path to the directory containing the fsharp compilers
+ let fsharpCompilerPath = Path.GetDirectoryName(typeof.GetTypeInfo().Assembly.Location)
+
+ // We are running on dotnet core if the executing mscorlib is System.Private.CoreLib
+ let isRunningOnCoreClr = (typeof.Assembly).FullName.StartsWith("System.Private.CoreLib", StringComparison.InvariantCultureIgnoreCase)
+
+ let isWindows =
+ match Environment.OSVersion.Platform with
+ | PlatformID.Unix -> false
+ | PlatformID.MacOSX -> false
+ | _ -> true
+
+ let dotnet =
+ if isWindows then "dotnet.exe" else "dotnet"
+
+ let sdks = "Sdks"
+
+#if !(NETSTANDARD || NETCOREAPP)
+ let msbuildExePath =
+ // Find msbuild.exe when invoked from desktop compiler.
+ // 1. Look relative to F# compiler location Normal retail build
+ // 2. Use VSAPPDIR Nightly when started from VS, or F5
+ // 3. Use VSINSTALLDIR -- When app is run outside of VS, and
+ // is not copied relative to a vs install.
+ let vsRootFromVSAPPIDDIR =
+ let vsappiddir = Environment.GetEnvironmentVariable("VSAPPIDDIR")
+ if not (String.IsNullOrEmpty(vsappiddir)) then
+ Path.GetFullPath(Path.Combine(vsappiddir, "../.."))
+ else
+ null
+
+ let roots = [|
+ Path.GetFullPath(Path.Combine(fsharpCompilerPath, "../../../../.."))
+ vsRootFromVSAPPIDDIR
+ Environment.GetEnvironmentVariable("VSINSTALLDIR")
+ |]
+
+ let msbuildPath root = Path.GetFullPath(Path.Combine(root, "MSBuild/Current/Bin/MSBuild.exe"))
+
+ let msbuildPathExists root =
+ if String.IsNullOrEmpty(root) then
+ false
+ else
+ File.Exists(msbuildPath root)
+
+ let msbuildOption rootOpt =
+ match rootOpt with
+ | Some root -> Some (msbuildPath root)
+ | _ -> None
+
+ roots |> Array.tryFind(fun root -> msbuildPathExists root) |> msbuildOption
+#else
+ let dotnetHostPath =
+ // How to find dotnet.exe --- woe is me; probing rules make me sad.
+ // Algorithm:
+ // 1. Look for DOTNET_HOST_PATH environment variable
+ // this is the main user programable override .. provided by user to find a specific dotnet.exe
+ // 2. Probe for are we part of an .NetSDK install
+ // In an sdk install we are always installed in: sdk\3.0.100-rc2-014234\FSharp
+ // dotnet or dotnet.exe will be found in the directory that contains the sdk directory
+ // 3. We are loaded in-process to some other application ... Eg. try .net
+ // See if the host is dotnet.exe ... from netcoreapp3.0 on this is fairly unlikely
+ // 4. If it's none of the above we are going to have to rely on the path containing the way to find dotnet.exe
+ //
+ if isRunningOnCoreClr then
+ match (Environment.GetEnvironmentVariable("DOTNET_HOST_PATH")) with
+ | value when not (String.IsNullOrEmpty(value)) ->
+ Some value // Value set externally
+ | _ ->
+ // Probe for netsdk install
+ let dotnetLocation =
+ let dotnetApp =
+ let platform = Environment.OSVersion.Platform
+ if platform = PlatformID.Unix then "dotnet" else "dotnet.exe"
+ let assemblyLocation = typeof.GetTypeInfo().Assembly.Location
+ Path.Combine(assemblyLocation, "../../..", dotnetApp)
+
+ if File.Exists(dotnetLocation) then
+ Some dotnetLocation
+ else
+ let main = Process.GetCurrentProcess().MainModule
+ if main.ModuleName ="dotnet" then
+ Some main.FileName
+ else
+ Some dotnet
+ else
+ None
+#endif
+
+ let drainStreamToFile (stream: StreamReader) filename =
+ use file = File.OpenWrite(filename)
+ use writer = new StreamWriter(file)
+ let rec copyLines () =
+ match stream.ReadLine() with
+ | null -> ()
+ | line ->
+ writer.WriteLine(line)
+ copyLines ()
+ copyLines ()
+
+ let executeBuild pathToExe arguments workingDir =
+ match pathToExe with
+ | Some path ->
+
+ let psi = ProcessStartInfo()
+ psi.FileName <- path
+ psi.WorkingDirectory <- workingDir
+ psi.RedirectStandardOutput <- true
+ psi.RedirectStandardError <- true
+ psi.Arguments <- arguments
+ psi.CreateNoWindow <- true
+ psi.UseShellExecute <- false
+
+ use p = new Process()
+ p.StartInfo <- psi
+ p.Start() |> ignore
+
+ drainStreamToFile p.StandardOutput (Path.Combine(workingDir, "StandardOutput.txt"))
+ drainStreamToFile p.StandardError (Path.Combine(workingDir, "StandardError.txt"))
+
+ p.WaitForExit()
+ p.ExitCode = 0
+
+ | None -> false
+
+ let buildProject projectPath binLogPath =
+ let binLoggingArguments =
+ match binLogPath with
+ | Some(path) ->
+ let path = match path with
+ | Some path -> path // specific file
+ | None -> Path.Combine(Path.GetDirectoryName(projectPath), "msbuild.binlog") // auto-generated file
+ sprintf "/bl:\"%s\"" path
+ | None -> ""
+
+ let arguments prefix =
+ sprintf "%s -restore %s %c%s%c /t:InteractivePackageManagement" prefix binLoggingArguments '\"' projectPath '\"'
+
+ let workingDir = Path.GetDirectoryName projectPath
+
+ let succeeded =
+#if !(NETSTANDARD || NETCOREAPP)
+ // The Desktop build uses "msbuild" to build
+ executeBuild msbuildExePath (arguments "") workingDir
+#else
+ // The coreclr uses "dotnet msbuild" to build
+ executeBuild dotnetHostPath (arguments "msbuild") workingDir
+#endif
+ let outputFile = projectPath + ".fsx"
+ let resultOutFile = if succeeded && File.Exists(outputFile) then Some outputFile else None
+ succeeded, resultOutFile
+
+ // Generate a project files for dependencymanager projects
+ let generateLibrarySource = @"// Generated dependencymanager library
+namespace lib"
+
+ let generateProjectBody = @"
+
+
+ $(TARGETFRAMEWORK)
+ false
+
+
+ 4.7.0
+ 4.7.1-*
+
+
+
+
+$(PACKAGEREFERENCES)
+
+
+
+
+
+
+
+
+
+
+
+ fsharp41
+ tools
+
+
+
+
+
+
+ <_ResolvedOutputFiles
+ Include=""%(_ResolvedProjectReferencePaths.RootDir)%(_ResolvedProjectReferencePaths.Directory)/**/*""
+ Exclude=""%(_ResolvedProjectReferencePaths.RootDir)%(_ResolvedProjectReferencePaths.Directory)/**/FSharp.Core.dll;%(_ResolvedProjectReferencePaths.RootDir)%(_ResolvedProjectReferencePaths.Directory)/**/System.ValueTuple.dll""
+ Condition=""'%(_ResolvedProjectReferencePaths.IsFSharpDesignTimeProvider)' == 'true'"">
+ %(_ResolvedProjectReferencePaths.NearestTargetFramework)
+
+
+ <_ResolvedOutputFiles
+ Include=""@(BuiltProjectOutputGroupKeyOutput)""
+ Condition=""'$(IsFSharpDesignTimeProvider)' == 'true' and '%(BuiltProjectOutputGroupKeyOutput->Filename)%(BuiltProjectOutputGroupKeyOutput->Extension)' != 'FSharp.Core.dll' and '%(BuiltProjectOutputGroupKeyOutput->Filename)%(BuiltProjectOutputGroupKeyOutput->Extension)' != 'System.ValueTuple.dll'"">
+ $(TargetFramework)
+
+
+
+ $(FSharpToolsDirectory)/$(FSharpDesignTimeProtocol)/%(_ResolvedOutputFiles.NearestTargetFramework)/%(_ResolvedOutputFiles.FileName)%(_ResolvedOutputFiles.Extension)
+
+
+
+
+
+
+
+
+ $([System.String]::Copy('%(Identity)').Replace('\', '/'))
+ $([System.String]::Copy('%(ResolvedCompileFileDefinitions.PathInPackage)').Replace('\', '/'))
+ $([System.String]::Copy('%(InteractiveResolvedFile.NormalizedIdentity)').IndexOf('%(InteractiveResolvedFile.NormalizedPathInPackage)'))
+ $([System.String]::Copy('%(InteractiveResolvedFile.NormalizedIdentity)').Substring(0, %(InteractiveResolvedFile.PositionPathInPackage)))
+ %(InteractiveResolvedFile.PackageRoot)content\%(ResolvedCompileFileDefinitions.FileName)%(ResolvedCompileFileDefinitions.Extension).fsx
+ $([System.String]::Copy('%(ResolvedCompileFileDefinitions.PathInPackage)').StartsWith('ref/'))
+ %(ResolvedCompileFileDefinitions.NuGetPackageId)
+ %(ResolvedCompileFileDefinitions.NuGetPackageVersion)
+
+
+ $([System.String]::Copy('%(Identity)').Replace('\', '/'))
+ $([System.String]::Copy('%(RuntimeCopyLocalItems.PathInPackage)').Replace('\', '/'))
+ $([System.String]::Copy('%(InteractiveResolvedFile.NormalizedIdentity)').IndexOf('%(InteractiveResolvedFile.NormalizedPathInPackage)'))
+ $([System.String]::Copy('%(InteractiveResolvedFile.NormalizedIdentity)').Substring(0, %(InteractiveResolvedFile.PositionPathInPackage)))
+ %(InteractiveResolvedFile.PackageRoot)content\%(RuntimeCopyLocalItems.FileName)%(RuntimeCopyLocalItems.Extension).fsx
+ $([System.String]::Copy('%(RuntimeCopyLocalItems.PathInPackage)').StartsWith('ref/'))
+ %(RuntimeCopyLocalItems.NuGetPackageId)
+ %(RuntimeCopyLocalItems.NuGetPackageVersion)
+
+
+ $([MSBuild]::EnsureTrailingSlash('$([System.String]::Copy('%(FullPath)').Substring(0, $([System.String]::Copy('%(FullPath)').LastIndexOf('runtimes'))))'))
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+"
diff --git a/src/fsharp/FSharp.DependencyManager/FSharp.DependencyManager.fs b/src/fsharp/FSharp.DependencyManager/FSharp.DependencyManager.fs
new file mode 100644
index 0000000000..9c577e9ca8
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/FSharp.DependencyManager.fs
@@ -0,0 +1,172 @@
+// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
+
+namespace FSharp.DependencyManager
+
+open System
+open System.Collections.Concurrent
+open System.Diagnostics
+open System.IO
+open FSharp.DependencyManager
+open FSharp.DependencyManager.Utilities
+
+module Attributes =
+ []
+ do ()
+
+type PackageReference = { Include:string; Version:string; RestoreSources:string; Script:string }
+
+module FSharpDependencyManager =
+
+ let private concat (s:string) (v:string) : string =
+ match String.IsNullOrEmpty(s), String.IsNullOrEmpty(v) with
+ | false, false -> s + ";" + v
+ | false, true -> s
+ | true, false -> v
+ | _ -> ""
+
+ let formatPackageReference p =
+ let { Include=inc; Version=ver; RestoreSources=src; Script=script } = p
+ seq {
+ match not (String.IsNullOrEmpty(inc)), not (String.IsNullOrEmpty(ver)), not (String.IsNullOrEmpty(script)) with
+ | true, true, false -> yield sprintf @" true" inc ver
+ | true, true, true -> yield sprintf @" true" inc ver script
+ | true, false, false -> yield sprintf @" true" inc
+ | true, false, true -> yield sprintf @" true" inc script
+ | _ -> ()
+ match not (String.IsNullOrEmpty(src)) with
+ | true -> yield sprintf @" %s" (concat "$(RestoreAdditionalProjectSources)" src)
+ | _ -> ()
+ }
+
+ let parsePackageReference (lines: string list) =
+ let mutable binLogPath = None
+ let parsePackageReferenceOption (line: string) =
+ let validatePackageName package packageName =
+ if String.Compare(packageName, package, StringComparison.OrdinalIgnoreCase) = 0 then
+ raise (ArgumentException(sprintf "PackageManager can not reference the System Package '%s'" packageName)) // @@@@@@@@@@@@@@@@@@@@@@@ Globalize me please
+ let rec parsePackageReferenceOption' (options: (string option * string option) list) (implicitArgumentCount: int) (packageReference: PackageReference option) =
+ let current =
+ match packageReference with
+ | Some p -> p
+ | None -> { Include = ""; Version = "*"; RestoreSources = ""; Script = "" }
+ match options with
+ | [] -> packageReference
+ | opt :: rest ->
+ let addInclude v =
+ validatePackageName v "mscorlib"
+ validatePackageName v "FSharp.Core"
+ validatePackageName v "System.ValueTuple"
+ validatePackageName v "NETStandard.Library"
+ Some { current with Include = v }
+ let setVersion v = Some { current with Version = v }
+ match opt with
+ | Some "include", Some v -> addInclude v |> parsePackageReferenceOption' rest implicitArgumentCount
+ | Some "include", None -> raise (ArgumentException(sprintf "%s requires a value" "Include")) // @@@@@@@@@@@@@@@@@@@@@@@ Globalize me please
+ | Some "version", Some v -> setVersion v |> parsePackageReferenceOption' rest implicitArgumentCount
+ | Some "version", None -> raise (ArgumentException(sprintf "%s requires a value" "Version")) // @@@@@@@@@@@@@@@@@@@@@@@ Globalize me please
+ | Some "restoresources", Some v -> Some { current with RestoreSources = concat current.RestoreSources v } |> parsePackageReferenceOption' rest implicitArgumentCount
+ | Some "restoresources", None -> raise (ArgumentException(sprintf "%s requires a value" "RestoreSources")) // @@@@@@@@@@@@@@@@@@@@@@@ Globalize me please
+ | Some "script", Some v -> Some { current with Script = v } |> parsePackageReferenceOption' rest implicitArgumentCount
+ | Some "bl", value ->
+ match value with
+ | Some v when v.ToLowerInvariant() = "true" -> binLogPath <- Some None // auto-generated logging location
+ | Some v when v.ToLowerInvariant() = "false" -> binLogPath <- None // no logging
+ | Some path -> binLogPath <- Some(Some path) // explicit logging location
+ | None ->
+ // parser shouldn't get here because unkeyed values follow a different path, but for the sake of completeness and keeping the compiler happy,
+ // this is fine
+ binLogPath <- Some None // auto-generated logging location
+ parsePackageReferenceOption' rest implicitArgumentCount packageReference
+ | None, Some v ->
+ match v.ToLowerInvariant() with
+ | "bl" ->
+ // a bare 'bl' enables binary logging and is NOT interpreted as one of the positional arguments. On the off chance that the user actually wants
+ // to reference a package named 'bl' they still have the 'Include=bl' syntax as a fallback.
+ binLogPath <- Some None // auto-generated logging location
+ parsePackageReferenceOption' rest implicitArgumentCount packageReference
+ | _ ->
+ match implicitArgumentCount with
+ | 0 -> addInclude v
+ | 1 -> setVersion v
+ | _ -> raise (ArgumentException(sprintf "Unable to apply implicit argument number %d" (implicitArgumentCount + 1))) // @@@@@@@@@@@@@@@@@@@@@@@ Globalize me please
+ |> parsePackageReferenceOption' rest (implicitArgumentCount + 1)
+ | _ -> parsePackageReferenceOption' rest implicitArgumentCount packageReference
+ let options = getOptions line
+ parsePackageReferenceOption' options 0 None
+ lines
+ |> List.choose parsePackageReferenceOption
+ |> List.distinct
+ |> (fun l -> l, binLogPath)
+
+type [] FSharpDependencyManager (outputDir:string option) =
+
+ let key = "nuget"
+ let name = "MsBuild Nuget DependencyManager"
+ let scriptsPath =
+ let path = Path.Combine(Path.GetTempPath(), key, Process.GetCurrentProcess().Id.ToString())
+ match outputDir with
+ | None -> path
+ | Some v -> Path.Combine(path, v)
+ let generatedScripts = new ConcurrentDictionary()
+ let deleteScripts () =
+ try
+ if Directory.Exists(scriptsPath) then
+ () //Directory.Delete(scriptsPath, true)
+ with | _ -> ()
+
+ let deleteAtExit =
+ try
+ if not (File.Exists(scriptsPath)) then
+ Directory.CreateDirectory(scriptsPath) |> ignore
+ true
+ with | _ -> false
+
+ let emitFile filename (body:string) =
+ try
+ // Create a file to write to
+ use sw = File.CreateText(filename)
+ sw.WriteLine(body)
+ with | _ -> ()
+
+ do if deleteAtExit then AppDomain.CurrentDomain.ProcessExit |> Event.add(fun _ -> deleteScripts () )
+
+ member __.Name = name
+
+ member __.Key = key
+
+ member __.ResolveDependencies(_scriptDir:string, _mainScriptName:string, _scriptName:string, packageManagerTextLines:string seq, tfm: string) : bool * string list * string list =
+
+ let packageReferences, binLogPath =
+ packageManagerTextLines
+ |> List.ofSeq
+ |> FSharpDependencyManager.parsePackageReference
+ let packageReferenceLines =
+ packageReferences
+ |> List.map FSharpDependencyManager.formatPackageReference
+ |> Seq.concat
+ let packageReferenceText = String.Join(Environment.NewLine, packageReferenceLines)
+
+ // Generate a project files
+ let generateAndBuildProjectArtifacts =
+ let writeFile path body =
+ if not (generatedScripts.ContainsKey(body.GetHashCode().ToString())) then
+ emitFile path body
+
+ let fsProjectPath = Path.Combine(scriptsPath, "Project.fsproj")
+
+ let generateProjBody =
+ generateProjectBody.Replace("$(TARGETFRAMEWORK)", tfm)
+ .Replace("$(PACKAGEREFERENCES)", packageReferenceText)
+
+ writeFile (Path.Combine(scriptsPath, "Library.fs")) generateLibrarySource
+ writeFile fsProjectPath generateProjBody
+
+ let succeeded, resultingFsx = buildProject fsProjectPath binLogPath
+ let fsx =
+ match resultingFsx with
+ | Some fsx -> [fsx]
+ | None -> []
+
+ succeeded, fsx, List.empty
+
+ generateAndBuildProjectArtifacts
diff --git a/src/fsharp/FSharp.DependencyManager/FSharp.DependencyManager.fsproj b/src/fsharp/FSharp.DependencyManager/FSharp.DependencyManager.fsproj
new file mode 100644
index 0000000000..7faf2884f4
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/FSharp.DependencyManager.fsproj
@@ -0,0 +1,80 @@
+
+
+
+
+
+ Library
+ net472;netstandard2.0
+ netstandard2.0
+ FSharp.DependencyManager
+ $(NoWarn);45;55;62;75;1204
+ true
+ $(DefineConstants);COMPILER
+ $(DefineConstants);MSBUILD_AT_LEAST_15
+ $(OtherFlags) --warnon:1182 --maxerrors:20 --extraoptimizationloops:1
+ true
+
+
+
+
+ $(BaseOutputPath)\$(Configuration)\$(TargetFramework)
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.cs.xlf b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.cs.xlf
new file mode 100644
index 0000000000..1b2b789124
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.cs.xlf
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Not used.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.de.xlf b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.de.xlf
new file mode 100644
index 0000000000..fad4a92c19
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.de.xlf
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Not used.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.en.xlf b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.en.xlf
new file mode 100644
index 0000000000..486faaceb8
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.en.xlf
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Not used.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.es.xlf b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.es.xlf
new file mode 100644
index 0000000000..af7ece6ad9
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.es.xlf
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Not used.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.fr.xlf b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.fr.xlf
new file mode 100644
index 0000000000..42aa351aa0
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.fr.xlf
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Not used.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.it.xlf b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.it.xlf
new file mode 100644
index 0000000000..da872e4f39
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.it.xlf
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Not used.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.ja.xlf b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.ja.xlf
new file mode 100644
index 0000000000..e9e3444fcf
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.ja.xlf
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Not used.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.ko.xlf b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.ko.xlf
new file mode 100644
index 0000000000..13f0865b93
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.ko.xlf
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Not used.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.pl.xlf b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.pl.xlf
new file mode 100644
index 0000000000..e9718434a1
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.pl.xlf
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Not used.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.pt-BR.xlf b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.pt-BR.xlf
new file mode 100644
index 0000000000..6fb3374c22
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.pt-BR.xlf
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Not used.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.ru.xlf b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.ru.xlf
new file mode 100644
index 0000000000..98624d7996
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.ru.xlf
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Not used.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.tr.xlf b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.tr.xlf
new file mode 100644
index 0000000000..a94d8e068e
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.tr.xlf
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Not used.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.zh-Hans.xlf b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.zh-Hans.xlf
new file mode 100644
index 0000000000..44e599a414
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.zh-Hans.xlf
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Not used.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.zh-Hant.xlf b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.zh-Hant.xlf
new file mode 100644
index 0000000000..83fa3521e6
--- /dev/null
+++ b/src/fsharp/FSharp.DependencyManager/xlf/FSDependencyManager.txt.zh-Hant.xlf
@@ -0,0 +1,12 @@
+
+
+
+
+
+
+ Not used.
+
+
+
+
+
\ No newline at end of file
diff --git a/src/fsharp/IlxGen.fs b/src/fsharp/IlxGen.fs
index 18be85e72a..412d1a62ac 100755
--- a/src/fsharp/IlxGen.fs
+++ b/src/fsharp/IlxGen.fs
@@ -2786,32 +2786,30 @@ and GenNewArray cenv cgbuf eenv (elems: Expr list, elemTy, m) sequel =
GenNewArraySimple cenv cgbuf eenv (elems, elemTy, m) sequel
and GenCoerce cenv cgbuf eenv (e, tgty, m, srcty) sequel =
- let g = cenv.g
- // Is this an upcast?
- if TypeRelations.TypeDefinitelySubsumesTypeNoCoercion 0 g cenv.amap m tgty srcty &&
- // Do an extra check - should not be needed
- TypeRelations.TypeFeasiblySubsumesType 0 g cenv.amap m tgty TypeRelations.NoCoerce srcty then
- begin
- if (isInterfaceTy g tgty) then (
- GenExpr cenv cgbuf eenv SPSuppress e Continue
- let ilToTy = GenType cenv.amap m eenv.tyenv tgty
- // Section "III.1.8.1.3 Merging stack states" of ECMA-335 implies that no unboxing
- // is required, but we still push the coerced type on to the code gen buffer.
- CG.EmitInstrs cgbuf (pop 1) (Push [ilToTy]) []
- GenSequel cenv eenv.cloc cgbuf sequel
- ) else (
- GenExpr cenv cgbuf eenv SPSuppress e sequel
- )
- end
- else
- GenExpr cenv cgbuf eenv SPSuppress e Continue
- if not (isObjTy g srcty) then
- let ilFromTy = GenType cenv.amap m eenv.tyenv srcty
- CG.EmitInstrs cgbuf (pop 1) (Push [g.ilg.typ_Object]) [ I_box ilFromTy ]
- if not (isObjTy g tgty) then
- let ilToTy = GenType cenv.amap m eenv.tyenv tgty
- CG.EmitInstrs cgbuf (pop 1) (Push [ilToTy]) [ I_unbox_any ilToTy ]
- GenSequel cenv eenv.cloc cgbuf sequel
+ let g = cenv.g
+ // Is this an upcast?
+ if TypeRelations.TypeDefinitelySubsumesTypeNoCoercion 0 g cenv.amap m tgty srcty &&
+ // Do an extra check - should not be needed
+ TypeRelations.TypeFeasiblySubsumesType 0 g cenv.amap m tgty TypeRelations.NoCoerce srcty
+ then
+ if isInterfaceTy g tgty then
+ GenExpr cenv cgbuf eenv SPSuppress e Continue
+ let ilToTy = GenType cenv.amap m eenv.tyenv tgty
+ // Section "III.1.8.1.3 Merging stack states" of ECMA-335 implies that no unboxing
+ // is required, but we still push the coerced type on to the code gen buffer.
+ CG.EmitInstrs cgbuf (pop 1) (Push [ilToTy]) []
+ GenSequel cenv eenv.cloc cgbuf sequel
+ else
+ GenExpr cenv cgbuf eenv SPSuppress e sequel
+ else
+ GenExpr cenv cgbuf eenv SPSuppress e Continue
+ if not (isObjTy g srcty) then
+ let ilFromTy = GenType cenv.amap m eenv.tyenv srcty
+ CG.EmitInstrs cgbuf (pop 1) (Push [g.ilg.typ_Object]) [ I_box ilFromTy ]
+ if not (isObjTy g tgty) then
+ let ilToTy = GenType cenv.amap m eenv.tyenv tgty
+ CG.EmitInstrs cgbuf (pop 1) (Push [ilToTy]) [ I_unbox_any ilToTy ]
+ GenSequel cenv eenv.cloc cgbuf sequel
and GenReraise cenv cgbuf eenv (rtnty, m) sequel =
let ilReturnTy = GenType cenv.amap m eenv.tyenv rtnty
@@ -3398,65 +3396,63 @@ and GenTryCatch cenv cgbuf eenv (e1, vf: Val, ef, vh: Val, eh, m, resty, spTry,
let startOfFilter = CG.GenerateMark cgbuf "startOfFilter"
let afterFilter = CG.GenerateDelayMark cgbuf "afterFilter"
let (sequelOnBranches, afterJoin, stackAfterJoin, sequelAfterJoin) = GenJoinPoint cenv cgbuf "filter" eenv g.int_ty m EndFilter
- begin
- // We emit the sequence point for the 'with' keyword span on the start of the filter
- // block. However the targets of the filter block pattern matching should not get any
- // sequence points (they will be 'true'/'false' values indicating if the exception has been
- // caught or not).
- //
- // The targets of the handler block DO get sequence points. Thus the expected behaviour
- // for a try/with with a complex pattern is that we hit the "with" before the filter is run
- // and then jump to the handler for the successful catch (or continue with exception handling
- // if the filter fails)
- match spWith with
- | SequencePointAtWith m -> CG.EmitSeqPoint cgbuf m
- | NoSequencePointAtWith -> ()
-
-
- CG.SetStack cgbuf [g.ilg.typ_Object]
- let _, eenvinner = AllocLocalVal cenv cgbuf vf eenvinner None (startOfFilter, afterFilter)
- CG.EmitInstr cgbuf (pop 1) (Push [g.iltyp_Exception]) (I_castclass g.iltyp_Exception)
-
- GenStoreVal cenv cgbuf eenvinner vf.Range vf
-
- // Why SPSuppress? Because we do not emit a sequence point at the start of the List.filter - we've already put one on
- // the 'with' keyword above
- GenExpr cenv cgbuf eenvinner SPSuppress ef sequelOnBranches
- CG.SetMarkToHere cgbuf afterJoin
- CG.SetStack cgbuf stackAfterJoin
- GenSequel cenv eenv.cloc cgbuf sequelAfterJoin
- end
+ // We emit the sequence point for the 'with' keyword span on the start of the filter
+ // block. However the targets of the filter block pattern matching should not get any
+ // sequence points (they will be 'true'/'false' values indicating if the exception has been
+ // caught or not).
+ //
+ // The targets of the handler block DO get sequence points. Thus the expected behaviour
+ // for a try/with with a complex pattern is that we hit the "with" before the filter is run
+ // and then jump to the handler for the successful catch (or continue with exception handling
+ // if the filter fails)
+ match spWith with
+ | SequencePointAtWith m -> CG.EmitSeqPoint cgbuf m
+ | NoSequencePointAtWith -> ()
+
+
+ CG.SetStack cgbuf [g.ilg.typ_Object]
+ let _, eenvinner = AllocLocalVal cenv cgbuf vf eenvinner None (startOfFilter, afterFilter)
+ CG.EmitInstr cgbuf (pop 1) (Push [g.iltyp_Exception]) (I_castclass g.iltyp_Exception)
+
+ GenStoreVal cenv cgbuf eenvinner vf.Range vf
+
+ // Why SPSuppress? Because we do not emit a sequence point at the start of the List.filter - we've already put one on
+ // the 'with' keyword above
+ GenExpr cenv cgbuf eenvinner SPSuppress ef sequelOnBranches
+ CG.SetMarkToHere cgbuf afterJoin
+ CG.SetStack cgbuf stackAfterJoin
+ GenSequel cenv eenv.cloc cgbuf sequelAfterJoin
let endOfFilter = CG.GenerateMark cgbuf "endOfFilter"
let filterMarks = (startOfFilter.CodeLabel, endOfFilter.CodeLabel)
CG.SetMarkToHere cgbuf afterFilter
let startOfHandler = CG.GenerateMark cgbuf "startOfHandler"
- begin
- CG.SetStack cgbuf [g.ilg.typ_Object]
- let _, eenvinner = AllocLocalVal cenv cgbuf vh eenvinner None (startOfHandler, afterHandler)
- CG.EmitInstr cgbuf (pop 1) (Push [g.iltyp_Exception]) (I_castclass g.iltyp_Exception)
- GenStoreVal cenv cgbuf eenvinner vh.Range vh
-
- GenExpr cenv cgbuf eenvinner SPAlways eh (LeaveHandler (false, whereToSave, afterHandler))
- end
+
+ CG.SetStack cgbuf [g.ilg.typ_Object]
+ let _, eenvinner = AllocLocalVal cenv cgbuf vh eenvinner None (startOfHandler, afterHandler)
+ CG.EmitInstr cgbuf (pop 1) (Push [g.iltyp_Exception]) (I_castclass g.iltyp_Exception)
+ GenStoreVal cenv cgbuf eenvinner vh.Range vh
+
+ GenExpr cenv cgbuf eenvinner SPAlways eh (LeaveHandler (false, whereToSave, afterHandler))
+
let endOfHandler = CG.GenerateMark cgbuf "endOfHandler"
let handlerMarks = (startOfHandler.CodeLabel, endOfHandler.CodeLabel)
ILExceptionClause.FilterCatch(filterMarks, handlerMarks)
else
let startOfHandler = CG.GenerateMark cgbuf "startOfHandler"
- begin
- match spWith with
- | SequencePointAtWith m -> CG.EmitSeqPoint cgbuf m
- | NoSequencePointAtWith -> ()
+
+ match spWith with
+ | SequencePointAtWith m -> CG.EmitSeqPoint cgbuf m
+ | NoSequencePointAtWith -> ()
- CG.SetStack cgbuf [g.ilg.typ_Object]
- let _, eenvinner = AllocLocalVal cenv cgbuf vh eenvinner None (startOfHandler, afterHandler)
- CG.EmitInstr cgbuf (pop 1) (Push [g.iltyp_Exception]) (I_castclass g.iltyp_Exception)
+ CG.SetStack cgbuf [g.ilg.typ_Object]
+ let _, eenvinner = AllocLocalVal cenv cgbuf vh eenvinner None (startOfHandler, afterHandler)
+ CG.EmitInstr cgbuf (pop 1) (Push [g.iltyp_Exception]) (I_castclass g.iltyp_Exception)
- GenStoreVal cenv cgbuf eenvinner m vh
+ GenStoreVal cenv cgbuf eenvinner m vh
- GenExpr cenv cgbuf eenvinner SPAlways eh (LeaveHandler (false, whereToSave, afterHandler))
- end
+ GenExpr cenv cgbuf eenvinner SPAlways eh (LeaveHandler (false, whereToSave, afterHandler))
+
let endOfHandler = CG.GenerateMark cgbuf "endOfHandler"
let handlerMarks = (startOfHandler.CodeLabel, endOfHandler.CodeLabel)
ILExceptionClause.TypeCatch(g.ilg.typ_Object, handlerMarks)
@@ -5089,7 +5085,6 @@ and GenDecisionTreeSwitch cenv cgbuf inplabOpt stackAtTargets eenv e cases defau
| _ -> error(InternalError("these matches should never be needed", switchm))
and GenDecisionTreeCases cenv cgbuf stackAtTargets eenv defaultTargetOpt targets repeatSP targetInfos sequel caseLabels cases (contf: Zmap<_,_> -> FakeUnit) =
- assert(cgbuf.GetCurrentStack() = stackAtTargets) // cgbuf stack should be unchanged over tests. [bug://1750].
match defaultTargetOpt with
| Some defaultTarget ->
@@ -5274,7 +5269,7 @@ and GenBindingAfterSequencePoint cenv cgbuf eenv sp (TBind(vspec, rhsExpr, _)) s
// Workaround for .NET and Visual Studio restriction w.r.t debugger type proxys
// Mark internal constructors in internal classes as public.
let access =
- if access = ILMemberAccess.Assembly && vspec.IsConstructor && IsHiddenTycon g eenv.sigToImplRemapInfo vspec.MemberApparentEntity.Deref then
+ if access = ILMemberAccess.Assembly && vspec.IsConstructor && IsHiddenTycon eenv.sigToImplRemapInfo vspec.MemberApparentEntity.Deref then
ILMemberAccess.Public
else
access
@@ -6489,7 +6484,7 @@ and GenModuleBinding cenv (cgbuf: CodeGenBuffer) (qname: QualifiedNameOfFile) la
GenLetRecBindings cenv cgbuf eenv ([bind], m)
| ModuleOrNamespaceBinding.Module (mspec, mdef) ->
- let hidden = IsHiddenTycon cenv.g eenv.sigToImplRemapInfo mspec
+ let hidden = IsHiddenTycon eenv.sigToImplRemapInfo mspec
let eenvinner =
if mspec.IsNamespace then eenv else
@@ -6594,56 +6589,47 @@ and GenTopImpl cenv (mgbuf: AssemblyBuilder) mainInfoOpt eenv (TImplFile (qname,
else
[], []
- begin
-
- match mainInfoOpt with
-
- // Final file in .EXE
- | Some mainInfo ->
-
- // Generate an explicit main method. If necessary, make a class constructor as
- // well for the bindings earlier in the file containing the entry point.
- match mgbuf.GetExplicitEntryPointInfo() with
-
- // Final file, explicit entry point: place the code in a .cctor, and add code to main that forces the .cctor (if topCode has initialization effect).
- | Some tref ->
- if doesSomething then
- lazyInitInfo.Add (fun fspec feefee seqpt ->
- // This adds the explicit init of the .cctor to the explicit entry point main method
- mgbuf.AddExplicitInitToSpecificMethodDef((fun md -> md.IsEntryPoint), tref, fspec, GenPossibleILSourceMarker cenv m, feefee, seqpt))
-
- let cctorMethDef = mkILClassCtor (MethodBody.IL topCode)
- mgbuf.AddMethodDef(initClassTy.TypeRef, cctorMethDef)
-
- // Final file, implicit entry point. We generate no .cctor.
- // void main@() {
- //
- // }
- | None ->
-
- let ilAttrs = mkILCustomAttrs (GenAttrs cenv eenv mainInfo)
- if not cenv.opts.isInteractive && not doesSomething then
- let errorM = m.EndRange
- warning (Error(FSComp.SR.ilMainModuleEmpty(), errorM))
-
- // generate main@
- let ilMainMethodDef =
- let mdef = mkILNonGenericStaticMethod(mainMethName, ILMemberAccess.Public, [], mkILReturn ILType.Void, MethodBody.IL topCode)
- mdef.With(isEntryPoint= true, customAttrs = ilAttrs)
- mgbuf.AddMethodDef(initClassTy.TypeRef, ilMainMethodDef)
-
-
- // Library file: generate an optional .cctor if topCode has initialization effect
- | None ->
+ match mainInfoOpt with
+ // Final file in .EXE
+ | Some mainInfo ->
+ // Generate an explicit main method. If necessary, make a class constructor as
+ // well for the bindings earlier in the file containing the entry point.
+ match mgbuf.GetExplicitEntryPointInfo() with
+ // Final file, explicit entry point: place the code in a .cctor, and add code to main that forces the .cctor (if topCode has initialization effect).
+ | Some tref ->
if doesSomething then
+ lazyInitInfo.Add (fun fspec feefee seqpt ->
+ // This adds the explicit init of the .cctor to the explicit entry point main method
+ mgbuf.AddExplicitInitToSpecificMethodDef((fun md -> md.IsEntryPoint), tref, fspec, GenPossibleILSourceMarker cenv m, feefee, seqpt))
- // Add the cctor
let cctorMethDef = mkILClassCtor (MethodBody.IL topCode)
mgbuf.AddMethodDef(initClassTy.TypeRef, cctorMethDef)
+ // Final file, implicit entry point. We generate no .cctor.
+ // void main@() {
+ //
+ // }
+ | None ->
+ let ilAttrs = mkILCustomAttrs (GenAttrs cenv eenv mainInfo)
+ if not cenv.opts.isInteractive && not doesSomething then
+ let errorM = m.EndRange
+ warning (Error(FSComp.SR.ilMainModuleEmpty(), errorM))
+
+ // generate main@
+ let ilMainMethodDef =
+ let mdef = mkILNonGenericStaticMethod(mainMethName, ILMemberAccess.Public, [], mkILReturn ILType.Void, MethodBody.IL topCode)
+ mdef.With(isEntryPoint= true, customAttrs = ilAttrs)
- end
+ mgbuf.AddMethodDef(initClassTy.TypeRef, ilMainMethodDef)
+
+
+ // Library file: generate an optional .cctor if topCode has initialization effect
+ | None ->
+ if doesSomething then
+ // Add the cctor
+ let cctorMethDef = mkILClassCtor (MethodBody.IL topCode)
+ mgbuf.AddMethodDef(initClassTy.TypeRef, cctorMethDef)
// Commit the directed initializations
if doesSomething then
@@ -6828,8 +6814,8 @@ and GenTypeDef cenv mgbuf lazyInitInfo eenv m (tycon: Tycon) =
let ilIntfTys = tycon.ImmediateInterfaceTypesOfFSharpTycon |> List.map (GenType cenv.amap m eenvinner.tyenv)
let ilTypeName = tref.Name
- let hidden = IsHiddenTycon g eenv.sigToImplRemapInfo tycon
- let hiddenRepr = hidden || IsHiddenTyconRepr g eenv.sigToImplRemapInfo tycon
+ let hidden = IsHiddenTycon eenv.sigToImplRemapInfo tycon
+ let hiddenRepr = hidden || IsHiddenTyconRepr eenv.sigToImplRemapInfo tycon
let access = ComputeTypeAccess tref hidden
// The implicit augmentation doesn't actually create CompareTo(object) or Object.Equals
@@ -7412,7 +7398,7 @@ and GenExnDef cenv mgbuf eenv m (exnc: Tycon) =
| TExnFresh _ ->
let ilThisTy = GenExnType cenv.amap m eenv.tyenv exncref
let tref = ilThisTy.TypeRef
- let isHidden = IsHiddenTycon g eenv.sigToImplRemapInfo exnc
+ let isHidden = IsHiddenTycon eenv.sigToImplRemapInfo exnc
let access = ComputeTypeAccess tref isHidden
let reprAccess = ComputeMemberAccess isHidden
let fspecs = exnc.TrueInstanceFieldsAsList
@@ -7514,29 +7500,27 @@ and GenExnDef cenv mgbuf eenv m (exnc: Tycon) =
let CodegenAssembly cenv eenv mgbuf fileImpls =
if not (isNil fileImpls) then
- let a, b = List.frontAndBack fileImpls
- let eenv = List.fold (GenTopImpl cenv mgbuf None) eenv a
- let eenv = GenTopImpl cenv mgbuf cenv.opts.mainMethodInfo eenv b
-
- // Some constructs generate residue types and bindings. Generate these now. They don't result in any
- // top-level initialization code.
- begin
- let extraBindings = mgbuf.GrabExtraBindingsToGenerate()
- //printfn "#extraBindings = %d" extraBindings.Length
- if extraBindings.Length > 0 then
- let mexpr = TMDefs [ for b in extraBindings -> TMDefLet(b, range0) ]
- let _emptyTopInstrs, _emptyTopCode =
- CodeGenMethod cenv mgbuf ([], "unused", eenv, 0, (fun cgbuf eenv ->
- let lazyInitInfo = ResizeArray()
- let qname = QualifiedNameOfFile(mkSynId range0 "unused")
- LocalScope "module" cgbuf (fun scopeMarks ->
- let eenv = AddBindingsForModuleDef (fun cloc v -> AllocTopValWithinExpr cenv cgbuf cloc scopeMarks v) eenv.cloc eenv mexpr
- GenModuleDef cenv cgbuf qname lazyInitInfo eenv mexpr)), range0)
- //printfn "#_emptyTopInstrs = %d" _emptyTopInstrs.Length
- ()
- end
-
- mgbuf.AddInitializeScriptsInOrderToEntryPoint()
+ let a, b = List.frontAndBack fileImpls
+ let eenv = List.fold (GenTopImpl cenv mgbuf None) eenv a
+ let eenv = GenTopImpl cenv mgbuf cenv.opts.mainMethodInfo eenv b
+
+ // Some constructs generate residue types and bindings. Generate these now. They don't result in any
+ // top-level initialization code.
+ let extraBindings = mgbuf.GrabExtraBindingsToGenerate()
+ //printfn "#extraBindings = %d" extraBindings.Length
+ if extraBindings.Length > 0 then
+ let mexpr = TMDefs [ for b in extraBindings -> TMDefLet(b, range0) ]
+ let _emptyTopInstrs, _emptyTopCode =
+ CodeGenMethod cenv mgbuf ([], "unused", eenv, 0, (fun cgbuf eenv ->
+ let lazyInitInfo = ResizeArray()
+ let qname = QualifiedNameOfFile(mkSynId range0 "unused")
+ LocalScope "module" cgbuf (fun scopeMarks ->
+ let eenv = AddBindingsForModuleDef (fun cloc v -> AllocTopValWithinExpr cenv cgbuf cloc scopeMarks v) eenv.cloc eenv mexpr
+ GenModuleDef cenv cgbuf qname lazyInitInfo eenv mexpr)), range0)
+ //printfn "#_emptyTopInstrs = %d" _emptyTopInstrs.Length
+ ()
+
+ mgbuf.AddInitializeScriptsInOrderToEntryPoint()
//-------------------------------------------------------------------------
// When generating a module we just write into mutable
@@ -7770,4 +7754,3 @@ type IlxAssemblyGenerator(amap: ImportMap, tcGlobals: TcGlobals, tcVal: Constrai
/// Invert the compilation of the given value and return its current dynamic value and its compiled System.Type
member __.LookupGeneratedValue (ctxt, v) = LookupGeneratedValue amap ctxt ilxGenEnv v
-
diff --git a/src/fsharp/InfoReader.fs b/src/fsharp/InfoReader.fs
index 5e655ed0e7..1fac7a0f6e 100644
--- a/src/fsharp/InfoReader.fs
+++ b/src/fsharp/InfoReader.fs
@@ -19,7 +19,7 @@ open FSharp.Compiler.Tastops
open FSharp.Compiler.TcGlobals
/// Use the given function to select some of the member values from the members of an F# type
-let private SelectImmediateMemberVals g optFilter f (tcref: TyconRef) =
+let SelectImmediateMemberVals g optFilter f (tcref: TyconRef) =
let chooser (vref: ValRef) =
match vref.MemberInfo with
// The 'when' condition is a workaround for the fact that values providing
diff --git a/src/fsharp/LanguageFeatures.fs b/src/fsharp/LanguageFeatures.fs
index 0472582f1b..2170cee8f7 100644
--- a/src/fsharp/LanguageFeatures.fs
+++ b/src/fsharp/LanguageFeatures.fs
@@ -16,18 +16,18 @@ open System
// * When a feature is assigned a release language, we will scrub the code of feature references and apply
// the Release Language version.
-/// LanguageFeature enumeration
[]
type LanguageFeature =
- | PreviewVersion = 0
- | LanguageVersion46 = 1
- | LanguageVersion47 = 2
- | SingleUnderscorePattern = 3
- | WildCardInForLoop = 4
- | RelaxWhitespace = 5
- | NameOf = 6
- | ImplicitYield = 7
- | OpenStaticClasses = 8
+ | SingleUnderscorePattern
+ | WildCardInForLoop
+ | RelaxWhitespace
+ | NameOf
+ | ImplicitYield
+ | OpenStaticClasses
+ | DotlessFloat32Literal
+ | PackageManagement
+ | FromEndSlicing
+ | FixedIndexSlice3d4d
/// LanguageVersion management
type LanguageVersion (specifiedVersionAsString) =
@@ -35,30 +35,32 @@ type LanguageVersion (specifiedVersionAsString) =
// When we increment language versions here preview is higher than current RTM version
static let languageVersion46 = 4.6m
static let languageVersion47 = 4.7m
+ static let languageVersion50 = 5.0m
static let previewVersion = 9999m // Language version when preview specified
static let defaultVersion = languageVersion47 // Language version when default specified
static let latestVersion = defaultVersion // Language version when latest specified
- static let latestMajorVersion = languageVersion46 // Language version when latestmajor specified
+ static let latestMajorVersion = languageVersion47 // Language version when latestmajor specified
static let validOptions = [| "preview"; "default"; "latest"; "latestmajor" |]
- static let languageVersions = set [| languageVersion46; languageVersion47 |]
+ static let languageVersions = set [| languageVersion46; languageVersion47 (*; languageVersion50 *) |]
static let features =
dict [
- // Add new LanguageVersions here ...
- LanguageFeature.LanguageVersion46, languageVersion46
- LanguageFeature.LanguageVersion47, languageVersion47
- LanguageFeature.PreviewVersion, previewVersion
-
// F# 4.7
LanguageFeature.SingleUnderscorePattern, languageVersion47
LanguageFeature.WildCardInForLoop, languageVersion47
LanguageFeature.RelaxWhitespace, languageVersion47
LanguageFeature.ImplicitYield, languageVersion47
- // Add new Language Features here...
+ // F# 5.0
+ LanguageFeature.FixedIndexSlice3d4d, languageVersion50
+ LanguageFeature.FromEndSlicing, languageVersion50
+ LanguageFeature.DotlessFloat32Literal, languageVersion50
+
+ // F# preview
LanguageFeature.NameOf, previewVersion
LanguageFeature.OpenStaticClasses, previewVersion
+ LanguageFeature.PackageManagement, previewVersion
]
let specified =
@@ -70,6 +72,7 @@ type LanguageVersion (specifiedVersionAsString) =
| "latestmajor" -> latestMajorVersion
| "4.6" -> languageVersion46
| "4.7" -> languageVersion47
+(* | "5.0" -> languageVersion50 *)
| _ -> 0m
/// Check if this feature is supported by the selected langversion
@@ -78,6 +81,10 @@ type LanguageVersion (specifiedVersionAsString) =
| true, v -> v <= specified
| false, _ -> false
+ /// Has preview been explicitly specified
+ member __.IsPreviewEnabled =
+ specified = previewVersion
+
/// Does the languageVersion support this version string
member __.ContainsVersion version =
match version with
@@ -88,11 +95,11 @@ type LanguageVersion (specifiedVersionAsString) =
member __.ValidOptions = validOptions
/// Get a list of valid versions for help text
- member __.ValidVersions = [|
- for v in languageVersions |> Seq.sort do
- let label = if v = defaultVersion then " (Default)" else ""
- yield sprintf "%M%s" v label
- |]
+ member __.ValidVersions =
+ [|
+ for v in languageVersions |> Seq.sort ->
+ sprintf "%M%s" v (if v = defaultVersion then " (Default)" else "")
+ |]
/// Get the specified LanguageVersion
member __.SpecifiedVersion = specified
diff --git a/src/fsharp/LanguageFeatures.fsi b/src/fsharp/LanguageFeatures.fsi
index 2b42698dd0..6b44cd878a 100644
--- a/src/fsharp/LanguageFeatures.fsi
+++ b/src/fsharp/LanguageFeatures.fsi
@@ -6,16 +6,16 @@ module internal FSharp.Compiler.Features
/// LanguageFeature enumeration
[]
type LanguageFeature =
- | PreviewVersion = 0
- | LanguageVersion46 = 1
- | LanguageVersion47 = 2
- | SingleUnderscorePattern = 3
- | WildCardInForLoop = 4
- | RelaxWhitespace = 5
- | NameOf = 6
- | ImplicitYield = 7
- | OpenStaticClasses = 8
-
+ | SingleUnderscorePattern
+ | WildCardInForLoop
+ | RelaxWhitespace
+ | NameOf
+ | ImplicitYield
+ | OpenStaticClasses
+ | DotlessFloat32Literal
+ | PackageManagement
+ | FromEndSlicing
+ | FixedIndexSlice3d4d
/// LanguageVersion management
type LanguageVersion =
@@ -26,7 +26,10 @@ type LanguageVersion =
/// Get the list of valid versions
member ContainsVersion: string -> bool
- /// Does the specified LanguageVersion support the specified feature
+ /// Has preview been explicitly specified
+ member IsPreviewEnabled: bool
+
+ /// Does the selected LanguageVersion support the specified feature
member SupportsFeature: LanguageFeature -> bool
/// Get the list of valid versions
diff --git a/src/fsharp/LegacyHostedCompilerForTesting.fs b/src/fsharp/LegacyHostedCompilerForTesting.fs
index b793915b5c..821882d84d 100644
--- a/src/fsharp/LegacyHostedCompilerForTesting.fs
+++ b/src/fsharp/LegacyHostedCompilerForTesting.fs
@@ -61,20 +61,20 @@ type internal InProcCompiler(legacyReferenceResolver) =
let ctok = AssumeCompilationThreadWithoutEvidence ()
let loggerProvider = InProcErrorLoggerProvider()
- let exitCode = ref 0
+ let mutable exitCode = 0
let exiter =
{ new Exiter with
- member this.Exit n = exitCode := n; raise StopProcessing }
+ member this.Exit n = exitCode <- n; raise StopProcessing }
try
typecheckAndCompile(ctok, argv, legacyReferenceResolver, false, ReduceMemoryFlag.Yes, CopyFSharpCoreFlag.Yes, exiter, loggerProvider.Provider, None, None)
with
| StopProcessing -> ()
| ReportedError _ | WrappedError(ReportedError _,_) ->
- exitCode := 1
+ exitCode <- 1
()
let output : CompilationOutput = { Warnings = loggerProvider.CapturedWarnings; Errors = loggerProvider.CapturedErrors }
- !exitCode = 0, output
+ exitCode = 0, output
/// in-proc version of fsc.exe
type internal FscCompiler(legacyReferenceResolver) =
diff --git a/src/fsharp/LegacyMSBuildReferenceResolver.fs b/src/fsharp/LegacyMSBuildReferenceResolver.fs
index 8425f6197b..a07941509f 100644
--- a/src/fsharp/LegacyMSBuildReferenceResolver.fs
+++ b/src/fsharp/LegacyMSBuildReferenceResolver.fs
@@ -255,12 +255,12 @@ module LegacyMSBuildReferenceResolver
"Software\Microsoft\.NetFramework", "AssemblyFoldersEx" , ""
if Array.isEmpty references then [| |] else
- let backgroundException = ref false
+ let mutable backgroundException = false
let protect f =
- if not !backgroundException then
+ if not backgroundException then
try f()
- with _ -> backgroundException := true
+ with _ -> backgroundException <- true
let engine =
{ new IBuildEngine with
diff --git a/src/fsharp/LexFilter.fs b/src/fsharp/LexFilter.fs
index a998dfd699..470b54709b 100755
--- a/src/fsharp/LexFilter.fs
+++ b/src/fsharp/LexFilter.fs
@@ -399,39 +399,66 @@ type LexbufState(startPos: Position,
member x.EndPos = endPos
member x.PastEOF = pastEOF
-[]
-type PositionTuple =
- val X: Position
- val Y: Position
- new (x: Position, y: Position) = { X = x; Y = y }
-
/// Used to save the state related to a token
+/// Treat as though this is read-only.
[]
type TokenTup =
- val Token : token
- val LexbufState : LexbufState
- val LastTokenPos: PositionTuple
+ // This is mutable for performance reasons.
+ val mutable Token : token
+ val mutable LexbufState : LexbufState
+ val mutable LastTokenPos: Position
new (token, state, lastTokenPos) = { Token=token; LexbufState=state;LastTokenPos=lastTokenPos }
/// Returns starting position of the token
member x.StartPos = x.LexbufState.StartPos
/// Returns end position of the token
member x.EndPos = x.LexbufState.EndPos
-
+
+type TokenTupPool() =
+
+ /// Arbitrary.
+ /// When parsing the compiler's source files, the pool didn't come close to reaching this limit.
+ /// Therefore, this seems like a reasonable limit to handle 99% of cases.
+ []
+ let maxSize = 100
+
+ let stack = System.Collections.Generic.Stack(Array.init maxSize (fun _ -> TokenTup(Unchecked.defaultof<_>, Unchecked.defaultof<_>, Unchecked.defaultof<_>)))
+
+ member _.Rent() =
+ if stack.Count = 0 then
+ assert false
+ TokenTup(Unchecked.defaultof<_>, Unchecked.defaultof<_>, Unchecked.defaultof<_>)
+ else
+ stack.Pop()
+
+ member _.Return(x: TokenTup) =
+ x.Token <- Unchecked.defaultof<_>
+ x.LexbufState <- Unchecked.defaultof<_>
+ x.LastTokenPos <- Unchecked.defaultof<_>
+ if stack.Count >= maxSize then
+ assert false
+ else
+ stack.Push x
+
/// Returns a token 'tok' with the same position as this token
- member x.UseLocation tok =
+ member pool.UseLocation(x: TokenTup, tok) =
let tokState = x.LexbufState
- TokenTup(tok, LexbufState(tokState.StartPos, tokState.EndPos, false), x.LastTokenPos)
+ let tokTup = pool.Rent()
+ tokTup.Token <- tok
+ tokTup.LexbufState <- LexbufState(tokState.StartPos, tokState.EndPos, false)
+ tokTup.LastTokenPos <- x.LastTokenPos
+ tokTup
/// Returns a token 'tok' with the same position as this token, except that
/// it is shifted by specified number of characters from the left and from the right
/// Note: positive value means shift to the right in both cases
- member x.UseShiftedLocation(tok, shiftLeft, shiftRight) =
- let tokState = x.LexbufState
- TokenTup(tok, LexbufState(tokState.StartPos.ShiftColumnBy shiftLeft,
- tokState.EndPos.ShiftColumnBy shiftRight, false), x.LastTokenPos)
-
-
+ member pool.UseShiftedLocation(x: TokenTup, tok, shiftLeft, shiftRight) =
+ let tokState = x.LexbufState
+ let tokTup = pool.Rent()
+ tokTup.Token <- tok
+ tokTup.LexbufState <- LexbufState(tokState.StartPos.ShiftColumnBy shiftLeft, tokState.EndPos.ShiftColumnBy shiftRight, false)
+ tokTup.LastTokenPos <- x.LastTokenPos
+ tokTup
//----------------------------------------------------------------------------
// Utilities for the tokenizer that are needed in other places
@@ -541,6 +568,12 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
| Parser.EOF _ -> tokenTup.LexbufState.StartPos.ColumnMinusOne
| _ -> tokenTup.LexbufState.StartPos
+ //----------------------------------------------------------------------------
+ // TokenTup pool
+ //--------------------------------------------------------------------------
+
+ let pool = TokenTupPool()
+
//----------------------------------------------------------------------------
// Part II. The state of the new lex stream object.
//--------------------------------------------------------------------------
@@ -552,7 +585,6 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
let runWrappedLexerInConsistentLexbufState() =
let state = if haveLexbufState then savedLexbufState else getLexbufState()
setLexbufState state
- let lastTokenStart = state.StartPos
let lastTokenEnd = state.EndPos
let token = lexer lexbuf
// Now we've got the token, remember the lexbuf state, associating it with the token
@@ -560,7 +592,12 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
let tokenLexbufState = getLexbufState()
savedLexbufState <- tokenLexbufState
haveLexbufState <- true
- TokenTup(token, tokenLexbufState, PositionTuple(lastTokenStart, lastTokenEnd))
+
+ let tokenTup = pool.Rent()
+ tokenTup.Token <- token
+ tokenTup.LexbufState <- tokenLexbufState
+ tokenTup.LastTokenPos <- lastTokenEnd
+ tokenTup
//----------------------------------------------------------------------------
// Fetch a raw token, either from the old lexer or from our delayedStack
@@ -870,11 +907,11 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
| INFIX_COMPARE_OP "" | LESS _ ->
let tokenEndPos = tokenTup.LexbufState.EndPos
if isAdjacent tokenTup lookaheadTokenTup then
- let stack = ref []
+ let mutable stack = []
let rec scanAhead nParen =
let lookaheadTokenTup = popNextTokenTup()
let lookaheadToken = lookaheadTokenTup.Token
- stack := (lookaheadTokenTup, true) :: !stack
+ stack <- (lookaheadTokenTup, true) :: stack
let lookaheadTokenStartPos = startPosOfTokenTup lookaheadTokenTup
match lookaheadToken with
| Parser.EOF _ | SEMICOLON_SEMICOLON -> false
@@ -890,7 +927,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
let hasAfterOp = (match lookaheadToken with GREATER _ -> false | _ -> true)
if nParen > 0 then
// Don't smash the token if there is an after op and we're in a nested paren
- stack := (lookaheadTokenTup, not hasAfterOp) :: (!stack).Tail
+ stack <- (lookaheadTokenTup, not hasAfterOp) :: stack.Tail
scanAhead nParen
else
// On successful parse of a set of type parameters, look for an adjacent (, e.g.
@@ -898,13 +935,13 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
// and insert a HIGH_PRECEDENCE_PAREN_APP
if not hasAfterOp && (match nextTokenIsAdjacentLParenOrLBrack lookaheadTokenTup with Some LPAREN -> true | _ -> false) then
let dotTokenTup = peekNextTokenTup()
- stack := (dotTokenTup.UseLocation(HIGH_PRECEDENCE_PAREN_APP), false) :: !stack
+ stack <- (pool.UseLocation(dotTokenTup, HIGH_PRECEDENCE_PAREN_APP), false) :: stack
true
| INFIX_COMPARE_OP (TyparsCloseOp(greaters, afterOp)) ->
let nParen = nParen - greaters.Length
if nParen > 0 then
// Don't smash the token if there is an after op and we're in a nested paren
- stack := (lookaheadTokenTup, not afterOp.IsSome) :: (!stack).Tail
+ stack <- (lookaheadTokenTup, not afterOp.IsSome) :: stack.Tail
scanAhead nParen
else
// On successful parse of a set of type parameters, look for an adjacent (, e.g.
@@ -912,7 +949,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
// and insert a HIGH_PRECEDENCE_PAREN_APP
if afterOp.IsNone && (match nextTokenIsAdjacentLParenOrLBrack lookaheadTokenTup with Some LPAREN -> true | _ -> false) then
let dotTokenTup = peekNextTokenTup()
- stack := (dotTokenTup.UseLocation(HIGH_PRECEDENCE_PAREN_APP), false) :: !stack
+ stack <- (pool.UseLocation(dotTokenTup, HIGH_PRECEDENCE_PAREN_APP), false) :: stack
true
| (LPAREN | LESS _ | LBRACK | LBRACK_LESS | INFIX_COMPARE_OP "") ->
scanAhead (nParen+1)
@@ -963,26 +1000,31 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
let res = scanAhead 0
// Put the tokens back on and smash them up if needed
- !stack |> List.iter (fun (tokenTup, smash) ->
+ stack |> List.iter (fun (tokenTup, smash) ->
if smash then
match tokenTup.Token with
| INFIX_COMPARE_OP "" ->
- delayToken (tokenTup.UseShiftedLocation(INFIX_STAR_DIV_MOD_OP "/", 1, 0))
- delayToken (tokenTup.UseShiftedLocation(LESS res, 0, -1))
+ delayToken (pool.UseShiftedLocation(tokenTup, INFIX_STAR_DIV_MOD_OP "/", 1, 0))
+ delayToken (pool.UseShiftedLocation(tokenTup, LESS res, 0, -1))
+ pool.Return tokenTup
| GREATER_BAR_RBRACK ->
- delayToken (tokenTup.UseShiftedLocation(BAR_RBRACK, 1, 0))
- delayToken (tokenTup.UseShiftedLocation(GREATER res, 0, -2))
+ delayToken (pool.UseShiftedLocation(tokenTup, BAR_RBRACK, 1, 0))
+ delayToken (pool.UseShiftedLocation(tokenTup, GREATER res, 0, -2))
+ pool.Return tokenTup
| GREATER_RBRACK ->
- delayToken (tokenTup.UseShiftedLocation(RBRACK, 1, 0))
- delayToken (tokenTup.UseShiftedLocation(GREATER res, 0, -1))
+ delayToken (pool.UseShiftedLocation(tokenTup, RBRACK, 1, 0))
+ delayToken (pool.UseShiftedLocation(tokenTup, GREATER res, 0, -1))
+ pool.Return tokenTup
| GREATER _ ->
- delayToken (tokenTup.UseLocation(GREATER res))
+ delayToken (pool.UseLocation(tokenTup, GREATER res))
+ pool.Return tokenTup
| (INFIX_COMPARE_OP (TyparsCloseOp(greaters, afterOp) as opstr)) ->
match afterOp with
| None -> ()
- | Some tok -> delayToken (tokenTup.UseShiftedLocation(tok, greaters.Length, 0))
+ | Some tok -> delayToken (pool.UseShiftedLocation(tokenTup, tok, greaters.Length, 0))
for i = greaters.Length - 1 downto 0 do
- delayToken (tokenTup.UseShiftedLocation(greaters.[i] res, i, -opstr.Length + i + 1))
+ delayToken (pool.UseShiftedLocation(tokenTup, greaters.[i] res, i, -opstr.Length + i + 1))
+ pool.Return tokenTup
| _ -> delayToken tokenTup
else
delayToken tokenTup)
@@ -1109,7 +1151,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
// span of inserted token lasts from the col + 1 of the prev token
// to the beginning of current token
let lastTokenPos =
- let pos = tokenTup.LastTokenPos.Y
+ let pos = tokenTup.LastTokenPos
pos.ShiftColumnBy 1
returnToken (lexbufStateForInsertedDummyTokens (lastTokenPos, tokenTup.LexbufState.StartPos)) tok
@@ -1235,7 +1277,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
popCtxt()
effectsToDo <- (fun() ->
if debug then dprintf "--> because %s is coming, inserting OBLOCKEND\n" keywordName
- delayTokenNoProcessing (tokenTup.UseLocation OBLOCKEND)) :: effectsToDo
+ delayTokenNoProcessing (pool.UseLocation(tokenTup, OBLOCKEND))) :: effectsToDo
| CtxtSeqBlock(_, _, NoAddBlockEnd) ->
if debug then dprintf "--> because %s is coming, popping CtxtSeqBlock\n" keywordName
popCtxt()
@@ -1243,7 +1285,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
popCtxt()
effectsToDo <- (fun() ->
if debug then dprintf "--> because %s is coming, inserting ORIGHT_BLOCK_END\n" keywordName
- delayTokenNoProcessing (tokenTup.UseLocation(ORIGHT_BLOCK_END))) :: effectsToDo
+ delayTokenNoProcessing (pool.UseLocation(tokenTup, ORIGHT_BLOCK_END))) :: effectsToDo
| CtxtVanilla _ ->
if debug then dprintf "--> because %s is coming, popping CtxtVanilla\n" keywordName
popCtxt()
@@ -1253,12 +1295,16 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
// Why _six_ TYPE_COMING_SOON? It's rather arbitrary, this means we can recover from up to six unmatched parens before failing. The unit tests (with 91609 in the name) demonstrate this.
// Don't "delayToken tokenTup", we are replacing it, so consume it.
if debug then dprintf "inserting 6 copies of %+A before %+A\n" comingSoon isHere
- delayTokenNoProcessing (tokenTup.UseLocation isHere)
+ delayTokenNoProcessing (pool.UseLocation(tokenTup, isHere))
for i in 1..6 do
- delayTokenNoProcessing (tokenTup.UseLocation comingSoon)
+ delayTokenNoProcessing (pool.UseLocation(tokenTup, comingSoon))
for e in List.rev effectsToDo do
e() // push any END tokens after pushing the TYPE_IS_HERE and TYPE_COMING_SOON stuff, so that they come before those in the token stream
+ let returnToken tokenLexbufState token =
+ pool.Return tokenTup
+ returnToken tokenLexbufState token
+
match token, offsideStack with
// inserted faux tokens need no other processing
| _ when tokensThatNeedNoProcessingCount > 0 ->
@@ -1279,7 +1325,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
// reset on ';;' rule. A ';;' terminates ALL entries
| SEMICOLON_SEMICOLON, [] ->
if debug then dprintf ";; scheduling a reset\n"
- delayToken(tokenTup.UseLocation ORESET)
+ delayToken(pool.UseLocation(tokenTup, ORESET))
returnToken tokenLexbufState SEMICOLON_SEMICOLON
| ORESET, [] ->
@@ -1287,6 +1333,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
// NOTE: The parser thread of F# Interactive will often be blocked on this call, e.g. after an entry has been
// processed and we're waiting for the first token of the next entry.
peekInitial() |> ignore
+ pool.Return tokenTup
hwTokenFetch true
@@ -1300,7 +1347,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
if tokenStartCol < offsidePos.Column then warn tokenTup (FSComp.SR.lexfltIncorrentIndentationOfIn())
popCtxt()
// Make sure we queue a dummy token at this position to check if any other pop rules apply
- delayToken(tokenTup.UseLocation(ODUMMY token))
+ delayToken(pool.UseLocation(tokenTup, ODUMMY token))
returnToken tokenLexbufState (if blockLet then ODECLEND else token)
// Balancing rule. Encountering a 'done' balances with a 'do'. i.e. even a non-offside 'done' closes a 'do'
@@ -1309,7 +1356,8 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
if debug then dprintf "DONE at %a terminates CtxtDo(offsidePos=%a)\n" outputPos tokenStartPos outputPos offsidePos
popCtxt()
// reprocess as the DONE may close a DO context
- delayToken(tokenTup.UseLocation ODECLEND)
+ delayToken(pool.UseLocation(tokenTup, ODECLEND))
+ pool.Return tokenTup
hwTokenFetch useBlockRule
// Balancing rule. Encountering a ')' or '}' balances with a '(' or '{', even if not offside
@@ -1318,7 +1366,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
if debug then dprintf "RPAREN/RBRACE/BAR_RBRACE/RBRACK/BAR_RBRACK/RQUOTE/END at %a terminates CtxtParen()\n" outputPos tokenStartPos
popCtxt()
// Queue a dummy token at this position to check if any closing rules apply
- delayToken(tokenTup.UseLocation(ODUMMY token))
+ delayToken(pool.UseLocation(tokenTup, ODUMMY token))
returnToken tokenLexbufState token
// Balancing rule. Encountering a 'end' can balance with a 'with' but only when not offside
@@ -1326,7 +1374,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
when not (tokenStartCol + 1 <= offsidePos.Column) ->
if debug then dprintf "END at %a terminates CtxtWithAsAugment()\n" outputPos tokenStartPos
popCtxt()
- delayToken(tokenTup.UseLocation(ODUMMY token)) // make sure we queue a dummy token at this position to check if any closing rules apply
+ delayToken(pool.UseLocation(tokenTup, ODUMMY token)) // make sure we queue a dummy token at this position to check if any closing rules apply
returnToken tokenLexbufState OEND
// Transition rule. CtxtNamespaceHead ~~~> CtxtSeqBlock
@@ -1698,6 +1746,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
insertComingSoonTokens("MODULE", MODULE_COMING_SOON, MODULE_IS_HERE)
if debug then dprintf "MODULE: entering CtxtModuleHead, awaiting EQUALS to go to CtxtSeqBlock (%a)\n" outputPos tokenStartPos
pushCtxt tokenTup (CtxtModuleHead (tokenStartPos, token))
+ pool.Return tokenTup
hwTokenFetch useBlockRule
// exception ... ~~~> CtxtException
@@ -1746,7 +1795,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
| Some tok ->
popCtxt()
if debug then dprintf "--> inserting %+A\n" tok
- delayTokenNoProcessing (tokenTup.UseLocation tok)
+ delayTokenNoProcessing (pool.UseLocation(tokenTup, tok))
// for the rest, we silently pop them
| _ -> popCtxt()
popCtxt() // pop CtxtMemberBody
@@ -2034,7 +2083,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
// if e1 then e2
// else if e3 then e4
// else if e5 then e6
- let _ = popNextTokenTup()
+ popNextTokenTup() |> pool.Return
if debug then dprintf "ELSE IF: replacing ELSE IF with ELIF, pushing CtxtIf, CtxtVanilla(%a)\n" outputPos tokenStartPos
pushCtxt tokenTup (CtxtIf tokenStartPos)
returnToken tokenLexbufState ELIF
@@ -2102,6 +2151,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
insertComingSoonTokens("TYPE", TYPE_COMING_SOON, TYPE_IS_HERE)
if debug then dprintf "TYPE, pushing CtxtTypeDefns(%a)\n" outputPos tokenStartPos
pushCtxt tokenTup (CtxtTypeDefns tokenStartPos)
+ pool.Return tokenTup
hwTokenFetch useBlockRule
| TRY, _ ->
@@ -2120,6 +2170,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
| ODUMMY(_), _ ->
if debug then dprintf "skipping dummy token as no offside rules apply\n"
+ pool.Return tokenTup
hwTokenFetch (useBlockRule)
// Ordinary tokens start a vanilla block
@@ -2142,32 +2193,44 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
| Some LPAREN -> HIGH_PRECEDENCE_PAREN_APP
| Some LBRACK -> HIGH_PRECEDENCE_BRACK_APP
| _ -> failwith "unreachable"
- delayToken(dotTokenTup.UseLocation hpa)
+ delayToken(pool.UseLocation(dotTokenTup, hpa))
delayToken tokenTup
true
// Insert HIGH_PRECEDENCE_TYAPP if needed
| (DELEGATE | IDENT _ | IEEE64 _ | IEEE32 _ | DECIMAL _ | INT8 _ | INT16 _ | INT32 _ | INT64 _ | NATIVEINT _ | UINT8 _ | UINT16 _ | UINT32 _ | UINT64 _ | BIGNUM _) when peekAdjacentTypars false tokenTup ->
let lessTokenTup = popNextTokenTup()
- delayToken (lessTokenTup.UseLocation(match lessTokenTup.Token with LESS _ -> LESS true | _ -> failwith "unreachable"))
+ delayToken (pool.UseLocation(lessTokenTup, match lessTokenTup.Token with LESS _ -> LESS true | _ -> failwith "unreachable"))
if debug then dprintf "softwhite inserting HIGH_PRECEDENCE_TYAPP at dotTokenPos = %a\n" outputPos (startPosOfTokenTup lessTokenTup)
- delayToken (lessTokenTup.UseLocation(HIGH_PRECEDENCE_TYAPP))
+ delayToken (pool.UseLocation(lessTokenTup, HIGH_PRECEDENCE_TYAPP))
delayToken (tokenTup)
+ pool.Return lessTokenTup
+ true
+
+ // ..^1 will get parsed as DOT_DOT_HAT 1 while 1..^2 will get parsed as 1 DOT_DOT HAT 2
+ // because of processing rule underneath this.
+ | (DOT_DOT_HAT) ->
+ let hatPos = new LexbufState(tokenTup.EndPos.ShiftColumnBy(-1), tokenTup.EndPos, false)
+ delayToken(let rented = pool.Rent() in rented.Token <- INFIX_AT_HAT_OP("^"); rented.LexbufState <- hatPos; rented.LastTokenPos <- tokenTup.LastTokenPos; rented)
+ delayToken(pool.UseShiftedLocation(tokenTup, DOT_DOT, 0, -1))
+ pool.Return tokenTup
true
// Split this token to allow "1..2" for range specification
| INT32_DOT_DOT (i, v) ->
let dotDotPos = new LexbufState(tokenTup.EndPos.ShiftColumnBy(-2), tokenTup.EndPos, false)
- delayToken(new TokenTup(DOT_DOT, dotDotPos, tokenTup.LastTokenPos))
- delayToken(tokenTup.UseShiftedLocation(INT32(i, v), 0, -2))
+ delayToken(let rented = pool.Rent() in rented.Token <- DOT_DOT; rented.LexbufState <- dotDotPos; rented.LastTokenPos <- tokenTup.LastTokenPos; rented)
+ delayToken(pool.UseShiftedLocation(tokenTup, INT32(i, v), 0, -2))
+ pool.Return tokenTup
true
// Split @>. and @@>. into two
| RQUOTE_DOT (s, raw) ->
let dotPos = new LexbufState(tokenTup.EndPos.ShiftColumnBy(-1), tokenTup.EndPos, false)
- delayToken(new TokenTup(DOT, dotPos, tokenTup.LastTokenPos))
- delayToken(tokenTup.UseShiftedLocation(RQUOTE(s, raw), 0, -1))
+ delayToken(let rented = pool.Rent() in rented.Token <- DOT; rented.LexbufState <- dotPos; rented.LastTokenPos <- tokenTup.LastTokenPos; rented)
+ delayToken(pool.UseShiftedLocation(tokenTup, RQUOTE(s, raw), 0, -1))
+ pool.Return tokenTup
true
| MINUS | PLUS_MINUS_OP _ | PERCENT_OP _ | AMP | AMP_AMP
@@ -2176,7 +2239,7 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
| PERCENT_OP s -> (s = "%") || (s = "%%")
| _ -> true) &&
nextTokenIsAdjacent tokenTup &&
- not (prevWasAtomicEnd && (tokenTup.LastTokenPos.Y = startPosOfTokenTup tokenTup))) ->
+ not (prevWasAtomicEnd && (tokenTup.LastTokenPos = startPosOfTokenTup tokenTup))) ->
let plus =
match tokenTup.Token with
@@ -2189,7 +2252,10 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
| _ -> false
let nextTokenTup = popNextTokenTup()
/// Merge the location of the prefix token and the literal
- let delayMergedToken tok = delayToken(new TokenTup(tok, new LexbufState(tokenTup.LexbufState.StartPos, nextTokenTup.LexbufState.EndPos, nextTokenTup.LexbufState.PastEOF), tokenTup.LastTokenPos))
+ let delayMergedToken tok =
+ delayToken(let rented = pool.Rent() in rented.Token <- tok; rented.LexbufState <- new LexbufState(tokenTup.LexbufState.StartPos, nextTokenTup.LexbufState.EndPos, nextTokenTup.LexbufState.PastEOF); rented.LastTokenPos <- tokenTup.LastTokenPos; rented)
+ pool.Return nextTokenTup
+ pool.Return tokenTup
let noMerge() =
let tokenName =
match tokenTup.Token with
@@ -2201,7 +2267,8 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
| _ -> failwith "unreachable"
let token = ADJACENT_PREFIX_OP tokenName
delayToken nextTokenTup
- delayToken (tokenTup.UseLocation token)
+ delayToken (pool.UseLocation(tokenTup, token))
+ pool.Return tokenTup
if plusOrMinus then
match nextTokenTup.Token with
@@ -2227,14 +2294,18 @@ type LexFilterImpl (lightSyntaxStatus: LightSyntaxStatus, compilingFsLib, lexer,
and pushCtxtSeqBlockAt(p: TokenTup, addBlockBegin, addBlockEnd) =
if addBlockBegin then
if debug then dprintf "--> insert OBLOCKBEGIN \n"
- delayToken(p.UseLocation OBLOCKBEGIN)
+ delayToken(pool.UseLocation(p, OBLOCKBEGIN))
pushCtxt p (CtxtSeqBlock(FirstInSeqBlock, startPosOfTokenTup p, addBlockEnd))
let rec swTokenFetch() =
let tokenTup = popNextTokenTup()
let tokenReplaced = rulesForBothSoftWhiteAndHardWhite tokenTup
if tokenReplaced then swTokenFetch()
- else returnToken tokenTup.LexbufState tokenTup.Token
+ else
+ let lexbufState = tokenTup.LexbufState
+ let tok = tokenTup.Token
+ pool.Return tokenTup
+ returnToken lexbufState tok
//----------------------------------------------------------------------------
// Part VI. Publish the new lexer function.
diff --git a/src/fsharp/MethodCalls.fs b/src/fsharp/MethodCalls.fs
index 37f031e782..9b657f6f8b 100644
--- a/src/fsharp/MethodCalls.fs
+++ b/src/fsharp/MethodCalls.fs
@@ -498,6 +498,8 @@ type CalledMeth<'T>
member x.TotalNumAssignedNamedArgs = x.ArgSets |> List.sumBy (fun x -> x.NumAssignedNamedArgs)
+ override x.ToString() = "call to " + minfo.ToString()
+
let NamesOfCalledArgs (calledArgs: CalledArg list) =
calledArgs |> List.choose (fun x -> x.NameOpt)
@@ -1050,15 +1052,20 @@ let BuildFSharpMethodCall g m (ty, vref: ValRef) valUseFlags minst args =
/// calls to the type-directed solutions to member constraints.
let MakeMethInfoCall amap m minfo minst args =
let valUseFlags = NormalValUse // correct unless if we allow wild trait constraints like "T has a ctor and can be used as a parent class"
+
match minfo with
+
| ILMeth(g, ilminfo, _) ->
let direct = not minfo.IsVirtual
let isProp = false // not necessarily correct, but this is only used post-creflect where this flag is irrelevant
BuildILMethInfoCall g amap m isProp ilminfo valUseFlags minst direct args |> fst
+
| FSMeth(g, ty, vref, _) ->
BuildFSharpMethodCall g m (ty, vref) valUseFlags minst args |> fst
+
| DefaultStructCtor(_, ty) ->
mkDefault (m, ty)
+
#if !NO_EXTENSIONTYPING
| ProvidedMeth(amap, mi, _, m) ->
let isProp = false // not necessarily correct, but this is only used post-creflect where this flag is irrelevant
diff --git a/src/fsharp/NameResolution.fs b/src/fsharp/NameResolution.fs
index 389c6e16b0..a63c8e6e13 100644
--- a/src/fsharp/NameResolution.fs
+++ b/src/fsharp/NameResolution.fs
@@ -536,11 +536,11 @@ let ExtensionPropInfosOfTypeInScope collectionSettings (infoReader:InfoReader) (
let extMemsFromHierarchy =
infoReader.GetEntireTypeHierarchy(AllowMultiIntfInstantiations.Yes, m, ty)
|> List.collect (fun ty ->
- if isAppTy g ty then
- let tcref = tcrefOfAppTy g ty
+ match tryDestAppTy g ty with
+ | ValueSome tcref ->
let extMemInfos = nenv.eIndexedExtensionMembers.Find tcref
SelectPropInfosFromExtMembers infoReader ad optFilter ty m extMemInfos
- else [])
+ | _ -> [])
extMemsDangling @ extMemsFromHierarchy
@@ -550,15 +550,30 @@ let AllPropInfosOfTypeInScope collectionSettings infoReader nenv optFilter ad fi
@ ExtensionPropInfosOfTypeInScope collectionSettings infoReader nenv optFilter ad m ty
/// Get the available methods of a type (both declared and inherited)
-let IntrinsicMethInfosOfType (infoReader:InfoReader) optFilter ad allowMultiIntfInst findFlag m ty =
+let IntrinsicMethInfosOfType (infoReader: InfoReader) optFilter ad allowMultiIntfInst findFlag m ty =
let g = infoReader.g
let amap = infoReader.amap
let minfos = GetIntrinsicMethInfoSetsOfType infoReader optFilter ad allowMultiIntfInst findFlag m ty
let minfos = minfos |> ExcludeHiddenOfMethInfos g amap m
minfos
+let TrySelectExtensionMethInfoOfILExtMem m amap apparentTy (actualParent, minfo, pri) =
+ match minfo with
+ | ILMeth(_,ilminfo,_) ->
+ MethInfo.CreateILExtensionMeth (amap, m, apparentTy, actualParent, Some pri, ilminfo.RawMetadata) |> Some
+ // F#-defined IL-style extension methods are not seen as extension methods in F# code
+ | FSMeth(g,_,vref,_) ->
+ FSMeth(g, apparentTy, vref, Some pri) |> Some
+#if !NO_EXTENSIONTYPING
+ // // Provided extension methods are not yet supported
+ | ProvidedMeth(amap,providedMeth,_,m) ->
+ ProvidedMeth(amap, providedMeth, Some pri,m) |> Some
+#endif
+ | DefaultStructCtor _ ->
+ None
+
/// Select from a list of extension methods
-let SelectMethInfosFromExtMembers (infoReader:InfoReader) optFilter apparentTy m extMemInfos =
+let SelectMethInfosFromExtMembers (infoReader: InfoReader) optFilter apparentTy m extMemInfos =
let g = infoReader.g
// NOTE: multiple "open"'s push multiple duplicate values into eIndexedExtensionMembers
let seen = HashSet(ExtensionMember.Comparer g)
@@ -575,24 +590,14 @@ let SelectMethInfosFromExtMembers (infoReader:InfoReader) optFilter apparentTy m
| _ -> ()
| ILExtMem (actualParent, minfo, pri) when (match optFilter with None -> true | Some nm -> nm = minfo.LogicalName) ->
// Make a reference to the type containing the extension members
- match minfo with
- | ILMeth(_, ilminfo, _) ->
- yield (MethInfo.CreateILExtensionMeth (infoReader.amap, m, apparentTy, actualParent, Some pri, ilminfo.RawMetadata))
- // F#-defined IL-style extension methods are not seen as extension methods in F# code
- | FSMeth(g, _, vref, _) ->
- yield (FSMeth(g, apparentTy, vref, Some pri))
-#if !NO_EXTENSIONTYPING
- // // Provided extension methods are not yet supported
- | ProvidedMeth(amap, providedMeth, _, m) ->
- yield (ProvidedMeth(amap, providedMeth, Some pri, m))
-#endif
- | DefaultStructCtor _ ->
- ()
+ match TrySelectExtensionMethInfoOfILExtMem m infoReader.amap apparentTy (actualParent, minfo, pri) with
+ | Some minfo -> yield minfo
+ | None -> ()
| _ -> ()
]
/// Query the available extension properties of a methods (including extension methods for inherited types)
-let ExtensionMethInfosOfTypeInScope (collectionSettings:ResultCollectionSettings) (infoReader:InfoReader) (nenv: NameResolutionEnv) optFilter m ty =
+let ExtensionMethInfosOfTypeInScope (collectionSettings: ResultCollectionSettings) (infoReader: InfoReader) (nenv: NameResolutionEnv) optFilter m ty =
let extMemsDangling = SelectMethInfosFromExtMembers infoReader optFilter ty m nenv.eUnindexedExtensionMembers
if collectionSettings = ResultCollectionSettings.AtMostOneResult && not (isNil extMemsDangling) then
extMemsDangling
@@ -601,11 +606,11 @@ let ExtensionMethInfosOfTypeInScope (collectionSettings:ResultCollectionSettings
infoReader.GetEntireTypeHierarchy(AllowMultiIntfInstantiations.Yes, m, ty)
|> List.collect (fun ty ->
let g = infoReader.g
- if isAppTy g ty then
- let tcref = tcrefOfAppTy g ty
+ match tryDestAppTy g ty with
+ | ValueSome tcref ->
let extValRefs = nenv.eIndexedExtensionMembers.Find tcref
SelectMethInfosFromExtMembers infoReader optFilter ty m extValRefs
- else [])
+ | _ -> [])
extMemsDangling @ extMemsFromHierarchy
/// Get all the available methods of a type (both intrinsic and extension)
@@ -1702,6 +1707,8 @@ type TcSymbolUses(g, capturedNameResolutions: ResizeArray, ResizeArray(), Array.empty)
+
/// An accumulator for the results being emitted into the tcSink.
type TcResultsSinkImpl(g, ?sourceText: ISourceText) =
let capturedEnvs = ResizeArray<_>()
@@ -2345,10 +2352,11 @@ let rec ResolveLongIdentInTypePrim (ncenv: NameResolver) nenv lookupKind (resInf
match lookupKind with
| LookupKind.Expr | LookupKind.Pattern ->
- if isAppTy g ty then
- let tcref = tcrefOfAppTy g ty
+ match tryDestAppTy g ty with
+ | ValueSome tcref ->
for uc in tcref.UnionCasesArray do
addToBuffer uc.DisplayName
+ | _ -> ()
| _ -> ()
raze (UndefinedName (depth, FSComp.SR.undefinedNameFieldConstructorOrMember, id, suggestMembers))
@@ -2356,7 +2364,12 @@ let rec ResolveLongIdentInTypePrim (ncenv: NameResolver) nenv lookupKind (resInf
and ResolveLongIdentInNestedTypes (ncenv: NameResolver) nenv lookupKind resInfo depth id m ad (id2: Ident) (rest: Ident list) findFlag typeNameResInfo tys =
tys
|> CollectAtMostOneResult (fun ty ->
- let resInfo = if isAppTy ncenv.g ty then resInfo.AddEntity(id.idRange, tcrefOfAppTy ncenv.g ty) else resInfo
+ let resInfo =
+ match tryDestAppTy ncenv.g ty with
+ | ValueSome tcref ->
+ resInfo.AddEntity(id.idRange, tcref)
+ | _ ->
+ resInfo
ResolveLongIdentInTypePrim ncenv nenv lookupKind resInfo depth m ad id2 rest findFlag typeNameResInfo ty
|> AtMostOneResult m)
@@ -2528,7 +2541,7 @@ let rec ResolveExprLongIdentPrim sink (ncenv: NameResolver) first fullyQualified
ResolveExprLongIdentPrim sink ncenv false FullyQualified m ad nenv typeNameResInfo id2 rest2 isOpenDecl
else
if isNil rest && fullyQualified <> FullyQualified then
- let typeError = ref None
+ let mutable typeError = None
// Single identifier. Lookup the unqualified names in the environment
let envSearch =
match nenv.eUnqualifiedItems.TryGetValue id.idText with
@@ -2549,7 +2562,7 @@ let rec ResolveExprLongIdentPrim sink (ncenv: NameResolver) first fullyQualified
let resInfo, item, rest = ForceRaise res
ResolutionInfo.SendEntityPathToSink(sink, ncenv, nenv, ItemOccurence.Use, ad, resInfo, ResultTyparChecker(fun () -> CheckAllTyparsInferrable ncenv.amap m item))
Some(item, rest)
- | Exception e -> typeError := Some e; None
+ | Exception e -> typeError <- Some e; None
| true, res ->
let fresh = FreshenUnqualifiedItem ncenv m res
@@ -2587,7 +2600,7 @@ let rec ResolveExprLongIdentPrim sink (ncenv: NameResolver) first fullyQualified
| Result _ as res -> ForceRaise res
| _ ->
let failingCase =
- match !typeError with
+ match typeError with
| Some e -> raze e
| _ ->
let suggestNamesAndTypes (addToBuffer: string -> unit) =
@@ -2871,8 +2884,10 @@ let ResolvePatternLongIdent sink (ncenv: NameResolver) warnOnUpper newDef m ad n
// X.ListEnumerator // does not resolve
//
let ResolveNestedTypeThroughAbbreviation (ncenv: NameResolver) (tcref: TyconRef) m =
- if tcref.IsTypeAbbrev && tcref.Typars(m).IsEmpty && isAppTy ncenv.g tcref.TypeAbbrev.Value && isNil (argsOfAppTy ncenv.g tcref.TypeAbbrev.Value) then
- tcrefOfAppTy ncenv.g tcref.TypeAbbrev.Value
+ if tcref.IsTypeAbbrev && tcref.Typars(m).IsEmpty then
+ match tryAppTy ncenv.g tcref.TypeAbbrev.Value with
+ | ValueSome (abbrevTcref, []) -> abbrevTcref
+ | _ -> tcref
else
tcref
@@ -3207,11 +3222,12 @@ let ResolveFieldPrim sink (ncenv: NameResolver) nenv ad ty (mp, id: Ident) allFi
|> ListSet.setify (fun fref1 fref2 -> tyconRefEq g fref1.TyconRef fref2.TyconRef)
|> List.map (fun x -> ResolutionInfo.Empty, FieldResolution(x, false))
- if isAppTy g ty then
+ match tryDestAppTy g ty with
+ | ValueSome tcref ->
match ncenv.InfoReader.TryFindRecdOrClassFieldInfoOfType(id.idText, m, ty) with
| ValueSome (RecdFieldInfo(_, rfref)) -> [ResolutionInfo.Empty, FieldResolution(rfref, false)]
| _ ->
- if isRecdTy g ty then
+ if tcref.IsRecordTycon then
// record label doesn't belong to record type -> suggest other labels of same record
let suggestLabels (addToBuffer: string -> unit) =
for label in SuggestOtherLabelsOfSameRecordType g nenv ty id allFields do
@@ -3222,7 +3238,7 @@ let ResolveFieldPrim sink (ncenv: NameResolver) nenv ad ty (mp, id: Ident) allFi
error(ErrorWithSuggestions(errorText, m, id.idText, suggestLabels))
else
lookup()
- else
+ | _ ->
lookup()
| _ ->
let lid = (mp@[id])
@@ -3519,7 +3535,10 @@ let ItemOfTyconRef ncenv m (x: TyconRef) =
Item.Types (x.DisplayName, [FreshenTycon ncenv m x])
let ItemOfTy g x =
- let nm = if isAppTy g x then (tcrefOfAppTy g x).DisplayName else "?"
+ let nm =
+ match tryDestAppTy g x with
+ | ValueSome tcref -> tcref.DisplayName
+ | _ -> "?"
Item.Types (nm, [x])
// Filter out 'PrivateImplementationDetail' classes
diff --git a/src/fsharp/NameResolution.fsi b/src/fsharp/NameResolution.fsi
index ea3bbd8aea..c0121ce153 100755
--- a/src/fsharp/NameResolution.fsi
+++ b/src/fsharp/NameResolution.fsi
@@ -141,25 +141,68 @@ val ItemWithNoInst : Item -> ItemWithInst
type FieldResolution = FieldResolution of RecdFieldRef * bool
/// Information about an extension member held in the name resolution environment
-[]
-type ExtensionMember
+type ExtensionMember =
+ /// F#-style Extrinsic extension member, defined in F# code
+ | FSExtMem of ValRef * ExtensionMethodPriority
+
+ /// ILExtMem(declaringTyconRef, ilMetadata, pri)
+ ///
+ /// IL-style extension member, backed by some kind of method with an [] attribute
+ | ILExtMem of TyconRef * MethInfo * ExtensionMethodPriority
+
+ /// Describes the sequence order of the introduction of an extension method. Extension methods that are introduced
+ /// later through 'open' get priority in overload resolution.
+ member Priority : ExtensionMethodPriority
/// The environment of information used to resolve names
[]
type NameResolutionEnv =
- {eDisplayEnv: DisplayEnv
- eUnqualifiedItems: LayeredMap
- ePatItems: NameMap-
- eModulesAndNamespaces: NameMultiMap
- eFullyQualifiedModulesAndNamespaces: NameMultiMap
- eFieldLabels: NameMultiMap
- eTyconsByAccessNames: LayeredMultiMap
- eFullyQualifiedTyconsByAccessNames: LayeredMultiMap
- eTyconsByDemangledNameAndArity: LayeredMap
- eFullyQualifiedTyconsByDemangledNameAndArity: LayeredMap
- eIndexedExtensionMembers: TyconRefMultiMap
- eUnindexedExtensionMembers: ExtensionMember list
- eTypars: NameMap }
+ { /// Display environment information for output
+ eDisplayEnv: DisplayEnv
+
+ /// Values and Data Tags available by unqualified name
+ eUnqualifiedItems: LayeredMap
+
+ /// Data Tags and Active Pattern Tags available by unqualified name
+ ePatItems: NameMap
-
+
+ /// Modules accessible via "." notation. Note this is a multi-map.
+ /// Adding a module abbreviation adds it a local entry to this List.map.
+ /// Likewise adding a ccu or opening a path adds entries to this List.map.
+ eModulesAndNamespaces: NameMultiMap
+
+ /// Fully qualified modules and namespaces. 'open' does not change this.
+ eFullyQualifiedModulesAndNamespaces: NameMultiMap
+
+ /// RecdField labels in scope. RecdField labels are those where type are inferred
+ /// by label rather than by known type annotation.
+ /// Bools indicate if from a record, where no warning is given on indeterminate lookup
+ eFieldLabels: NameMultiMap
+
+ /// Tycons indexed by the various names that may be used to access them, e.g.
+ /// "List" --> multiple TyconRef's for the various tycons accessible by this name.
+ /// "List`1" --> TyconRef
+ eTyconsByAccessNames: LayeredMultiMap
+
+ eFullyQualifiedTyconsByAccessNames: LayeredMultiMap
+
+ /// Tycons available by unqualified, demangled names (i.e. (List,1) --> TyconRef)
+ eTyconsByDemangledNameAndArity: LayeredMap
+
+ /// Tycons available by unqualified, demangled names (i.e. (List,1) --> TyconRef)
+ eFullyQualifiedTyconsByDemangledNameAndArity: LayeredMap
+
+ /// Extension members by type and name
+ eIndexedExtensionMembers: TyconRefMultiMap
+
+ /// Other extension members unindexed by type
+ eUnindexedExtensionMembers: ExtensionMember list
+
+ /// Typars (always available by unqualified names). Further typars can be
+ /// in the tpenv, a structure folded through each top-level definition.
+ eTypars: NameMap
+
+ }
static member Empty : g:TcGlobals -> NameResolutionEnv
member DisplayEnv : DisplayEnv
member FindUnqualifiedItem : string -> Item
@@ -326,6 +369,9 @@ type internal TcSymbolUses =
/// Get the locations of all the printf format specifiers in the file
member GetFormatSpecifierLocationsAndArity : unit -> (range * int)[]
+ /// Empty collection of symbol uses
+ static member Empty : TcSymbolUses
+
/// Represents open declaration statement.
type internal OpenDeclaration =
{ /// Long identifier as it's presented in source code.
@@ -542,3 +588,6 @@ val ResolveCompletionsInType : NameResolver -> NameResolutionEnv -> Resolv
val GetVisibleNamespacesAndModulesAtPoint : NameResolver -> NameResolutionEnv -> range -> AccessorDomain -> ModuleOrNamespaceRef list
val IsItemResolvable : NameResolver -> NameResolutionEnv -> range -> AccessorDomain -> string list -> Item -> bool
+
+val TrySelectExtensionMethInfoOfILExtMem : range -> ImportMap -> TType -> TyconRef * MethInfo * ExtensionMethodPriority -> MethInfo option
+
\ No newline at end of file
diff --git a/src/fsharp/Optimizer.fs b/src/fsharp/Optimizer.fs
index 69b7d640a7..37d121cad4 100644
--- a/src/fsharp/Optimizer.fs
+++ b/src/fsharp/Optimizer.fs
@@ -2070,9 +2070,7 @@ and OptimizeExprOp cenv env (op, tyargs, args, m) =
// guarantees to optimize.
| TOp.ILCall (_, _, _, _, _, _, _, mref, _enclTypeArgs, _methTypeArgs, _tys), _, [arg]
- when (mref.DeclaringTypeRef.Scope.IsAssemblyRef &&
- mref.DeclaringTypeRef.Scope.AssemblyRef.Name = cenv.g.ilg.typ_Array.TypeRef.Scope.AssemblyRef.Name &&
- mref.DeclaringTypeRef.Name = cenv.g.ilg.typ_Array.TypeRef.Name &&
+ when (mref.DeclaringTypeRef.Name = cenv.g.ilg.typ_Array.TypeRef.Name &&
mref.Name = "get_Length" &&
isArray1DTy cenv.g (tyOfExpr cenv.g arg)) ->
OptimizeExpr cenv env (Expr.Op (TOp.ILAsm (i_ldlen, [cenv.g.int_ty]), [], [arg], m))
@@ -2785,7 +2783,10 @@ and TryInlineApplication cenv env finfo (tyargs: TType list, args: Expr list, m)
match vref.ApparentEnclosingEntity with
| Parent tcr when (tyconRefEq cenv.g cenv.g.lazy_tcr_canon tcr) ->
match tcr.CompiledRepresentation with
- | CompiledTypeRepr.ILAsmNamed(iltr, _, _) -> iltr.Scope.AssemblyRef.Name = "FSharp.Core"
+ | CompiledTypeRepr.ILAsmNamed(iltr, _, _) ->
+ match iltr.Scope with
+ | ILScopeRef.Assembly aref -> aref.Name = "FSharp.Core"
+ | _ -> false
| _ -> false
| _ -> false
| _ -> false
diff --git a/src/fsharp/PatternMatchCompilation.fs b/src/fsharp/PatternMatchCompilation.fs
index 5a8eaa6534..6c5cc67e5a 100755
--- a/src/fsharp/PatternMatchCompilation.fs
+++ b/src/fsharp/PatternMatchCompilation.fs
@@ -103,16 +103,16 @@ let BindSubExprOfInput g amap gtps (PBind(v, tyscheme)) m (SubExpr(accessf, (ve2
accessf [] ve2
else
let tyargs =
- let someSolved = ref false
+ let mutable someSolved = false
let freezeVar gtp =
if isBeingGeneralized gtp tyscheme then
mkTyparTy gtp
else
- someSolved := true
+ someSolved <- true
TypeRelations.ChooseTyparSolution g amap gtp
let solutions = List.map freezeVar gtps
- if !someSolved then
+ if someSolved then
TypeRelations.IterativelySubstituteTyparSolutions g gtps solutions
else
solutions
@@ -1268,10 +1268,10 @@ let CompilePatternBasic
BindProjectionPatterns newActives s
| TPat_range (c1, c2, m) ->
- let res = ref []
+ let mutable res = []
for i = int c1 to int c2 do
- res := BindProjectionPattern (Active(path, subExpr, TPat_const(Const.Char(char i), m))) s @ !res
- !res
+ res <- BindProjectionPattern (Active(path, subExpr, TPat_const(Const.Char(char i), m))) s @ res
+ res
// Assign an identifier to each TPat_query based on our knowledge of the 'identity' of the active pattern, if any
| TPat_query ((_, _, apatVrefOpt, _, _), _, _) ->
let uniqId =
diff --git a/src/fsharp/PostInferenceChecks.fs b/src/fsharp/PostInferenceChecks.fs
index c718a94665..aedf7252d9 100755
--- a/src/fsharp/PostInferenceChecks.fs
+++ b/src/fsharp/PostInferenceChecks.fs
@@ -313,7 +313,7 @@ let RecordAnonRecdInfo cenv (anonInfo: AnonRecdTypeInfo) =
// approx walk of type
//--------------------------------------------------------------------------
-let rec CheckTypeDeep (cenv: cenv) ((visitTy, visitTyconRefOpt, visitAppTyOpt, visitTraitSolutionOpt, visitTyparOpt) as f) g env isInner ty =
+let rec CheckTypeDeep (cenv: cenv) ((visitTy, visitTyconRefOpt, visitAppTyOpt, visitTraitSolutionOpt, visitTyparOpt) as f) (g: TcGlobals) env isInner ty =
// We iterate the _solved_ constraints as well, to pick up any record of trait constraint solutions
// This means we walk _all_ the constraints _everywhere_ in a type, including
// those attached to _solved_ type variables. This is used by PostTypeCheckSemanticChecks to detect uses of
@@ -322,17 +322,24 @@ let rec CheckTypeDeep (cenv: cenv) ((visitTy, visitTyconRefOpt, visitAppTyOpt, v
// In an ideal world we would, instead, record the solutions to these constraints as "witness variables" in expressions,
// rather than solely in types.
match ty with
- | TType_var tp when tp.Solution.IsSome ->
- tp.Constraints |> List.iter (fun cx ->
+ | TType_var tp when tp.Solution.IsSome ->
+ for cx in tp.Constraints do
match cx with
| TyparConstraint.MayResolveMember((TTrait(_, _, _, _, _, soln)), _) ->
match visitTraitSolutionOpt, !soln with
| Some visitTraitSolution, Some sln -> visitTraitSolution sln
| _ -> ()
- | _ -> ())
+ | _ -> ()
| _ -> ()
- let ty = stripTyparEqns ty
+ let ty =
+ if g.compilingFslib then
+ match stripTyparEqns ty with
+ // When compiling FSharp.Core, do not strip type equations at this point if we can't dereference a tycon.
+ | TType_app (tcref, _) when not tcref.CanDeref -> ty
+ | _ -> stripTyEqns g ty
+ else
+ stripTyEqns g ty
visitTy ty
match ty with
@@ -372,10 +379,12 @@ let rec CheckTypeDeep (cenv: cenv) ((visitTy, visitTyconRefOpt, visitAppTyOpt, v
visitTyar (env, tp)
and CheckTypesDeep cenv f g env tys =
- tys |> List.iter (CheckTypeDeep cenv f g env true)
+ for ty in tys do
+ CheckTypeDeep cenv f g env true ty
and CheckTypesDeepNoInner cenv f g env tys =
- tys |> List.iter (CheckTypeDeep cenv f g env false)
+ for ty in tys do
+ CheckTypeDeep cenv f g env false ty
and CheckTypeConstraintDeep cenv f g env x =
match x with
@@ -1917,8 +1926,8 @@ let CheckRecdField isUnion cenv env (tycon: Tycon) (rfield: RecdField) =
let m = rfield.Range
let fieldTy = stripTyEqns cenv.g rfield.FormalType
let isHidden =
- IsHiddenTycon cenv.g env.sigToImplRemapInfo tycon ||
- IsHiddenTyconRepr cenv.g env.sigToImplRemapInfo tycon ||
+ IsHiddenTycon env.sigToImplRemapInfo tycon ||
+ IsHiddenTyconRepr env.sigToImplRemapInfo tycon ||
(not isUnion && IsHiddenRecdField env.sigToImplRemapInfo (tcref.MakeNestedRecdFieldRef rfield))
let access = AdjustAccess isHidden (fun () -> tycon.CompilationPath) rfield.Accessibility
CheckTypeForAccess cenv env (fun () -> rfield.Name) access m fieldTy
@@ -2180,7 +2189,7 @@ let CheckEntityDefn cenv env (tycon: Entity) =
uc.RecdFieldsArray |> Array.iter (CheckRecdField true cenv env tycon))
// Access checks
- let access = AdjustAccess (IsHiddenTycon g env.sigToImplRemapInfo tycon) (fun () -> tycon.CompilationPath) tycon.Accessibility
+ let access = AdjustAccess (IsHiddenTycon env.sigToImplRemapInfo tycon) (fun () -> tycon.CompilationPath) tycon.Accessibility
let visitType ty = CheckTypeForAccess cenv env (fun () -> tycon.DisplayNameWithStaticParametersAndUnderscoreTypars) access tycon.Range ty
abstractSlotValsOfTycons [tycon] |> List.iter (typeOfVal >> visitType)
diff --git a/src/fsharp/PrettyNaming.fs b/src/fsharp/PrettyNaming.fs
index 13ca5e4fc7..4c11b9054d 100755
--- a/src/fsharp/PrettyNaming.fs
+++ b/src/fsharp/PrettyNaming.fs
@@ -1,7 +1,7 @@
// Copyright (c) Microsoft Corporation. All Rights Reserved. See License.txt in the project root for license information.
//----------------------------------------------------------------------------
-// Some general F# utilities for mangling / demangling / manipulating names.
+// Some general F# utilities for mangling / unmangling / manipulating names.
//--------------------------------------------------------------------------
/// Anything to do with special names of identifiers and other lexical rules
diff --git a/src/fsharp/QuotationTranslator.fs b/src/fsharp/QuotationTranslator.fs
index cf4e4e1745..879130ab74 100755
--- a/src/fsharp/QuotationTranslator.fs
+++ b/src/fsharp/QuotationTranslator.fs
@@ -988,6 +988,7 @@ and ConvILTypeRef cenv (tr: ILTypeRef) =
let assemblyRef =
match tr.Scope with
| ILScopeRef.Local -> "."
+ | ILScopeRef.PrimaryAssembly -> cenv.g.ilg.primaryAssemblyScopeRef.QualifiedName
| _ -> tr.Scope.QualifiedName
QP.Named(tr.BasicQualifiedName, assemblyRef)
diff --git a/src/fsharp/TastOps.fs b/src/fsharp/TastOps.fs
index 94d0bcffae..3d474dadbc 100644
--- a/src/fsharp/TastOps.fs
+++ b/src/fsharp/TastOps.fs
@@ -95,8 +95,14 @@ let emptyTyparInst = ([]: TyparInst)
[]
type Remap =
{ tpinst: TyparInst
+
+ /// Values to remap
valRemap: ValRemap
+
+ /// TyconRefs to remap
tyconRefRemap: TyconRefRemap
+
+ /// Remove existing trait solutions?
removeTraitSolutions: bool }
let emptyRemap =
@@ -889,7 +895,9 @@ type TypeEquivEnv with
static member FromEquivTypars tps1 tps2 =
TypeEquivEnv.Empty.BindEquivTypars tps1 tps2
-let rec traitsAEquivAux erasureFlag g aenv (TTrait(tys1, nm, mf1, argtys, rty, _)) (TTrait(tys2, nm2, mf2, argtys2, rty2, _)) =
+let rec traitsAEquivAux erasureFlag g aenv traitInfo1 traitInfo2 =
+ let (TTrait(tys1, nm, mf1, argtys, rty, _)) = traitInfo1
+ let (TTrait(tys2, nm2, mf2, argtys2, rty2, _)) = traitInfo2
mf1 = mf2 &&
nm = nm2 &&
ListSet.equals (typeAEquivAux erasureFlag g aenv) tys1 tys2 &&
@@ -909,7 +917,7 @@ and typarConstraintsAEquivAux erasureFlag g aenv tpc1 tpc2 =
TyparConstraint.CoercesTo(fcty, _) ->
typeAEquivAux erasureFlag g aenv acty fcty
- | TyparConstraint.MayResolveMember(trait1, _),
+ | TyparConstraint.MayResolveMember(trait1, _),
TyparConstraint.MayResolveMember(trait2, _) ->
traitsAEquivAux erasureFlag g aenv trait1 trait2
@@ -2479,8 +2487,6 @@ module PrettyTypes =
computeKeep keep (tp :: change) rest
let keep, change = computeKeep [] [] ftps
- // change |> List.iter (fun tp -> dprintf "change typar: %s %s %d\n" tp.Name (tp.DisplayName) (stamp_of_typar tp))
- // keep |> List.iter (fun tp -> dprintf "keep typar: %s %s %d\n" tp.Name (tp.DisplayName) (stamp_of_typar tp))
let alreadyInUse = keep |> List.map (fun x -> x.Name)
let names = PrettyTyparNames (fun x -> List.memq x change) alreadyInUse ftps
@@ -2494,7 +2500,6 @@ module PrettyTypes =
let tauThings = mapTys getTauStayTau things
let prettyThings = mapTys (instType renaming) tauThings
- // niceTypars |> List.iter (fun tp -> dprintf "nice typar: %d\n" (stamp_of_typar tp)); *
let tpconstraints = niceTypars |> List.collect (fun tpnice -> List.map (fun tpc -> tpnice, tpc) tpnice.Constraints)
prettyThings, tpconstraints
@@ -3348,7 +3353,7 @@ module DebugPrint =
| TType_measure unt ->
#if DEBUG
leftL (tagText "{") ^^
- (match !global_g with
+ (match global_g with
| None -> wordL (tagText "")
| Some g ->
let sortVars (vs:(Typar * Rational) list) = vs |> List.sortBy (fun (v, _) -> v.DisplayName)
@@ -3407,7 +3412,7 @@ module DebugPrint =
and auxTraitL env (ttrait: TraitConstraintInfo) =
#if DEBUG
let (TTrait(tys, nm, memFlags, argtys, rty, _)) = ttrait
- match !global_g with
+ match global_g with
| None -> wordL (tagText "")
| Some g ->
let rty = GetFSharpViewOfReturnType g rty
@@ -3527,7 +3532,7 @@ module DebugPrint =
let slotSigL (slotsig: SlotSig) =
#if DEBUG
let (TSlotSig(nm, ty, tps1, tps2, pms, rty)) = slotsig
- match !global_g with
+ match global_g with
| None -> wordL(tagText "")
| Some g ->
let rty = GetFSharpViewOfReturnType g rty
@@ -4081,7 +4086,6 @@ let accValRemap g aenv (msigty: ModuleOrNamespaceType) (implVal: Val) (mrpi, mhi
let vref = mkLocalValRef implVal
match sigValOpt with
| None ->
- if verbose then dprintf "accValRemap, hide = %s#%d\n" implVal.LogicalName implVal.Stamp
let mhi = { mhi with HiddenVals = Zset.add implVal mhi.HiddenVals }
(mrpi, mhi)
| Some (sigVal: Val) ->
@@ -4105,7 +4109,6 @@ let rec accValRemapFromModuleOrNamespaceType g aenv (mty: ModuleOrNamespaceType)
acc
let ComputeRemappingFromInferredSignatureToExplicitSignature g mty msigty =
- // dprintf "ComputeRemappingFromInferredSignatureToExplicitSignature, \nmty = %s\nmmsigty=%s\n" (showL(entityTypeL mty)) (showL(entityTypeL msigty))
let ((mrpi, _) as entityRemap) = accEntityRemapFromModuleOrNamespaceType mty msigty (SignatureRepackageInfo.Empty, SignatureHidingInfo.Empty)
let aenv = mrpi.ImplToSigMapping
let valAndEntityRemap = accValRemapFromModuleOrNamespaceType g aenv mty msigty entityRemap
@@ -4166,7 +4169,6 @@ and accValRemapFromModuleOrNamespaceBind g aenv msigty x acc =
and accValRemapFromModuleOrNamespaceDefs g aenv msigty mdefs acc = List.foldBack (accValRemapFromModuleOrNamespace g aenv msigty) mdefs acc
let ComputeRemappingFromImplementationToSignature g mdef msigty =
- //if verbose then dprintf "ComputeRemappingFromImplementationToSignature, \nmdefs = %s\nmsigty=%s\n" (showL(DebugPrint.mdefL mdef)) (showL(DebugPrint.entityTypeL msigty))
let ((mrpi, _) as entityRemap) = accEntityRemapFromModuleOrNamespace msigty mdef (SignatureRepackageInfo.Empty, SignatureHidingInfo.Empty)
let aenv = mrpi.ImplToSigMapping
@@ -4222,16 +4224,14 @@ let rec accModuleOrNamespaceHidingInfoAtAssemblyBoundary mty acc =
acc
let ComputeHidingInfoAtAssemblyBoundary mty acc =
-// dprintf "ComputeRemappingFromInferredSignatureToExplicitSignature, \nmty = %s\nmmsigty=%s\n" (showL(entityTypeL mty)) (showL(entityTypeL msigty))
accModuleOrNamespaceHidingInfoAtAssemblyBoundary mty acc
//--------------------------------------------------------------------------
// Compute instances of the above for mexpr -> mty
//--------------------------------------------------------------------------
-let IsHidden setF accessF remapF debugF =
+let IsHidden setF accessF remapF =
let rec check mrmi x =
- if verbose then dprintf "IsHidden %s ??\n" (showL (debugF x))
// Internal/private?
not (canAccessFromEverywhere (accessF x)) ||
(match mrmi with
@@ -4242,18 +4242,15 @@ let IsHidden setF accessF remapF debugF =
// Recurse...
check rest (remapF rpi x))
fun mrmi x ->
- let res = check mrmi x
- if verbose then dprintf "IsHidden, #mrmi = %d, %s = %b\n" mrmi.Length (showL (debugF x)) res
- res
+ check mrmi x
+
+let IsHiddenTycon mrmi x = IsHidden (fun mhi -> mhi.HiddenTycons) (fun tc -> tc.Accessibility) (fun rpi x -> (remapTyconRef rpi.tyconRefRemap (mkLocalTyconRef x)).Deref) mrmi x
+
+let IsHiddenTyconRepr mrmi x = IsHidden (fun mhi -> mhi.HiddenTyconReprs) (fun v -> v.TypeReprAccessibility) (fun rpi x -> (remapTyconRef rpi.tyconRefRemap (mkLocalTyconRef x)).Deref) mrmi x
+
+let IsHiddenVal mrmi x = IsHidden (fun mhi -> mhi.HiddenVals) (fun v -> v.Accessibility) (fun rpi x -> (remapValRef rpi (mkLocalValRef x)).Deref) mrmi x
-let IsHiddenTycon g mrmi x =
- let debugPrint x = DebugPrint.tyconL g x
- IsHidden (fun mhi -> mhi.HiddenTycons) (fun tc -> tc.Accessibility) (fun rpi x -> (remapTyconRef rpi.tyconRefRemap (mkLocalTyconRef x)).Deref) debugPrint mrmi x
-let IsHiddenTyconRepr g mrmi x =
- let debugPrint x = DebugPrint.tyconL g x
- IsHidden (fun mhi -> mhi.HiddenTyconReprs) (fun v -> v.TypeReprAccessibility) (fun rpi x -> (remapTyconRef rpi.tyconRefRemap (mkLocalTyconRef x)).Deref) debugPrint mrmi x
-let IsHiddenVal mrmi x = IsHidden (fun mhi -> mhi.HiddenVals) (fun v -> v.Accessibility) (fun rpi x -> (remapValRef rpi (mkLocalValRef x)).Deref) DebugPrint.valL mrmi x
-let IsHiddenRecdField mrmi x = IsHidden (fun mhi -> mhi.HiddenRecdFields) (fun rfref -> rfref.RecdField.Accessibility) (fun rpi x -> remapRecdFieldRef rpi.tyconRefRemap x) DebugPrint.recdFieldRefL mrmi x
+let IsHiddenRecdField mrmi x = IsHidden (fun mhi -> mhi.HiddenRecdFields) (fun rfref -> rfref.RecdField.Accessibility) (fun rpi x -> remapRecdFieldRef rpi.tyconRefRemap x) mrmi x
//--------------------------------------------------------------------------
// Generic operations on module types
@@ -5725,7 +5722,7 @@ let rec tyOfExpr g e =
| TOp.LValueOp (LByrefGet, v) -> destByrefTy g v.Type
| TOp.LValueOp (LAddrOf readonly, v) -> mkByrefTyWithFlag g readonly v.Type
| TOp.RefAddrGet readonly -> (match tinst with [ty] -> mkByrefTyWithFlag g readonly ty | _ -> failwith "bad TOp.RefAddrGet node")
- | TOp.TraitCall (TTrait(_, _, _, _, ty, _)) -> GetFSharpViewOfReturnType g ty
+ | TOp.TraitCall traitInfo -> GetFSharpViewOfReturnType g traitInfo.ReturnType
| TOp.Reraise -> (match tinst with [rtn_ty] -> rtn_ty | _ -> failwith "bad TOp.Reraise node")
| TOp.Goto _ | TOp.Label _ | TOp.Return ->
//assert false
@@ -6494,10 +6491,10 @@ let FoldImplFile folders state implFile = ExprFolders(folders).FoldImplFile stat
//-------------------------------------------------------------------------
let ExprStats x =
- let count = ref 0
- let folders = {ExprFolder0 with exprIntercept = (fun _ noInterceptF z x -> (count := !count + 1; noInterceptF z x))}
+ let mutable count = 0
+ let folders = {ExprFolder0 with exprIntercept = (fun _ noInterceptF z x -> (count <- count + 1; noInterceptF z x))}
let () = FoldExpr folders () x
- string !count + " TExpr nodes"
+ string count + " TExpr nodes"
#endif
//-------------------------------------------------------------------------
@@ -7782,7 +7779,6 @@ let typarEnc _g (gtpsType, gtpsMethod) typar =
"``0"
let rec typeEnc g (gtpsType, gtpsMethod) ty =
- if verbose then dprintf "--> typeEnc"
let stripped = stripTyEqnsAndMeasureEqns g ty
match stripped with
| TType_forall _ ->
diff --git a/src/fsharp/TastOps.fsi b/src/fsharp/TastOps.fsi
index 5179b85239..176f64df72 100755
--- a/src/fsharp/TastOps.fsi
+++ b/src/fsharp/TastOps.fsi
@@ -1208,16 +1208,16 @@ val MakeExportRemapping : CcuThunk -> ModuleOrNamespace -> Remap
val ApplyExportRemappingToEntity : TcGlobals -> Remap -> ModuleOrNamespace -> ModuleOrNamespace
/// Determine if a type definition is hidden by a signature
-val IsHiddenTycon : TcGlobals -> (Remap * SignatureHidingInfo) list -> Tycon -> bool
+val IsHiddenTycon: (Remap * SignatureHidingInfo) list -> Tycon -> bool
/// Determine if the representation of a type definition is hidden by a signature
-val IsHiddenTyconRepr : TcGlobals -> (Remap * SignatureHidingInfo) list -> Tycon -> bool
+val IsHiddenTyconRepr: (Remap * SignatureHidingInfo) list -> Tycon -> bool
/// Determine if a member, function or value is hidden by a signature
-val IsHiddenVal : (Remap * SignatureHidingInfo) list -> Val -> bool
+val IsHiddenVal: (Remap * SignatureHidingInfo) list -> Val -> bool
/// Determine if a record field is hidden by a signature
-val IsHiddenRecdField : (Remap * SignatureHidingInfo) list -> RecdFieldRef -> bool
+val IsHiddenRecdField: (Remap * SignatureHidingInfo) list -> RecdFieldRef -> bool
/// Adjust marks in expressions, replacing all marks by the given mark.
/// Used when inlining.
diff --git a/src/fsharp/TastPickle.fs b/src/fsharp/TastPickle.fs
index d04a049be9..c1b2cf19b2 100644
--- a/src/fsharp/TastPickle.fs
+++ b/src/fsharp/TastPickle.fs
@@ -284,10 +284,13 @@ let u_int32 st =
assert(b0 = 0xFF)
prim_u_int32 st
-let u_bytes st =
+let u_byte_memory st =
let n = (u_int32 st)
st.is.ReadBytes n
+let u_bytes st =
+ (u_byte_memory st).ToArray()
+
let u_prim_string st =
let len = (u_int32 st)
st.is.ReadUtf8String len
@@ -551,12 +554,12 @@ let p_maybe_lazy p (x: MaybeLazy<_>) st =
p_lazy_impl p x.Value st
let p_hole () =
- let h = ref (None : ('T -> WriterState -> unit) option)
- (fun f -> h := Some f), (fun x st -> match !h with Some f -> f x st | None -> pfailwith st "p_hole: unfilled hole")
+ let mutable h = None
+ (fun f -> h <- Some f), (fun x st -> match h with Some f -> f x st | None -> pfailwith st "p_hole: unfilled hole")
let p_hole2 () =
- let h = ref (None : ('Arg -> 'T -> WriterState -> unit) option)
- (fun f -> h := Some f), (fun arg x st -> match !h with Some f -> f arg x st | None -> pfailwith st "p_hole2: unfilled hole")
+ let mutable h = None
+ (fun f -> h <- Some f), (fun arg x st -> match h with Some f -> f arg x st | None -> pfailwith st "p_hole2: unfilled hole")
let u_array_core f n st =
let res = Array.zeroCreate n
@@ -672,8 +675,8 @@ let u_lazy u st =
let u_hole () =
- let h = ref (None : 'T unpickler option)
- (fun f -> h := Some f), (fun st -> match !h with Some f -> f st | None -> ufailwith st "u_hole: unfilled hole")
+ let mutable h = None
+ (fun f -> h <- Some f), (fun st -> match h with Some f -> f st | None -> ufailwith st "u_hole: unfilled hole")
//---------------------------------------------------------------------------
// Pickle/unpickle F# interface data
@@ -832,7 +835,7 @@ let check (ilscope: ILScopeRef) (inMap : NodeInTable<_, _>) =
// an identical copy of the source for the DLL containing the data being unpickled. A message will
// then be printed indicating the name of the item.
-let unpickleObjWithDanglingCcus file ilscope (iILModule: ILModuleDef option) u (phase2bytes: byte[]) =
+let unpickleObjWithDanglingCcus file ilscope (iILModule: ILModuleDef option) u (phase2bytes: ReadOnlyByteMemory) =
let st2 =
{ is = ByteStream.FromBytes (phase2bytes, 0, phase2bytes.Length)
iilscope= ilscope
@@ -858,7 +861,7 @@ let unpickleObjWithDanglingCcus file ilscope (iILModule: ILModuleDef option) u (
(u_array u_encoded_pubpath)
(u_array u_encoded_nleref)
(u_array u_encoded_simpletyp)
- u_bytes
+ u_byte_memory
st2
let ccuTab = new_itbl "iccus" (Array.map (CcuThunk.CreateDelayed) ccuNameTab)
let stringTab = new_itbl "istrings" (Array.map decode_string stringTab)
@@ -916,9 +919,11 @@ let p_ILAssemblyRef (x: ILAssemblyRef) st =
let p_ILScopeRef x st =
match x with
- | ILScopeRef.Local -> p_byte 0 st
- | ILScopeRef.Module mref -> p_byte 1 st; p_ILModuleRef mref st
- | ILScopeRef.Assembly aref -> p_byte 2 st; p_ILAssemblyRef aref st
+ | ILScopeRef.Local -> p_byte 0 st
+ | ILScopeRef.Module mref -> p_byte 1 st; p_ILModuleRef mref st
+ | ILScopeRef.Assembly aref -> p_byte 2 st; p_ILAssemblyRef aref st
+ // Encode primary assembly as a normal assembly ref
+ | ILScopeRef.PrimaryAssembly -> p_byte 2 st; p_ILAssemblyRef st.oglobals.ilg.primaryAssemblyRef st
let u_ILPublicKey st =
let tag = u_byte st
diff --git a/src/fsharp/TastPickle.fsi b/src/fsharp/TastPickle.fsi
index 2b659b0598..e3d9379c07 100644
--- a/src/fsharp/TastPickle.fsi
+++ b/src/fsharp/TastPickle.fsi
@@ -142,7 +142,7 @@ val internal u_ty : unpickler
val internal unpickleCcuInfo : ReaderState -> PickledCcuInfo
/// Deserialize an arbitrary object which may have holes referring to other compilation units
-val internal unpickleObjWithDanglingCcus : file:string -> viewedScope:ILScopeRef -> ilModule:ILModuleDef option -> ('T unpickler) -> byte[] -> PickledDataWithReferences<'T>
+val internal unpickleObjWithDanglingCcus : file:string -> viewedScope:ILScopeRef -> ilModule:ILModuleDef option -> ('T unpickler) -> ReadOnlyByteMemory -> PickledDataWithReferences<'T>
diff --git a/src/fsharp/TcGlobals.fs b/src/fsharp/TcGlobals.fs
index 339e8b4b7f..c70a378f6f 100755
--- a/src/fsharp/TcGlobals.fs
+++ b/src/fsharp/TcGlobals.fs
@@ -1491,5 +1491,5 @@ type public TcGlobals(compilingFslib: bool, ilg:ILGlobals, fslibCcu: CcuThunk, d
#if DEBUG
// This global is only used during debug output
-let global_g = ref (None : TcGlobals option)
+let mutable global_g = None : TcGlobals option
#endif
diff --git a/src/fsharp/TypeChecker.fs b/src/fsharp/TypeChecker.fs
index 978949fd47..c888057686 100644
--- a/src/fsharp/TypeChecker.fs
+++ b/src/fsharp/TypeChecker.fs
@@ -223,7 +223,7 @@ type TcEnv =
/// Compute the value of this computed, cached field
let computeAccessRights eAccessPath eInternalsVisibleCompPaths eFamilyType =
- AccessibleFrom (eAccessPath :: eInternalsVisibleCompPaths, eFamilyType) // env.eAccessRights
+ AccessibleFrom (eAccessPath :: eInternalsVisibleCompPaths, eFamilyType) // env.AccessRights
let emptyTcEnv g =
let cpath = compPathInternal // allow internal access initially
@@ -324,7 +324,7 @@ let AddLocalValMap tcSink scopem (vals: Val NameMap) env =
{ env with
eNameResEnv = AddValMapToNameEnv vals env.eNameResEnv
eUngeneralizableItems = NameMap.foldBackRange (typeOfVal >> addFreeItemOfTy) vals env.eUngeneralizableItems }
- CallEnvSink tcSink (scopem, env.NameEnv, env.eAccessRights)
+ CallEnvSink tcSink (scopem, env.NameEnv, env.AccessRights)
env
/// Add a list of local values to TcEnv and report them to the sink
@@ -336,7 +336,7 @@ let AddLocalVals tcSink scopem (vals: Val list) env =
{ env with
eNameResEnv = AddValListToNameEnv vals env.eNameResEnv
eUngeneralizableItems = List.foldBack (typeOfVal >> addFreeItemOfTy) vals env.eUngeneralizableItems }
- CallEnvSink tcSink (scopem, env.NameEnv, env.eAccessRights)
+ CallEnvSink tcSink (scopem, env.NameEnv, env.AccessRights)
env
/// Add a local value to TcEnv and report it to the sink
@@ -351,8 +351,8 @@ let AddLocalVal tcSink scopem v env =
let AddLocalExnDefnAndReport tcSink scopem env (exnc: Tycon) =
let env = { env with eNameResEnv = AddExceptionDeclsToNameEnv BulkAdd.No env.eNameResEnv (mkLocalEntityRef exnc) }
// Also make VisualStudio think there is an identifier in scope at the range of the identifier text of its binding location
- CallEnvSink tcSink (exnc.Range, env.NameEnv, env.eAccessRights)
- CallEnvSink tcSink (scopem, env.NameEnv, env.eAccessRights)
+ CallEnvSink tcSink (exnc.Range, env.NameEnv, env.AccessRights)
+ CallEnvSink tcSink (scopem, env.NameEnv, env.AccessRights)
env
/// Add a list of type definitions to TcEnv
@@ -431,7 +431,7 @@ let AddModuleAbbreviationAndReport tcSink scopem id modrefs env =
CallEnvSink tcSink (scopem, env.NameEnv, env.eAccessRights)
let item = Item.ModuleOrNamespaces modrefs
- CallNameResolutionSink tcSink (id.idRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Use, env.DisplayEnv, env.eAccessRights)
+ CallNameResolutionSink tcSink (id.idRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Use, env.DisplayEnv, env.AccessRights)
env
/// Add a "module X = ..." definition to the TcEnv
@@ -558,7 +558,7 @@ let MakeInnerEnvWithAcc env nm mtypeAcc modKind =
eCompPath = cpath
eAccessPath = cpath
eAccessRights = computeAccessRights cpath env.eInternalsVisibleCompPaths env.eFamilyType // update this computed field
- eNameResEnv = { env.eNameResEnv with eDisplayEnv = env.DisplayEnv.AddOpenPath (pathOfLid path) }
+ eNameResEnv = { env.NameEnv with eDisplayEnv = env.DisplayEnv.AddOpenPath (pathOfLid path) }
eModuleOrNamespaceTypeAccumulator = mtypeAcc }
/// Make an environment suitable for a module or namespace, creating a new accumulator.
@@ -863,7 +863,7 @@ module AttributeTargets =
let ForNewConstructors tcSink (env: TcEnv) mObjTy methodName meths =
let origItem = Item.CtorGroup(methodName, meths)
- let callSink (item, minst) = CallNameResolutionSink tcSink (mObjTy, env.NameEnv, item, origItem, minst, ItemOccurence.Use, env.DisplayEnv, env.eAccessRights)
+ let callSink (item, minst) = CallNameResolutionSink tcSink (mObjTy, env.NameEnv, item, origItem, minst, ItemOccurence.Use, env.DisplayEnv, env.AccessRights)
let sendToSink minst refinedMeths = callSink (Item.CtorGroup(methodName, refinedMeths), minst)
match meths with
| [] ->
@@ -1301,7 +1301,7 @@ let PublishModuleDefn cenv env mspec =
if intoFslibCcu then mty
else mty.AddEntity mspec)
let item = Item.ModuleOrNamespaces([mkLocalModRef mspec])
- CallNameResolutionSink cenv.tcSink (mspec.Range, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Binding, env.DisplayEnv, env.eAccessRights)
+ CallNameResolutionSink cenv.tcSink (mspec.Range, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Binding, env.DisplayEnv, env.AccessRights)
let PublishTypeDefn cenv env tycon =
UpdateAccModuleOrNamespaceType cenv env (fun _ mty ->
@@ -1531,7 +1531,7 @@ let MakeAndPublishVal cenv env (altActualParent, inSig, declKind, vrec, vscheme,
baseOrThisInfo = ValBaseOrThisInfo.MemberThisVal && vspec.LogicalName = "__" -> false
| _ -> true
- match cenv.tcSink.CurrentSink with
+ match cenv.tcSink.CurrentSink with
| Some _ when not vspec.IsCompilerGenerated && shouldNotifySink vspec ->
let nenv = AddFakeNamedValRefToNameEnv vspec.DisplayName env.NameEnv (mkLocalValRef vspec)
CallEnvSink cenv.tcSink (vspec.Range, nenv, env.eAccessRights)
@@ -1931,7 +1931,7 @@ let FreshenPossibleForallTy g m rigid ty =
let tps, renaming, tinst = CopyAndFixupTypars m rigid tpsorig
tpsorig, tps, tinst, instType renaming tau
-let infoOfTyconRef m (tcref: TyconRef) =
+let FreshenTyconRef2 m (tcref: TyconRef) =
let tps, renaming, tinst = FreshenTypeInst m (tcref.Typars m)
tps, renaming, tinst, TType_app (tcref, tinst)
@@ -2119,24 +2119,24 @@ module GeneralizationHelpers =
let ComputeUnabstractableTycons env =
- let acc_in_free_item acc (item: UngeneralizableItem) =
+ let accInFreeItem acc (item: UngeneralizableItem) =
let ftycs =
if item.WillNeverHaveFreeTypars then item.CachedFreeLocalTycons else
let ftyvs = item.GetFreeTyvars()
ftyvs.FreeTycons
if ftycs.IsEmpty then acc else unionFreeTycons ftycs acc
- List.fold acc_in_free_item emptyFreeTycons env.eUngeneralizableItems
+ List.fold accInFreeItem emptyFreeTycons env.eUngeneralizableItems
let ComputeUnabstractableTraitSolutions env =
- let acc_in_free_item acc (item: UngeneralizableItem) =
+ let accInFreeItem acc (item: UngeneralizableItem) =
let ftycs =
if item.WillNeverHaveFreeTypars then item.CachedFreeTraitSolutions else
let ftyvs = item.GetFreeTyvars()
ftyvs.FreeTraitSolutions
if ftycs.IsEmpty then acc else unionFreeLocals ftycs acc
- List.fold acc_in_free_item emptyFreeLocals env.eUngeneralizableItems
+ List.fold accInFreeItem emptyFreeLocals env.eUngeneralizableItems
let rec IsGeneralizableValue g t =
match t with
@@ -2284,24 +2284,17 @@ module GeneralizationHelpers =
ConstraintSolver.ChooseTyparSolutionAndSolve cenv.css denv tp)
generalizedTypars
- let CanonicalizePartialInferenceProblem (cenv, denv, m) tps =
- // Canonicalize constraints prior to generalization
- let csenv = (MakeConstraintSolverEnv ContextInfo.NoContext cenv.css m denv)
- TryD (fun () -> ConstraintSolver.CanonicalizeRelevantMemberConstraints csenv 0 NoTrace tps)
- (fun res -> ErrorD (ErrorFromAddingConstraint(denv, res, m)))
- |> RaiseOperationResult
-
- let ComputeAndGeneralizeGenericTypars (cenv,
- denv: DisplayEnv,
- m,
- freeInEnv: FreeTypars,
- canInferTypars,
- genConstrainedTyparFlag,
- inlineFlag,
- exprOpt,
- allDeclaredTypars: Typars,
- maxInferredTypars: Typars,
- tauTy,
+ let ComputeAndGeneralizeGenericTypars (cenv,
+ denv: DisplayEnv,
+ m,
+ freeInEnv: FreeTypars,
+ canInferTypars,
+ genConstrainedTyparFlag,
+ inlineFlag,
+ exprOpt,
+ allDeclaredTypars: Typars,
+ maxInferredTypars: Typars,
+ tauTy,
resultFirst) =
let allDeclaredTypars = NormalizeDeclaredTyparsForEquiRecursiveInference cenv.g allDeclaredTypars
@@ -2333,8 +2326,7 @@ module GeneralizationHelpers =
generalizedTypars |> List.iter (SetTyparRigid cenv.g denv m)
// Generalization removes constraints related to generalized type variables
- let csenv = MakeConstraintSolverEnv ContextInfo.NoContext cenv.css m denv
- EliminateConstraintsForGeneralizedTypars csenv NoTrace generalizedTypars
+ EliminateConstraintsForGeneralizedTypars denv cenv.css m NoTrace generalizedTypars
generalizedTypars
@@ -2534,7 +2526,7 @@ module BindingNormalization =
| _ -> MakeNormalizedInstanceMemberBinding cenv thisId memberId toolId vis m typars args rhsExpr valSynData
let private NormalizeBindingPattern cenv nameResolver isObjExprBinding (env: TcEnv) valSynData pat rhsExpr =
- let ad = env.eAccessRights
+ let ad = env.AccessRights
let (SynValData(memberFlagsOpt, _, _)) = valSynData
let rec normPattern pat =
// One major problem with versions of F# prior to 1.9.x was that data constructors easily 'pollute' the namespace
@@ -2545,7 +2537,7 @@ module BindingNormalization =
let typars = match tyargs with None -> inferredTyparDecls | Some typars -> typars
match memberFlagsOpt with
| None ->
- match ResolvePatternLongIdent cenv.tcSink nameResolver AllIdsOK true m ad env.eNameResEnv TypeNameResolutionInfo.Default longId with
+ match ResolvePatternLongIdent cenv.tcSink nameResolver AllIdsOK true m ad env.NameEnv TypeNameResolutionInfo.Default longId with
| Item.NewDef id ->
if id.idText = opNameCons then
NormalizedBindingPat(pat, rhsExpr, valSynData, typars)
@@ -3278,7 +3270,7 @@ let CompilePatternForMatchClauses cenv env mExpr matchm warnOnUnused actionOnFai
// localAlloc is relevant if the enumerator is a mutable struct and indicates
// if the enumerator can be allocated as a mutable local variable
let AnalyzeArbitraryExprAsEnumerable cenv (env: TcEnv) localAlloc m exprty expr =
- let ad = env.eAccessRights
+ let ad = env.AccessRights
let err k ty =
let txt = NicePrint.minimalStringOfType env.DisplayEnv ty
@@ -3783,11 +3775,11 @@ let EliminateInitializationGraphs
hash
// The output of the analysis
- let outOfOrder = ref false
- let runtimeChecks = ref false
- let directRecursiveData = ref false
- let reportedEager = ref false
- let definiteDependencies = ref []
+ let mutable outOfOrder = false
+ let mutable runtimeChecks = false
+ let mutable directRecursiveData = false
+ let mutable reportedEager = false
+ let mutable definiteDependencies = []
let rec stripChooseAndExpr e =
match stripExpr e with
@@ -3883,21 +3875,21 @@ let EliminateInitializationGraphs
| MaybeLazy ->
if recursiveVals.TryFind v.Deref |> Option.isSome then
warning (RecursiveUseCheckedAtRuntime (denv, v, m))
- if not !reportedEager then
- (warning (LetRecCheckedAtRuntime m); reportedEager := true)
- runtimeChecks := true
+ if not reportedEager then
+ (warning (LetRecCheckedAtRuntime m); reportedEager <- true)
+ runtimeChecks <- true
| Top | DefinitelyStrict ->
if recursiveVals.TryFind v.Deref |> Option.isSome then
if availIfInOrder.TryFind v.Deref |> Option.isNone then
warning (LetRecEvaluatedOutOfOrder (denv, boundv, v, m))
- outOfOrder := true
- if not !reportedEager then
- (warning (LetRecCheckedAtRuntime m); reportedEager := true)
- definiteDependencies := (boundv, v) :: !definiteDependencies
+ outOfOrder <- true
+ if not reportedEager then
+ (warning (LetRecCheckedAtRuntime m); reportedEager <- true)
+ definiteDependencies <- (boundv, v) :: definiteDependencies
| InnerTop ->
if recursiveVals.TryFind v.Deref |> Option.isSome then
- directRecursiveData := true
+ directRecursiveData <- true
| DefinitelyLazy -> ()
and checkDelayed st b =
match st with
@@ -3919,11 +3911,11 @@ let EliminateInitializationGraphs
// ddg = definiteDependencyGraph
let ddgNodes = recursiveVals.Values |> Seq.toList |> List.map mkLocalValRef
- let ddg = Graph((fun v -> v.Stamp), ddgNodes, !definiteDependencies )
+ let ddg = Graph((fun v -> v.Stamp), ddgNodes, definiteDependencies )
ddg.IterateCycles (fun path -> error (LetRecUnsound (denv, path, path.Head.Range)))
- let requiresLazyBindings = !runtimeChecks || !outOfOrder
- if !directRecursiveData && requiresLazyBindings then
+ let requiresLazyBindings = runtimeChecks || outOfOrder
+ if directRecursiveData && requiresLazyBindings then
error(Error(FSComp.SR.tcInvalidMixtureOfRecursiveForms(), bindsm))
if requiresLazyBindings then
@@ -4232,7 +4224,7 @@ type ValSpecResult = ValSpecResult of ParentRef * ValMemberInfoTransient option
type RecDefnBindingInfo = RecDefnBindingInfo of ContainerInfo * NewSlotsOK * DeclKind * SynBinding
-type MutRecDataForOpen = MutRecDataForOpen of LongIdent * range
+type MutRecDataForOpen = MutRecDataForOpen of LongIdent * range * appliedScope: range
type MutRecDataForModuleAbbrev = MutRecDataForModuleAbbrev of Ident * LongIdent * range
type MutRecSigsInitialData = MutRecShape list
@@ -4333,8 +4325,7 @@ let rec TcTyparConstraint ridx cenv newOk checkCxs occ (env: TcEnv) tpenv c =
| WhereTyparDefaultsToType(tp, ty, m) ->
let ty', tpenv = TcTypeAndRecover cenv newOk checkCxs occ env tpenv ty
let tp', tpenv = TcTypar cenv env newOk tpenv tp
- let csenv = MakeConstraintSolverEnv env.eContextInfo cenv.css m env.DisplayEnv
- AddConstraint csenv 0 m NoTrace tp' (TyparConstraint.DefaultsTo(ridx, ty', m)) |> CommitOperationResult
+ AddCxTyparDefaultsTo env.DisplayEnv cenv.css m env.eContextInfo tp' ridx ty'
tpenv
| WhereTyparSubtypeOfType(tp, ty, m) ->
@@ -4419,7 +4410,7 @@ and TcPseudoMemberSpec cenv newOk env synTypes tpenv memSpfn m =
let logicalCompiledName = ComputeLogicalName id memberFlags
let item = Item.ArgName (id, memberConstraintTy, None)
- CallNameResolutionSink cenv.tcSink (id.idRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Use, env.DisplayEnv, env.eAccessRights)
+ CallNameResolutionSink cenv.tcSink (id.idRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Use, env.DisplayEnv, env.AccessRights)
TTrait(tys, logicalCompiledName, memberFlags, argTys, returnTy, ref None), tpenv
| _ -> error(Error(FSComp.SR.tcInvalidConstraint(), m))
@@ -4580,7 +4571,7 @@ and TcTyparOrMeasurePar optKind cenv (env: TcEnv) newOk tpenv (Typar(id, _, _) a
| Some TyparKind.Type, TyparKind.Measure -> error (Error(FSComp.SR.tcExpectedTypeParameter(), id.idRange)); res, tpenv
| _, _ ->
let item = Item.TypeVar(id.idText, res)
- CallNameResolutionSink cenv.tcSink (id.idRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.UseInType, env.DisplayEnv, env.eAccessRights)
+ CallNameResolutionSink cenv.tcSink (id.idRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.UseInType, env.DisplayEnv, env.AccessRights)
// record the ' as well for tokenization
// CallNameResolutionSink cenv.tcSink (tp.Range.StartRange, env.NameEnv, item, item, ItemOccurence.UseInType, env.DisplayEnv, env.eAccessRights)
res, tpenv
@@ -4608,7 +4599,7 @@ and TcTyparOrMeasurePar optKind cenv (env: TcEnv) newOk tpenv (Typar(id, _, _) a
// The kind defaults to Type
let tp' = NewTypar ((match optKind with None -> TyparKind.Type | Some kind -> kind), TyparRigidity.WarnIfNotRigid, tp, false, TyparDynamicReq.Yes, [], false, false)
let item = Item.TypeVar(id.idText, tp')
- CallNameResolutionSink cenv.tcSink (id.idRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.UseInType, env.DisplayEnv, env.eAccessRights)
+ CallNameResolutionSink cenv.tcSink (id.idRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.UseInType, env.DisplayEnv, env.AccessRights)
tp', AddUnscopedTypar key tp' tpenv
and TcTypar cenv env newOk tpenv tp =
@@ -4648,7 +4639,7 @@ and TcTypeOrMeasure optKind cenv newOk checkCxs occ env (tpenv: SyntacticUnscope
| SynType.LongIdent(LongIdentWithDots(tc, _) as lidwd) ->
let m = lidwd.Range
let ad = env.eAccessRights
- let tcref = ForceRaise(ResolveTypeLongIdent cenv.tcSink cenv.nameResolver occ OpenQualified env.eNameResEnv ad tc TypeNameResolutionStaticArgsInfo.DefiniteEmpty PermitDirectReferenceToGeneratedType.No)
+ let tcref = ForceRaise(ResolveTypeLongIdent cenv.tcSink cenv.nameResolver occ OpenQualified env.NameEnv ad tc TypeNameResolutionStaticArgsInfo.DefiniteEmpty PermitDirectReferenceToGeneratedType.No)
match optKind, tcref.TypeOrMeasureKind with
| Some TyparKind.Type, TyparKind.Measure ->
error(Error(FSComp.SR.tcExpectedTypeNotUnitOfMeasure(), m))
@@ -4880,7 +4871,7 @@ and TcStaticConstantParameter cenv (env: TcEnv) tpenv kind (v: SynType) idOpt co
match idOpt with
| Some id ->
let item = Item.ArgName (id, ttype, Some container)
- CallNameResolutionSink cenv.tcSink (id.idRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Use, env.DisplayEnv, env.eAccessRights)
+ CallNameResolutionSink cenv.tcSink (id.idRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Use, env.DisplayEnv, env.AccessRights)
| _ -> ()
match v with
@@ -5060,7 +5051,7 @@ and TcProvidedTypeApp cenv env tpenv tcref args m =
/// the prefix of type arguments.
and TcTypeApp cenv newOk checkCxs occ env tpenv m tcref pathTypeArgs (synArgTys: SynType list) =
let g = cenv.g
- CheckTyconAccessible cenv.amap m env.eAccessRights tcref |> ignore
+ CheckTyconAccessible cenv.amap m env.AccessRights tcref |> ignore
CheckEntityAttributes g tcref m |> CommitOperationResult
#if !NO_EXTENSIONTYPING
@@ -5069,7 +5060,7 @@ and TcTypeApp cenv newOk checkCxs occ env tpenv m tcref pathTypeArgs (synArgTys:
if tcref.Deref.IsProvided then TcProvidedTypeApp cenv env tpenv tcref synArgTys m else
#endif
- let tps, _, tinst, _ = infoOfTyconRef m tcref
+ let tps, _, tinst, _ = FreshenTyconRef2 m tcref
// If we're not checking constraints, i.e. when we first assert the super/interfaces of a type definition, then just
// clear the constraint lists of the freshly generated type variables. A little ugly but fairly localized.
@@ -5176,9 +5167,9 @@ and ValidateOptArgOrder (spats: SynSimplePats) =
let pats, m = getPats spats
- let hitOptArg = ref false
+ let mutable hitOptArg = false
- List.iter (fun pat -> if isOptArg pat then hitOptArg := true elif !hitOptArg then error(Error(FSComp.SR.tcOptionalArgsMustComeAfterNonOptionalArgs(), m))) pats
+ List.iter (fun pat -> if isOptArg pat then hitOptArg <- true elif hitOptArg then error(Error(FSComp.SR.tcOptionalArgsMustComeAfterNonOptionalArgs(), m))) pats
/// Bind the patterns used in argument position for a function, method or lambda.
@@ -5250,7 +5241,7 @@ and TcPatBindingName cenv env id ty isMemberThis vis1 topValData (inlineFlag, de
// For non-left-most paths, we register the name resolutions here
if not isLeftMost && not vspec.IsCompilerGenerated && not (vspec.LogicalName.StartsWithOrdinal("_")) then
let item = Item.Value(mkLocalValRef vspec)
- CallNameResolutionSink cenv.tcSink (id.idRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Binding, env.DisplayEnv, env.eAccessRights)
+ CallNameResolutionSink cenv.tcSink (id.idRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Binding, env.DisplayEnv, env.AccessRights)
PBind(vspec, typeScheme)),
names, takenNames
@@ -5275,7 +5266,7 @@ and TcPatAndRecover warnOnUpper cenv (env: TcEnv) topValInfo vFlags (tpenv, name
/// the second-phase function in terms of a List.map from names to actual
/// value specifications.
and TcPat warnOnUpper cenv env topValInfo vFlags (tpenv, names, takenNames) ty pat =
- let ad = env.eAccessRights
+ let ad = env.AccessRights
match pat with
| SynPat.Const (c, m) ->
match c with
@@ -5354,7 +5345,7 @@ and TcPat warnOnUpper cenv env topValInfo vFlags (tpenv, names, takenNames) ty p
| SynConstructorArgs.NamePatPairs (pairs, _) -> pairs.Length
if numArgs <> 0 then error(Error(FSComp.SR.tcLiteralDoesNotTakeArguments(), m))
- match ResolvePatternLongIdent cenv.tcSink cenv.nameResolver warnOnUpperForId false m ad env.eNameResEnv TypeNameResolutionInfo.Default longId with
+ match ResolvePatternLongIdent cenv.tcSink cenv.nameResolver warnOnUpperForId false m ad env.NameEnv TypeNameResolutionInfo.Default longId with
| Item.NewDef id ->
match args with
| SynConstructorArgs.Pats []
@@ -5425,7 +5416,7 @@ and TcPat warnOnUpper cenv env topValInfo vFlags (tpenv, names, takenNames) ty p
let activePatIdentity = if isNil activePatArgsAsSynExprs then Some (vref, tinst) else None
(fun values ->
// Report information about the 'active recognizer' occurrence to IDE
- CallNameResolutionSink cenv.tcSink (rangeOfLid longId, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Pattern, env.DisplayEnv, env.eAccessRights)
+ CallNameResolutionSink cenv.tcSink (rangeOfLid longId, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Pattern, env.DisplayEnv, env.AccessRights)
TPat_query((activePatExpr, activePatResTys, activePatIdentity, idx, apinfo), arg' values, m)),
(tpenv, names, takenNames)
@@ -5482,7 +5473,7 @@ and TcPat warnOnUpper cenv env topValInfo vFlags (tpenv, names, takenNames) ty p
| [SynPatErrorSkip(SynPat.Tuple (false, args, _)) | SynPatErrorSkip(SynPat.Paren(SynPatErrorSkip(SynPat.Tuple (false, args, _)), _))] when numArgTys > 1 -> args
// note: we allow both 'C _' and 'C (_)' regardless of number of argument of the pattern
- | [SynPatErrorSkip(SynPat.Wild _ as e) | SynPatErrorSkip(SynPat.Paren(SynPatErrorSkip(SynPat.Wild _ as e), _))] -> Array.toList (Array.create numArgTys e)
+ | [SynPatErrorSkip(SynPat.Wild _ as e) | SynPatErrorSkip(SynPat.Paren(SynPatErrorSkip(SynPat.Wild _ as e), _))] -> List.replicate numArgTys e
| [arg] -> [arg]
| _ when numArgTys = 0 -> error(Error(FSComp.SR.tcUnionCaseDoesNotTakeArguments(), m))
| _ when numArgTys = 1 -> error(Error(FSComp.SR.tcUnionCaseRequiresOneArgument(), m))
@@ -5492,12 +5483,12 @@ and TcPat warnOnUpper cenv env topValInfo vFlags (tpenv, names, takenNames) ty p
let args', acc = TcPatterns warnOnUpper cenv env vFlags (tpenv, names, takenNames) argTys args
(fun values ->
// Report information about the case occurrence to IDE
- CallNameResolutionSink cenv.tcSink (rangeOfLid longId, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Pattern, env.DisplayEnv, env.eAccessRights)
+ CallNameResolutionSink cenv.tcSink (rangeOfLid longId, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Pattern, env.DisplayEnv, env.AccessRights)
mkf m (List.map (fun f -> f values) args')), acc
| Item.ILField finfo ->
// LITERAL .NET FIELDS
- CheckILFieldInfoAccessible cenv.g cenv.amap m env.eAccessRights finfo
+ CheckILFieldInfoAccessible cenv.g cenv.amap m env.AccessRights finfo
if not finfo.IsStatic then errorR (Error (FSComp.SR.tcFieldIsNotStatic(finfo.FieldName), m))
CheckILFieldAttributes cenv.g finfo m
match finfo.LiteralValue with
@@ -5512,7 +5503,7 @@ and TcPat warnOnUpper cenv env topValInfo vFlags (tpenv, names, takenNames) ty p
| Item.RecdField rfinfo ->
// LITERAL F# FIELDS
- CheckRecdFieldInfoAccessible cenv.amap m env.eAccessRights rfinfo
+ CheckRecdFieldInfoAccessible cenv.amap m env.AccessRights rfinfo
if not rfinfo.IsStatic then errorR (Error (FSComp.SR.tcFieldIsNotStatic(rfinfo.Name), m))
CheckRecdFieldInfoAttributes cenv.g rfinfo m |> CommitOperationResult
match rfinfo.LiteralValue with
@@ -5531,7 +5522,7 @@ and TcPat warnOnUpper cenv env topValInfo vFlags (tpenv, names, takenNames) ty p
| None -> error (Error(FSComp.SR.tcNonLiteralCannotBeUsedInPattern(), m))
| Some lit ->
let _, _, _, vexpty, _, _ = TcVal true cenv env tpenv vref None None m
- CheckValAccessible m env.eAccessRights vref
+ CheckValAccessible m env.AccessRights vref
CheckFSharpAttributes cenv.g vref.Attribs m |> CommitOperationResult
checkNoArgsForLiteral()
UnifyTypes cenv env m ty vexpty
@@ -5563,7 +5554,7 @@ and TcPat warnOnUpper cenv env topValInfo vFlags (tpenv, names, takenNames) ty p
| SynPat.Record (flds, m) ->
let tcref, fldsmap, _fldsList = BuildFieldMap cenv env true ty flds m
// REVIEW: use _fldsList to type check pattern in code order not field defn order
- let _, inst, tinst, gtyp = infoOfTyconRef m tcref
+ let _, inst, tinst, gtyp = FreshenTyconRef2 m tcref
UnifyTypes cenv env m ty gtyp
let fields = tcref.TrueInstanceFieldsAsList
let ftys = fields |> List.map (fun fsp -> actualTyOfRecdField inst fsp, fsp)
@@ -5587,6 +5578,7 @@ and TcPat warnOnUpper cenv env topValInfo vFlags (tpenv, names, takenNames) ty p
| SynPat.InstanceMember (_, _, _, _, m) ->
errorR(Error(FSComp.SR.tcIllegalPattern(), pat.Range))
(fun _ -> TPat_wild m), (tpenv, names, takenNames)
+
| SynPat.FromParseError (pat, _) ->
suppressErrorReporting (fun () -> TcPatAndRecover warnOnUpper cenv env topValInfo vFlags (tpenv, names, takenNames) (NewErrorType()) pat)
@@ -5594,11 +5586,7 @@ and TcPatterns warnOnUpper cenv env vFlags s argTys args =
assert (List.length args = List.length argTys)
List.mapFold (fun s (ty, pat) -> TcPat warnOnUpper cenv env None vFlags s ty pat) s (List.zip argTys args)
-
-and solveTypAsError cenv denv m ty =
- let ty2 = NewErrorType ()
- assert((destTyparTy cenv.g ty2).IsFromError)
- SolveTypeEqualsTypeKeepAbbrevs (MakeConstraintSolverEnv ContextInfo.NoContext cenv.css m denv) 0 m NoTrace ty ty2 |> ignore
+and solveTypAsError cenv denv m ty = ConstraintSolver.SolveTypeAsError denv cenv.css m ty
and RecordNameAndTypeResolutions_IdeallyWithoutHavingOtherEffects cenv env tpenv expr =
// This function is motivated by cases like
@@ -5813,7 +5801,7 @@ and TcExprUndelayed cenv overallTy env tpenv (synExpr: SynExpr) =
| SynExpr.Paren (expr2, _, _, mWholeExprIncludingParentheses) ->
// We invoke CallExprHasTypeSink for every construct which is atomic in the syntax, i.e. where a '.' immediately following the
// construct is a dot-lookup for the result of the construct.
- CallExprHasTypeSink cenv.tcSink (mWholeExprIncludingParentheses, env.NameEnv, overallTy, env.DisplayEnv, env.eAccessRights)
+ CallExprHasTypeSink cenv.tcSink (mWholeExprIncludingParentheses, env.NameEnv, overallTy, env.DisplayEnv, env.AccessRights)
let env = ShrinkContext env mWholeExprIncludingParentheses expr2.Range
TcExpr cenv overallTy env tpenv expr2
@@ -5821,11 +5809,11 @@ and TcExprUndelayed cenv overallTy env tpenv (synExpr: SynExpr) =
| SynExpr.TypeApp _ | SynExpr.Ident _ | SynExpr.LongIdent _ | SynExpr.App _ | SynExpr.DotGet _ -> error(Error(FSComp.SR.tcExprUndelayed(), synExpr.Range))
| SynExpr.Const (SynConst.String (s, m), _) ->
- CallExprHasTypeSink cenv.tcSink (m, env.NameEnv, overallTy, env.DisplayEnv, env.eAccessRights)
+ CallExprHasTypeSink cenv.tcSink (m, env.NameEnv, overallTy, env.DisplayEnv, env.AccessRights)
TcConstStringExpr cenv overallTy env m tpenv s
| SynExpr.Const (synConst, m) ->
- CallExprHasTypeSink cenv.tcSink (m, env.NameEnv, overallTy, env.DisplayEnv, env.eAccessRights)
+ CallExprHasTypeSink cenv.tcSink (m, env.NameEnv, overallTy, env.DisplayEnv, env.AccessRights)
TcConstExpr cenv overallTy env m tpenv synConst
| SynExpr.Lambda _ ->
@@ -5885,7 +5873,7 @@ and TcExprUndelayed cenv overallTy env tpenv (synExpr: SynExpr) =
// its use at method calls from the use of the conflicting 'ref' mechanism for passing byref parameters
| SynExpr.AddressOf (byref, synInnerExpr, opm, m) ->
TcExpr cenv overallTy env tpenv (mkSynPrefixPrim opm m (if byref then "~&" else "~&&") synInnerExpr)
-
+
| SynExpr.Upcast (synInnerExpr, _, m) | SynExpr.InferredUpcast (synInnerExpr, m) ->
let innerExpr, srcTy, tpenv = TcExprOfUnknownType cenv env tpenv synInnerExpr
let tgtTy, tpenv =
@@ -5941,17 +5929,17 @@ and TcExprUndelayed cenv overallTy env tpenv (synExpr: SynExpr) =
TcAnonRecdExpr cenv overallTy env tpenv (isStruct, optOrigExpr, unsortedFieldExprs, mWholeExpr)
| SynExpr.ArrayOrList (isArray, args, m) ->
- CallExprHasTypeSink cenv.tcSink (m, env.NameEnv, overallTy, env.DisplayEnv, env.eAccessRights)
+ CallExprHasTypeSink cenv.tcSink (m, env.NameEnv, overallTy, env.DisplayEnv, env.AccessRights)
let argty = NewInferenceType ()
UnifyTypes cenv env m overallTy (if isArray then mkArrayType cenv.g argty else Tastops.mkListTy cenv.g argty)
// Always allow subsumption if a nominal type is known prior to type checking any arguments
let flex = not (isTyparTy cenv.g argty)
- let first = ref true
+ let mutable first = true
let getInitEnv m =
- if !first then
- first := false
+ if first then
+ first <- false
env
else
{ env with eContextInfo = ContextInfo.CollectionElement (isArray, m) }
@@ -5973,7 +5961,7 @@ and TcExprUndelayed cenv overallTy env tpenv (synExpr: SynExpr) =
TcObjectExpr cenv overallTy env tpenv (objTy, argopt, binds, extraImpls, mNewExpr, m)
| SynExpr.Record (inherits, optOrigExpr, flds, mWholeExpr) ->
- CallExprHasTypeSink cenv.tcSink (mWholeExpr, env.NameEnv, overallTy, env.DisplayEnv, env.eAccessRights)
+ CallExprHasTypeSink cenv.tcSink (mWholeExpr, env.NameEnv, overallTy, env.DisplayEnv, env.AccessRights)
TcRecdExpr cenv overallTy env tpenv (inherits, optOrigExpr, flds, mWholeExpr)
| SynExpr.While (spWhile, synGuardExpr, synBodyExpr, m) ->
@@ -5991,7 +5979,7 @@ and TcExprUndelayed cenv overallTy env tpenv (synExpr: SynExpr) =
// notify name resolution sink about loop variable
let item = Item.Value(mkLocalValRef idv)
- CallNameResolutionSink cenv.tcSink (idv.Range, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Binding, env.DisplayEnv, env.eAccessRights)
+ CallNameResolutionSink cenv.tcSink (idv.Range, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Binding, env.DisplayEnv, env.AccessRights)
let bodyExpr, tpenv = TcStmt cenv envinner tpenv body
mkFastForLoop cenv.g (spBind, m, idv, startExpr, dir, finishExpr, bodyExpr), tpenv
@@ -6192,11 +6180,12 @@ and TcExprUndelayed cenv overallTy env tpenv (synExpr: SynExpr) =
| SynExpr.TraitCall (tps, memSpfn, arg, m) ->
let synTypes = tps |> List.map (fun tp -> SynType.Var(tp, m))
- let (TTrait(_, logicalCompiledName, _, argTys, returnTy, _) as traitInfo), tpenv = TcPseudoMemberSpec cenv NewTyparsOK env synTypes tpenv memSpfn m
- if BakedInTraitConstraintNames.Contains logicalCompiledName then
- warning(BakedInMemberConstraintName(logicalCompiledName, m))
+ let traitInfo, tpenv = TcPseudoMemberSpec cenv NewTyparsOK env synTypes tpenv memSpfn m
+ if BakedInTraitConstraintNames.Contains traitInfo.MemberName then
+ warning(BakedInMemberConstraintName(traitInfo.MemberName, m))
- let returnTy = GetFSharpViewOfReturnType cenv.g returnTy
+ let argTys = traitInfo.ArgumentTypes
+ let returnTy = GetFSharpViewOfReturnType cenv.g traitInfo.ReturnType
let args, namedCallerArgs = GetMethodArgs arg
if not (isNil namedCallerArgs) then errorR(Error(FSComp.SR.tcNamedArgumentsCannotBeUsedInMemberTraits(), m))
// Subsumption at trait calls if arguments have nominal type prior to unification of any arguments or return type
@@ -6243,7 +6232,7 @@ and TcExprUndelayed cenv overallTy env tpenv (synExpr: SynExpr) =
mkAsmExpr (Array.toList s, tyargs', args', rtys', m), tpenv
| SynExpr.Quote (oper, raw, ast, isFromQueryExpression, m) ->
- CallExprHasTypeSink cenv.tcSink (m, env.NameEnv, overallTy, env.DisplayEnv, env.eAccessRights)
+ CallExprHasTypeSink cenv.tcSink (m, env.NameEnv, overallTy, env.DisplayEnv, env.AccessRights)
TcQuotationExpr cenv overallTy env tpenv (oper, raw, ast, isFromQueryExpression, m)
| SynExpr.YieldOrReturn ((isTrueYield, _), _, m)
@@ -6293,14 +6282,14 @@ and TcIteratedLambdas cenv isFirst (env: TcEnv) overallTy takenNames tpenv e =
// .NET metadata. This means we manually typecheck 'e1' and look to see if it has a nominal type. We then
// do the right thing in each case.
and TcIndexerThen cenv env overallTy mWholeExpr mDot tpenv wholeExpr e1 indexArgs delayed =
- let ad = env.eAccessRights
+ let ad = env.AccessRights
let e1', e1ty, tpenv = TcExprOfUnknownType cenv env tpenv e1
// Find the first type in the effective hierarchy that either has a DefaultMember attribute OR
// has a member called 'Item'
+ let isIndex = indexArgs |> List.forall( fun x -> match x with SynIndexerArg.One _ -> true | _ -> false)
let propName =
- match indexArgs with
- | [SynIndexerArg.One _] ->
+ if isIndex then
FoldPrimaryHierarchyOfType (fun ty acc ->
match acc with
| None ->
@@ -6319,7 +6308,7 @@ and TcIndexerThen cenv env overallTy mWholeExpr mDot tpenv wholeExpr e1 indexArg
AllowMultiIntfInstantiations.Yes
e1ty
None
- | _ -> Some "GetSlice"
+ else Some "GetSlice"
let isNominal = isAppTy cenv.g e1ty
@@ -6327,44 +6316,132 @@ and TcIndexerThen cenv env overallTy mWholeExpr mDot tpenv wholeExpr e1 indexArg
let isString = typeEquiv cenv.g cenv.g.string_ty e1ty
let idxRange = indexArgs |> List.map (fun e -> e.Range) |> List.reduce unionRanges
- let GetIndexArgs (es: SynIndexerArg list) = [ for e in es do yield! e.Exprs ]
- let MakeIndexParam vopt =
- match indexArgs with
- | [] -> failwith "unexpected empty index list"
- | [SynIndexerArg.One h] -> SynExpr.Paren (h, range0, None, idxRange)
- | _ -> SynExpr.Paren (SynExpr.Tuple (false, GetIndexArgs indexArgs @ Option.toList vopt, [], idxRange), range0, None, idxRange)
+
+ // xs.GetReverseIndex rank offset - 1
+ let rewriteReverseExpr (rank: int) (offset: SynExpr) (range: range) =
+ let rankExpr = SynExpr.Const(SynConst.Int32(rank), range)
+ let sliceArgs = SynExpr.Paren(SynExpr.Tuple(false, [rankExpr; offset], [], range), range, Some range, range)
+ let xsId = e1
+
+ mkSynApp1
+ (mkSynDot range range xsId (mkSynId range "GetReverseIndex"))
+ sliceArgs
+ range
+
+ let rewriteReverseOption (app: SynExpr) (rank: int) (range: range) =
+ match app with
+ | SynExpr.App(atomicFlag, isInfix, funcExpr, e1, outerRange) -> SynExpr.App(atomicFlag, isInfix, funcExpr, rewriteReverseExpr rank e1 range, outerRange)
+ | _ -> app
+
+ let expandedIndexArgs =
+ indexArgs
+ |> List.mapi ( fun pos indexerArg ->
+ match indexerArg with
+ | SynIndexerArg.One(expr, fromEnd, range) ->
+ [ if fromEnd then rewriteReverseExpr pos expr range else expr ]
+ | SynIndexerArg.Two
+ (
+ a1,
+ fromEnd1,
+ a2,
+ fromEnd2,
+ range1,
+ range2) ->
+ [
+ if fromEnd1 then rewriteReverseOption a1 pos range1 else a1 ;
+ if fromEnd2 then rewriteReverseOption a2 pos range2 else a2
+ ]
+ )
+ |> List.collect (id)
+
+ let MakeIndexParam setSliceArrayOption =
+ match indexArgs with
+ | [] -> failwith "unexpected empty index list"
+ | [SynIndexerArg.One _] -> SynExpr.Paren (expandedIndexArgs.Head, range0, None, idxRange)
+ | _ -> SynExpr.Paren (SynExpr.Tuple (false, expandedIndexArgs @ Option.toList setSliceArrayOption, [], idxRange), range0, None, idxRange)
let attemptArrayString =
- if isArray || isString then
-
- let indexOpPath = ["Microsoft";"FSharp";"Core";"LanguagePrimitives";"IntrinsicFunctions"]
- let sliceOpPath = ["Microsoft";"FSharp";"Core";"Operators";"OperatorIntrinsics"]
- let info =
- match isString, isArray, wholeExpr with
- | false, true, SynExpr.DotIndexedGet (_, [SynIndexerArg.One(SynExpr.Tuple (false, ([_;_] as idxs), _, _))], _, _) -> Some (indexOpPath, "GetArray2D", idxs)
- | false, true, SynExpr.DotIndexedGet (_, [SynIndexerArg.One(SynExpr.Tuple (false, ([_;_;_] as idxs), _, _))], _, _) -> Some (indexOpPath, "GetArray3D", idxs)
- | false, true, SynExpr.DotIndexedGet (_, [SynIndexerArg.One(SynExpr.Tuple (false, ([_;_;_;_] as idxs), _, _))], _, _) -> Some (indexOpPath, "GetArray4D", idxs)
- | false, true, SynExpr.DotIndexedGet (_, [SynIndexerArg.One idx], _, _) -> Some (indexOpPath, "GetArray", [idx])
- | false, true, SynExpr.DotIndexedSet (_, [SynIndexerArg.One(SynExpr.Tuple (false, ([_;_] as idxs), _, _))], e3, _, _, _) -> Some (indexOpPath, "SetArray2D", (idxs @ [e3]))
- | false, true, SynExpr.DotIndexedSet (_, [SynIndexerArg.One(SynExpr.Tuple (false, ([_;_;_] as idxs), _, _))], e3, _, _, _) -> Some (indexOpPath, "SetArray3D", (idxs @ [e3]))
- | false, true, SynExpr.DotIndexedSet (_, [SynIndexerArg.One(SynExpr.Tuple (false, ([_;_;_;_] as idxs), _, _))], e3, _, _, _) -> Some (indexOpPath, "SetArray4D", (idxs @ [e3]))
- | false, true, SynExpr.DotIndexedSet (_, [SynIndexerArg.One _], e3, _, _, _) -> Some (indexOpPath, "SetArray", (GetIndexArgs indexArgs @ [e3]))
- | true, false, SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetStringSlice", GetIndexArgs indexArgs)
- | true, false, SynExpr.DotIndexedGet (_, [SynIndexerArg.One _], _, _) -> Some (indexOpPath, "GetString", GetIndexArgs indexArgs)
- | false, true, SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice", GetIndexArgs indexArgs)
- | false, true, SynExpr.DotIndexedGet (_, [SynIndexerArg.One _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice2DFixed1", GetIndexArgs indexArgs)
- | false, true, SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.One _], _, _) -> Some (sliceOpPath, "GetArraySlice2DFixed2", GetIndexArgs indexArgs)
- | false, true, SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice2D", GetIndexArgs indexArgs)
- | false, true, SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice3D", GetIndexArgs indexArgs)
- | false, true, SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice4D", GetIndexArgs indexArgs)
- | false, true, SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice", (GetIndexArgs indexArgs @ [e3]))
- | false, true, SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice2D", (GetIndexArgs indexArgs @ [e3]))
- | false, true, SynExpr.DotIndexedSet (_, [SynIndexerArg.One _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice2DFixed1", (GetIndexArgs indexArgs @ [e3]))
- | false, true, SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.One _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice2DFixed2", (GetIndexArgs indexArgs @ [e3]))
- | false, true, SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice3D", (GetIndexArgs indexArgs @ [e3]))
- | false, true, SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4D", (GetIndexArgs indexArgs @ [e3]))
- | _ -> None // error(Error(FSComp.SR.tcInvalidIndexerExpression(), mWholeExpr))
- match info with
+ let indexOpPath = ["Microsoft";"FSharp";"Core";"LanguagePrimitives";"IntrinsicFunctions"]
+ let sliceOpPath = ["Microsoft";"FSharp";"Core";"Operators";"OperatorIntrinsics"]
+
+ let info =
+ if isArray then
+ let fixedIndex3d4dEnabled = cenv.g.langVersion.SupportsFeature LanguageFeature.FixedIndexSlice3d4d
+ match wholeExpr with
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _; SynIndexerArg.One _], _, _) -> Some (indexOpPath, "GetArray2D", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _; SynIndexerArg.One _; SynIndexerArg.One _;], _, _) -> Some (indexOpPath, "GetArray3D", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _; SynIndexerArg.One _; SynIndexerArg.One _; SynIndexerArg.One _], _, _) -> Some (indexOpPath, "GetArray4D", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _], _, _) -> Some (indexOpPath, "GetArray", expandedIndexArgs)
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.One _; SynIndexerArg.One _], e3, _, _, _) -> Some (indexOpPath, "SetArray2D", (expandedIndexArgs @ [e3]))
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.One _; SynIndexerArg.One _; SynIndexerArg.One _;], e3, _, _, _) -> Some (indexOpPath, "SetArray3D", (expandedIndexArgs @ [e3]))
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.One _; SynIndexerArg.One _; SynIndexerArg.One _; SynIndexerArg.One _], e3, _, _, _) -> Some (indexOpPath, "SetArray4D", (expandedIndexArgs @ [e3]))
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.One _], e3, _, _, _) -> Some (indexOpPath, "SetArray", (expandedIndexArgs @ [e3]))
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice2DFixed1", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.One _], _, _) -> Some (sliceOpPath, "GetArraySlice2DFixed2", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice2D", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice3D", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice4D", expandedIndexArgs)
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice", (expandedIndexArgs @ [e3]))
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice2D", (expandedIndexArgs @ [e3]))
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.One _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice2DFixed1", (expandedIndexArgs @ [e3]))
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.One _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice2DFixed2", (expandedIndexArgs @ [e3]))
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice3D", (expandedIndexArgs @ [e3]))
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4D", (expandedIndexArgs @ [e3]))
+ | _ when fixedIndex3d4dEnabled ->
+ match wholeExpr with
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice3DFixedSingle1", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice3DFixedSingle2", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.One _], _, _) -> Some (sliceOpPath, "GetArraySlice3DFixedSingle3", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _;SynIndexerArg.One _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice3DFixedDouble1", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.One _], _, _) -> Some (sliceOpPath, "GetArraySlice3DFixedDouble2", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.One _], _, _) -> Some (sliceOpPath, "GetArraySlice3DFixedDouble3", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice4DFixedSingle1", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice4DFixedSingle2", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice4DFixedSingle3", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.One _], _, _) -> Some (sliceOpPath, "GetArraySlice4DFixedSingle4", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _;SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice4DFixedDouble1", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice4DFixedDouble2", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.One _], _, _) -> Some (sliceOpPath, "GetArraySlice4DFixedDouble3", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.One _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice4DFixedDouble4", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.One _], _, _) -> Some (sliceOpPath, "GetArraySlice4DFixedDouble5", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.One _], _, _) -> Some (sliceOpPath, "GetArraySlice4DFixedDouble6", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.One _;SynIndexerArg.One _], _, _) -> Some (sliceOpPath, "GetArraySlice4DFixedTriple1", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.One _], _, _) -> Some (sliceOpPath, "GetArraySlice4DFixedTriple2", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _;SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.One _], _, _) -> Some (sliceOpPath, "GetArraySlice4DFixedTriple3", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _;SynIndexerArg.One _;SynIndexerArg.One _;SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetArraySlice4DFixedTriple4", expandedIndexArgs)
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice3DFixedSingle1", (expandedIndexArgs @ [e3]))
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice3DFixedSingle2", (expandedIndexArgs @ [e3]))
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.One _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice3DFixedSingle3", (expandedIndexArgs @ [e3]))
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.One _;SynIndexerArg.One _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice3DFixedDouble1", (expandedIndexArgs @ [e3]))
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.One _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice3DFixedDouble2", (expandedIndexArgs @ [e3]))
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.One _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice3DFixedDouble3", (expandedIndexArgs @ [e3]))
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4DFixedSingle1", expandedIndexArgs @ [e3])
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4DFixedSingle2", expandedIndexArgs @ [e3])
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4DFixedSingle3", expandedIndexArgs @ [e3])
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.One _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4DFixedSingle4", expandedIndexArgs @ [e3])
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.One _;SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4DFixedDouble1", expandedIndexArgs @ [e3])
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4DFixedDouble2", expandedIndexArgs @ [e3])
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.One _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4DFixedDouble3", expandedIndexArgs @ [e3])
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.One _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4DFixedDouble4", expandedIndexArgs @ [e3])
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.One _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4DFixedDouble5", expandedIndexArgs @ [e3])
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.One _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4DFixedDouble6", expandedIndexArgs @ [e3])
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.One _;SynIndexerArg.One _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4DFixedTriple1", expandedIndexArgs @ [e3])
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.One _;SynIndexerArg.One _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4DFixedTriple2", expandedIndexArgs @ [e3])
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.One _;SynIndexerArg.One _;SynIndexerArg.Two _;SynIndexerArg.One _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4DFixedTriple3", expandedIndexArgs @ [e3])
+ | SynExpr.DotIndexedSet (_, [SynIndexerArg.One _;SynIndexerArg.One _;SynIndexerArg.One _;SynIndexerArg.Two _], e3, _, _, _) -> Some (sliceOpPath, "SetArraySlice4DFixedTriple4", expandedIndexArgs @ [e3])
+ | _ -> None
+ | _ -> None
+
+ elif isString then
+ match wholeExpr with
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.Two _], _, _) -> Some (sliceOpPath, "GetStringSlice", expandedIndexArgs)
+ | SynExpr.DotIndexedGet (_, [SynIndexerArg.One _], _, _) -> Some (indexOpPath, "GetString", expandedIndexArgs)
+ | _ -> None
+
+ else None
+
+ match info with
| None -> None
| Some (path, functionName, indexArgs) ->
let operPath = mkSynLidGet mDot path (CompileOpName functionName)
@@ -6374,7 +6451,6 @@ and TcIndexerThen cenv env overallTy mWholeExpr mDot tpenv wholeExpr e1 indexArg
let f', resultTy = buildApp cenv (MakeApplicableExprNoFlex cenv f) resultTy e1' mWholeExpr
let delayed = List.foldBack (fun idx acc -> DelayedApp(ExprAtomicFlag.Atomic, idx, mWholeExpr) :: acc) indexArgs delayed // atomic, otherwise no ar.[1] <- xyz
Some (PropagateThenTcDelayed cenv overallTy env tpenv mWholeExpr f' resultTy ExprAtomicFlag.Atomic delayed )
- else None
match attemptArrayString with
| Some res -> res
@@ -6391,9 +6467,9 @@ and TcIndexerThen cenv env overallTy mWholeExpr mDot tpenv wholeExpr e1 indexArg
DelayedDotLookup([ident(nm, mWholeExpr)], mWholeExpr) :: DelayedApp(ExprAtomicFlag.Atomic, MakeIndexParam None, mWholeExpr) :: delayed
// e1.[e2] <- e3
| SynExpr.DotIndexedSet (_, _, e3, mOfLeftOfSet, _, _) ->
- match indexArgs with
- | [SynIndexerArg.One(_)] -> DelayedDotLookup([ident(nm, mOfLeftOfSet)], mOfLeftOfSet) :: DelayedApp(ExprAtomicFlag.Atomic, MakeIndexParam None, mOfLeftOfSet) :: MakeDelayedSet(e3, mWholeExpr) :: delayed
- | _ -> DelayedDotLookup([ident("SetSlice", mOfLeftOfSet)], mOfLeftOfSet) :: DelayedApp(ExprAtomicFlag.Atomic, MakeIndexParam (Some e3), mWholeExpr) :: delayed
+ match isIndex with
+ | true -> DelayedDotLookup([ident(nm, mOfLeftOfSet)], mOfLeftOfSet) :: DelayedApp(ExprAtomicFlag.Atomic, MakeIndexParam None, mOfLeftOfSet) :: MakeDelayedSet(e3, mWholeExpr) :: delayed
+ | false -> DelayedDotLookup([ident("SetSlice", mOfLeftOfSet)], mOfLeftOfSet) :: DelayedApp(ExprAtomicFlag.Atomic, MakeIndexParam (Some e3), mWholeExpr) :: delayed
| _ -> error(InternalError("unreachable", mWholeExpr))
PropagateThenTcDelayed cenv overallTy env tpenv mDot (MakeApplicableExprNoFlex cenv e1') e1ty ExprAtomicFlag.Atomic delayed
@@ -6408,7 +6484,7 @@ and TcIndexerThen cenv env overallTy mWholeExpr mDot tpenv wholeExpr e1 indexArg
/// For 'inherit Type(args)', mWholeExprOrObjTy is the whole expression
/// For an implicit inherit from System.Object or a default constructor, mWholeExprOrObjTy is the type name of the type being defined
and TcNewExpr cenv env tpenv objTy mObjTyOpt superInit arg mWholeExprOrObjTy =
- let ad = env.eAccessRights
+ let ad = env.AccessRights
// Handle the case 'new 'a()'
if (isTyparTy cenv.g objTy) then
if superInit then error(Error(FSComp.SR.tcCannotInheritFromVariableType(), mWholeExprOrObjTy))
@@ -6427,7 +6503,7 @@ and TcNewExpr cenv env tpenv objTy mObjTyOpt superInit arg mWholeExprOrObjTy =
/// Check an 'inheritedTys declaration in an implicit or explicit class
and TcCtorCall isNaked cenv env tpenv overallTy objTy mObjTyOpt item superInit args mWholeCall delayed afterTcOverloadResolutionOpt =
- let ad = env.eAccessRights
+ let ad = env.AccessRights
let isSuperInit = (if superInit then CtorValUsedAsSuperInit else NormalValUse)
let mItem = match mObjTyOpt with Some m -> m | None -> mWholeCall
@@ -6456,7 +6532,7 @@ and TcCtorCall isNaked cenv env tpenv overallTy objTy mObjTyOpt item superInit a
| Item.DelegateCtor ty, [arg] ->
// Re-record the name resolution since we now know it's a constructor call
match mObjTyOpt with
- | Some mObjTy -> CallNameResolutionSink cenv.tcSink (mObjTy, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Use, env.DisplayEnv, env.eAccessRights)
+ | Some mObjTy -> CallNameResolutionSink cenv.tcSink (mObjTy, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Use, env.DisplayEnv, env.AccessRights)
| None -> ()
TcNewDelegateThen cenv objTy env tpenv mItem mWholeCall ty arg ExprAtomicFlag.NonAtomic delayed
@@ -6693,7 +6769,7 @@ and TcObjectExprBinding cenv (env: TcEnv) implty tpenv (absSlotInfo, bind) =
| _ ->
declaredTypars
// Canonicalize constraints prior to generalization
- GeneralizationHelpers.CanonicalizePartialInferenceProblem (cenv, denv, m) declaredTypars
+ ConstraintSolver.CanonicalizePartialInferenceProblem cenv.css denv m declaredTypars
let freeInEnv = GeneralizationHelpers.ComputeUngeneralizableTypars env
@@ -6787,7 +6863,7 @@ and TcObjectExpr cenv overallTy env tpenv (synObjTy, argopt, binds, extraImpls,
match tryDestAppTy cenv.g objTy with
| ValueNone -> error(Error(FSComp.SR.tcNewMustBeUsedWithNamedType(), mNewExpr))
| ValueSome tcref ->
- let isRecordTy = isRecdTy cenv.g objTy
+ let isRecordTy = tcref.IsRecordTycon
if not isRecordTy && not (isInterfaceTy cenv.g objTy) && isSealedTy cenv.g objTy then errorR(Error(FSComp.SR.tcCannotCreateExtensionOfSealedType(), mNewExpr))
CheckSuperType cenv objTy synObjTy.Range
@@ -6797,7 +6873,7 @@ and TcObjectExpr cenv overallTy env tpenv (synObjTy, argopt, binds, extraImpls,
// Object expression members can access protected members of the implemented type
let env = EnterFamilyRegion tcref env
- let ad = env.eAccessRights
+ let ad = env.AccessRights
if // record construction ?
isRecordTy ||
@@ -6839,7 +6915,7 @@ and TcObjectExpr cenv overallTy env tpenv (synObjTy, argopt, binds, extraImpls,
| Item.CtorGroup(methodName, minfos), Some (arg, baseIdOpt) ->
let meths = minfos |> List.map (fun minfo -> minfo, None)
let afterResolution = ForNewConstructors cenv.tcSink env synObjTy.Range methodName minfos
- let ad = env.eAccessRights
+ let ad = env.AccessRights
let expr, tpenv = TcMethodApplicationThen cenv env objTy None tpenv None [] mWholeExpr mObjTy methodName ad PossiblyMutates false meths afterResolution CtorValUsedAsSuperInit [arg] ExprAtomicFlag.Atomic []
// The 'base' value is always bound
@@ -7045,7 +7121,7 @@ and TcRecdExpr cenv overallTy env tpenv (inherits, optOrigExpr, flds, mWholeExpr
| [] -> []
| _ ->
let tcref, _, fldsList = BuildFieldMap cenv env hasOrigExpr overallTy flds mWholeExpr
- let _, _, _, gtyp = infoOfTyconRef mWholeExpr tcref
+ let _, _, _, gtyp = FreshenTyconRef2 mWholeExpr tcref
UnifyTypes cenv env mWholeExpr overallTy gtyp
[ for n, v in fldsList do
@@ -7176,12 +7252,12 @@ and TcAnonRecdExpr cenv overallTy env tpenv (isStruct, optOrigSynExpr, unsortedF
for (i, id) in Array.indexed anonInfo.SortedIds do
yield id, Choice2Of2 (mkAnonRecdFieldGetViaExprAddr (anonInfo, oldveaddr, tinst, i, mOrigExpr))
| ValueNone ->
- if isRecdTy cenv.g origExprTy then
- let tcref, tinst = destAppTy cenv.g origExprTy
+ match tryAppTy cenv.g origExprTy with
+ | ValueSome(tcref, tinst) when tcref.IsRecordTycon ->
let fspecs = tcref.Deref.TrueInstanceFieldsAsList
for fspec in fspecs do
yield fspec.Id, Choice2Of2 (mkRecdFieldGetViaExprAddr (oldveaddr, tcref.MakeNestedRecdFieldRef fspec, tinst, mOrigExpr))
- else
+ | _ ->
error (Error (FSComp.SR.tcCopyAndUpdateNeedsRecordType(), mOrigExpr)) |]
|> Array.distinctBy (fst >> textOfId)
@@ -7636,7 +7712,7 @@ and TcComputationExpression cenv env overallTy mWhole (interpExpr: Expr) builder
match e with
| SynExpr.App (_, _, SynExpr.App (_, _, e1, SingleIdent opName, _), e2, _) when opName.idText = customOperationJoinConditionWord nm ->
let item = Item.CustomOperation (opName.idText, (fun () -> None), None)
- CallNameResolutionSink cenv.tcSink (opName.idRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Use, env.DisplayEnv, env.eAccessRights)
+ CallNameResolutionSink cenv.tcSink (opName.idRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Use, env.DisplayEnv, env.AccessRights)
Some (e1, e2)
| _ -> None
@@ -8959,8 +9035,8 @@ and TcItemThen cenv overallTy env tpenv (item, mItem, rest, afterResolution) del
mkConstrApp, [ucaseAppTy], [ for (s, m) in apinfo.ActiveTagsWithRanges -> mkSynId m s ]
| _ ->
let ucref = mkChoiceCaseRef g mItem aparity n
- let _, _, tinst, _ = infoOfTyconRef mItem ucref.TyconRef
- let ucinfo = UnionCaseInfo(tinst, ucref)
+ let _, _, tinst, _ = FreshenTyconRef2 mItem ucref.TyconRef
+ let ucinfo = UnionCaseInfo (tinst, ucref)
ApplyUnionCaseOrExnTypes mItem cenv env ucaseAppTy (Item.UnionCase(ucinfo, false))
| _ ->
ApplyUnionCaseOrExnTypes mItem cenv env ucaseAppTy item
@@ -9214,6 +9290,7 @@ and TcItemThen cenv overallTy env tpenv (item, mItem, rest, afterResolution) del
| Item.FakeInterfaceCtor _ ->
error(Error(FSComp.SR.tcInvalidUseOfInterfaceType(), mItem))
+
| Item.ImplicitOp(id, sln) ->
let isPrefix = PrettyNaming.IsPrefixOperator id.idText
@@ -9354,8 +9431,8 @@ and TcItemThen cenv overallTy env tpenv (item, mItem, rest, afterResolution) del
| DelayedSet(e2, mStmt) :: otherDelayed ->
if not (isNil otherDelayed) then error(Error(FSComp.SR.tcInvalidAssignment(), mStmt))
UnifyTypes cenv env mStmt overallTy g.unit_ty
- vref.Deref.SetHasBeenReferenced()
- CheckValAccessible mItem env.eAccessRights vref
+ vref.Deref.SetHasBeenReferenced()
+ CheckValAccessible mItem env.AccessRights vref
CheckValAttributes g vref mItem |> CommitOperationResult
let vty = vref.Type
let vty2 =
@@ -9548,9 +9625,9 @@ and TcLookupThen cenv overallTy env tpenv mObjExpr objExpr objExprTy longId dela
// Canonicalize inference problem prior to '.' lookup on variable types
if isTyparTy cenv.g objExprTy then
- GeneralizationHelpers.CanonicalizePartialInferenceProblem (cenv, env.DisplayEnv, mExprAndLongId) (freeInTypeLeftToRight cenv.g false objExprTy)
+ ConstraintSolver.CanonicalizePartialInferenceProblem cenv.css env.DisplayEnv mExprAndLongId (freeInTypeLeftToRight cenv.g false objExprTy)
- let item, mItem, rest, afterResolution = ResolveExprDotLongIdentAndComputeRange cenv.tcSink cenv.nameResolver mExprAndLongId ad env.eNameResEnv objExprTy longId findFlag false
+ let item, mItem, rest, afterResolution = ResolveExprDotLongIdentAndComputeRange cenv.tcSink cenv.nameResolver mExprAndLongId ad env.NameEnv objExprTy longId findFlag false
let mExprAndItem = unionRanges mObjExpr mItem
let delayed = delayRest rest mExprAndItem delayed
@@ -9998,9 +10075,8 @@ and TcMethodApplication
if meth.UsesParamArrayConversion then
yield makeOneCalledMeth (minfo, pinfoOpt, false) ]
- let uniquelyResolved =
- let csenv = MakeConstraintSolverEnv ContextInfo.NoContext cenv.css mMethExpr denv
- UnifyUniqueOverloading csenv callerArgCounts methodName ad preArgumentTypeCheckingCalledMethGroup returnTy
+ let uniquelyResolved =
+ UnifyUniqueOverloading denv cenv.css mMethExpr callerArgCounts methodName ad preArgumentTypeCheckingCalledMethGroup returnTy
uniquelyResolved, preArgumentTypeCheckingCalledMethGroup
@@ -10092,17 +10168,15 @@ and TcMethodApplication
CalledMeth(cenv.infoReader, Some(env.NameEnv), isCheckingAttributeCall, FreshenMethInfo, mMethExpr, ad, minfo, minst, callerTyArgs, pinfoOpt, callerObjArgTys, callerArgs, usesParamArrayConversion, true, objTyOpt))
let callerArgCounts = (unnamedCurriedCallerArgs.Length, namedCurriedCallerArgs.Length)
- let csenv = MakeConstraintSolverEnv ContextInfo.NoContext cenv.css mMethExpr denv
// Commit unassociated constraints prior to member overload resolution where there is ambiguity
// about the possible target of the call.
if not uniquelyResolved then
- GeneralizationHelpers.CanonicalizePartialInferenceProblem (cenv, denv, mItem)
+ ConstraintSolver.CanonicalizePartialInferenceProblem cenv.css denv mItem
(//freeInTypeLeftToRight cenv.g false returnTy @
(unnamedCurriedCallerArgs |> List.collectSquared (fun callerArg -> freeInTypeLeftToRight cenv.g false callerArg.Type)))
- let result, errors =
- ResolveOverloading csenv NoTrace methodName 0 None callerArgCounts ad postArgumentTypeCheckingCalledMethGroup true (Some returnTy)
+ let result, errors = ResolveOverloadingForCall denv cenv.css mMethExpr methodName 0 None callerArgCounts ad postArgumentTypeCheckingCalledMethGroup true (Some returnTy)
match afterResolution, result with
| AfterResolution.DoNothing, _ -> ()
@@ -10524,8 +10598,8 @@ and TcMatchPattern cenv inputTy env tpenv (pat: SynPat, optWhenExpr) =
patf' (TcPatPhase2Input (values, true)), optWhenExpr', NameMap.range vspecMap, envinner, tpenv
and TcMatchClauses cenv inputTy resultTy env tpenv clauses =
- let first = ref true
- let isFirst() = if !first then first := false; true else false
+ let mutable first = true
+ let isFirst() = if first then first <- false; true else false
List.mapFold (fun clause -> TcMatchClause cenv inputTy resultTy env (isFirst()) clause) tpenv clauses
and TcMatchClause cenv inputTy resultTy env isFirst tpenv (Clause(pat, optWhenExpr, e, patm, spTgt)) =
@@ -10755,7 +10829,7 @@ and TcNormalizedBinding declKind (cenv: cenv) env tpenv overallTy safeThisValOpt
apinfo.ActiveTagsWithRanges |> List.iteri (fun i (_tag, tagRange) ->
let item = Item.ActivePatternResult(apinfo, cenv.g.unit_ty, i, tagRange)
- CallNameResolutionSink cenv.tcSink (tagRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Binding, env.DisplayEnv, env.eAccessRights))
+ CallNameResolutionSink cenv.tcSink (tagRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.Binding, env.DisplayEnv, env.AccessRights))
{ envinner with eNameResEnv = AddActivePatternResultTagsToNameEnv apinfo envinner.eNameResEnv ty m }
| None ->
@@ -11060,7 +11134,7 @@ and TcLetBinding cenv isUse env containerInfo declKind tpenv (synBinds, synBinds
// Canonicalize constraints prior to generalization
let denv = env.DisplayEnv
- GeneralizationHelpers.CanonicalizePartialInferenceProblem (cenv, denv, synBindsRange)
+ ConstraintSolver.CanonicalizePartialInferenceProblem cenv.css denv synBindsRange
(checkedBinds |> List.collect (fun tbinfo ->
let (CheckedBindingInfo(_, _, _, _, flex, _, _, _, tauTy, _, _, _, _, _)) = tbinfo
let (ExplicitTyparInfo(_, declaredTypars, _)) = flex
@@ -11663,7 +11737,6 @@ and AnalyzeAndMakeAndPublishRecursiveValue overridesOK isGeneratedEventVal cenv
let item = Item.Value (mkLocalValRef vspec)
CallNameResolutionSink cenv.tcSink (tid.idRange, env.NameEnv, item, item, emptyTyparInst, ItemOccurence.RelatedText, env.DisplayEnv, env.eAccessRights)
| _ -> ()
-
let mangledId = ident(vspec.LogicalName, vspec.Range)
// Reconstitute the binding with the unique name
@@ -11936,7 +12009,7 @@ and TcIncrementalLetRecGeneralization cenv scopem
else
let supportForBindings = newGeneralizableBindings |> List.collect (TcLetrecComputeSupportForBinding cenv)
- GeneralizationHelpers.CanonicalizePartialInferenceProblem (cenv, denv, scopem) supportForBindings
+ ConstraintSolver.CanonicalizePartialInferenceProblem cenv.css denv scopem supportForBindings
let generalizedTyparsL = newGeneralizableBindings |> List.map (TcLetrecComputeAndGeneralizeGenericTyparsForBinding cenv denv freeInEnv)
@@ -14030,7 +14103,7 @@ module MutRecBindingChecking =
let tycons = decls |> List.choose (function MutRecShape.Tycon d -> getTyconOpt d | _ -> None)
let mspecs = decls |> List.choose (function MutRecShape.Module (MutRecDefnsPhase2DataForModule (_, mspec), _) -> Some mspec | _ -> None)
let moduleAbbrevs = decls |> List.choose (function MutRecShape.ModuleAbbrev (MutRecDataForModuleAbbrev (id, mp, m)) -> Some (id, mp, m) | _ -> None)
- let opens = decls |> List.choose (function MutRecShape.Open (MutRecDataForOpen (mp, m)) -> Some (mp, m) | _ -> None)
+ let opens = decls |> List.choose (function MutRecShape.Open (MutRecDataForOpen (mp, m, moduleRange)) -> Some (mp, m, moduleRange) | _ -> None)
let lets = decls |> List.collect (function MutRecShape.Lets binds -> getVals binds | _ -> [])
let exns = tycons |> List.filter (fun (tycon: Tycon) -> tycon.IsExceptionDecl)
@@ -14056,7 +14129,7 @@ module MutRecBindingChecking =
// Add the modules being defined
let envForDecls = (envForDecls, mspecs) ||> List.fold ((if report then AddLocalSubModuleAndReport cenv.tcSink scopem else AddLocalSubModule) cenv.g cenv.amap m)
// Process the 'open' declarations
- let envForDecls = (envForDecls, opens) ||> List.fold (fun env (mp, m) -> TcOpenDecl cenv.tcSink cenv.g cenv.amap m scopem env mp)
+ let envForDecls = (envForDecls, opens) ||> List.fold (fun env (mp, m, moduleRange) -> TcOpenDecl cenv.tcSink cenv.g cenv.amap m moduleRange env mp)
// Add the type definitions being defined
let envForDecls = (if report then AddLocalTyconsAndReport cenv.tcSink scopem else AddLocalTycons) cenv.g cenv.amap m tycons envForDecls
// Add the exception definitions being defined
@@ -14456,7 +14529,7 @@ module TyconConstraintInference =
// Repeatedly eliminate structural type definitions whose structural component types no longer support
// comparison. On the way record type variables which are support the comparison relation.
let rec loop (assumedTycons: Set) (assumedTypars: Set) =
- let assumedTyparsAcc = ref assumedTypars
+ let mutable assumedTyparsAcc = assumedTypars
// Checks if a field type supports the 'comparison' constraint based on the assumptions about the type constructors
// and type parameters.
@@ -14472,7 +14545,7 @@ module TyconConstraintInference =
// Within structural types, type parameters can be optimistically assumed to have comparison
// We record the ones for which we have made this assumption.
elif tycon.TyparsNoRange |> List.exists (fun tp2 -> typarRefEq tp tp2) then
- assumedTyparsAcc := (!assumedTyparsAcc).Add(tp.Stamp)
+ assumedTyparsAcc <- assumedTyparsAcc.Add(tp.Stamp)
true
else
@@ -14552,10 +14625,10 @@ module TyconConstraintInference =
res)
- if newSet = assumedTycons && assumedTypars = !assumedTyparsAcc then
- newSet, !assumedTyparsAcc
+ if newSet = assumedTycons && assumedTypars = assumedTyparsAcc then
+ newSet, assumedTyparsAcc
else
- loop newSet !assumedTyparsAcc
+ loop newSet assumedTyparsAcc
let uneliminatedTycons, assumedTyparsActual = loop initialAssumedTycons initialAssumedTypars
@@ -14587,7 +14660,7 @@ module TyconConstraintInference =
// Repeatedly eliminate structural type definitions whose structural component types no longer support
// equality. On the way add type variables which are support the equality relation
let rec loop (assumedTycons: Set) (assumedTypars: Set) =
- let assumedTyparsAcc = ref assumedTypars
+ let mutable assumedTyparsAcc = assumedTypars
// Checks if a field type supports the 'equality' constraint based on the assumptions about the type constructors
// and type parameters.
@@ -14601,7 +14674,7 @@ module TyconConstraintInference =
// Within structural types, type parameters can be optimistically assumed to have equality
// We record the ones for which we have made this assumption.
elif tycon.Typars(tycon.Range) |> List.exists (fun tp2 -> typarRefEq tp tp2) then
- assumedTyparsAcc := (!assumedTyparsAcc).Add(tp.Stamp)
+ assumedTyparsAcc <- assumedTyparsAcc.Add(tp.Stamp)
true
else
false
@@ -14681,10 +14754,10 @@ module TyconConstraintInference =
res)
- if newSet = assumedTycons && assumedTypars = !assumedTyparsAcc then
- newSet, !assumedTyparsAcc
+ if newSet = assumedTycons && assumedTypars = assumedTyparsAcc then
+ newSet, assumedTyparsAcc
else
- loop newSet !assumedTyparsAcc
+ loop newSet assumedTyparsAcc
let uneliminatedTycons, assumedTyparsActual = loop initialAssumedTycons initialAssumedTypars
@@ -16931,13 +17004,13 @@ and TcSignatureElementsNonMutRec cenv parent typeNames endm env defs =
return! Eventually.fold (TcSignatureElementNonMutRec cenv parent typeNames endm) env defs
}
-and TcSignatureElementsMutRec cenv parent typeNames endm mutRecNSInfo envInitial (defs: SynModuleSigDecl list) =
+and TcSignatureElementsMutRec cenv parent typeNames m mutRecNSInfo envInitial (defs: SynModuleSigDecl list) =
eventually {
- let m = match defs with [] -> endm | _ -> defs |> List.map (fun d -> d.Range) |> List.reduce unionRanges
- let scopem = (defs, endm) ||> List.foldBack (fun h m -> unionRanges h.Range m)
+ let m = match defs with [] -> m | _ -> defs |> List.map (fun d -> d.Range) |> List.reduce unionRanges
+ let scopem = (defs, m) ||> List.foldBack (fun h m -> unionRanges h.Range m)
let mutRecDefns =
- let rec loop isNamespace defs: MutRecSigsInitialData =
+ let rec loop isNamespace moduleRange defs: MutRecSigsInitialData =
((true, true), defs) ||> List.collectFold (fun (openOk, moduleAbbrevOk) def ->
match def with
| SynModuleSigDecl.Types (typeSpecs, _) ->
@@ -16946,7 +17019,7 @@ and TcSignatureElementsMutRec cenv parent typeNames endm mutRecNSInfo envInitial
| SynModuleSigDecl.Open (lid, m) ->
if not openOk then errorR(Error(FSComp.SR.tcOpenFirstInMutRec(), m))
- let decls = [ MutRecShape.Open (MutRecDataForOpen(lid, m)) ]
+ let decls = [ MutRecShape.Open (MutRecDataForOpen(lid, m, moduleRange)) ]
decls, (openOk, moduleAbbrevOk)
| SynModuleSigDecl.Exception (SynExceptionSig(exnRepr, members, _), _) ->
@@ -16960,9 +17033,9 @@ and TcSignatureElementsMutRec cenv parent typeNames endm mutRecNSInfo envInitial
let decls = [ MutRecShape.Lets vspec ]
decls, (false, false)
- | SynModuleSigDecl.NestedModule(compInfo, isRec, synDefs, _) ->
+ | SynModuleSigDecl.NestedModule(compInfo, isRec, synDefs, moduleRange) ->
if isRec then warning(Error(FSComp.SR.tcRecImplied(), compInfo.Range))
- let mutRecDefs = loop false synDefs
+ let mutRecDefs = loop false moduleRange synDefs
let decls = [MutRecShape.Module (compInfo, mutRecDefs)]
decls, (false, false)
@@ -16978,7 +17051,7 @@ and TcSignatureElementsMutRec cenv parent typeNames endm mutRecNSInfo envInitial
error(Error(FSComp.SR.tcUnsupportedMutRecDecl(), def.Range)))
|> fst
- loop (match parent with ParentNone -> true | Parent _ -> false) defs
+ loop (match parent with ParentNone -> true | Parent _ -> false) m defs
return TcDeclarations.TcMutRecSignatureDecls cenv envInitial parent typeNames emptyUnscopedTyparEnv m scopem mutRecNSInfo mutRecDefns
}
@@ -17157,7 +17230,7 @@ let rec TcModuleOrNamespaceElementNonMutRec (cenv: cenv) parent typeNames scopem
| SynModuleDecl.NamespaceFragment(SynModuleOrNamespace(longId, isRec, kind, defs, xml, attribs, vis, m)) ->
- if !progress then dprintn ("Typecheck implementation " + textOfLid longId)
+ if progress then dprintn ("Typecheck implementation " + textOfLid longId)
let endm = m.EndRange
do for id in longId do
@@ -17244,14 +17317,14 @@ and TcModuleOrNamespaceElementsNonMutRec cenv parent typeNames endm (defsSoFar,
}
/// The mutually recursive case for a sequence of declarations (and nested modules)
-and TcModuleOrNamespaceElementsMutRec cenv parent typeNames endm envInitial mutRecNSInfo (defs: SynModuleDecl list) =
+and TcModuleOrNamespaceElementsMutRec cenv parent typeNames m envInitial mutRecNSInfo (defs: SynModuleDecl list) =
eventually {
- let m = match defs with [] -> endm | _ -> defs |> List.map (fun d -> d.Range) |> List.reduce unionRanges
- let scopem = (defs, endm) ||> List.foldBack (fun h m -> unionRanges h.Range m)
+ let m = match defs with [] -> m | _ -> defs |> List.map (fun d -> d.Range) |> List.reduce unionRanges
+ let scopem = (defs, m) ||> List.foldBack (fun h m -> unionRanges h.Range m)
let (mutRecDefns, (_, _, Attributes synAttrs)) =
- let rec loop isNamespace attrs defs: (MutRecDefnsInitialData * _) =
+ let rec loop isNamespace moduleRange attrs defs: (MutRecDefnsInitialData * _) =
((true, true, attrs), defs) ||> List.collectFold (fun (openOk, moduleAbbrevOk, attrs) def ->
match ElimModuleDoBinding def with
@@ -17268,15 +17341,15 @@ and TcModuleOrNamespaceElementsMutRec cenv parent typeNames endm envInitial mutR
else List.map (List.singleton >> MutRecShape.Lets) binds
binds, (false, false, attrs)
- | SynModuleDecl.NestedModule(compInfo, isRec, synDefs, _isContinuingModule, _) ->
+ | SynModuleDecl.NestedModule(compInfo, isRec, synDefs, _isContinuingModule, moduleRange) ->
if isRec then warning(Error(FSComp.SR.tcRecImplied(), compInfo.Range))
- let mutRecDefs, (_, _, attrs) = loop false attrs synDefs
+ let mutRecDefs, (_, _, attrs) = loop false moduleRange attrs synDefs
let decls = [MutRecShape.Module (compInfo, mutRecDefs)]
decls, (false, false, attrs)
| SynModuleDecl.Open (LongIdentWithDots(lid, _), m) ->
if not openOk then errorR(Error(FSComp.SR.tcOpenFirstInMutRec(), m))
- let decls = [ MutRecShape.Open (MutRecDataForOpen(lid, m)) ]
+ let decls = [ MutRecShape.Open (MutRecDataForOpen(lid, m, moduleRange)) ]
decls, (openOk, moduleAbbrevOk, attrs)
| SynModuleDecl.Exception (SynExceptionDefn(repr, members, _), _m) ->
@@ -17300,7 +17373,7 @@ and TcModuleOrNamespaceElementsMutRec cenv parent typeNames endm envInitial mutR
| (SynModuleDecl.NamespaceFragment _ as d) -> error(Error(FSComp.SR.tcUnsupportedMutRecDecl(), d.Range)))
- loop (match parent with ParentNone -> true | Parent _ -> false) [] defs
+ loop (match parent with ParentNone -> true | Parent _ -> false) m [] defs
let tpenv = emptyUnscopedTyparEnv
let mutRecDefnsChecked, envAfter = TcDeclarations.TcMutRecDefinitions cenv envInitial parent typeNames tpenv m scopem mutRecNSInfo mutRecDefns
@@ -17441,27 +17514,15 @@ let ApplyDefaults cenv g denvAtEnd m mexpr extraAttribs =
try
let unsolved = FSharp.Compiler.FindUnsolved.UnsolvedTyparsOfModuleDef g cenv.amap denvAtEnd (mexpr, extraAttribs)
- GeneralizationHelpers.CanonicalizePartialInferenceProblem (cenv, denvAtEnd, m) unsolved
+ ConstraintSolver.CanonicalizePartialInferenceProblem cenv.css denvAtEnd m unsolved
- let applyDefaults priority =
- unsolved |> List.iter (fun tp ->
+ // The priority order comes from the order of declaration of the defaults in FSharp.Core.
+ for priority = 10 downto 0 do
+ unsolved |> List.iter (fun tp ->
if not tp.IsSolved then
// Apply the first default. If we're defaulting one type variable to another then
// the defaults will be propagated to the new type variable.
- tp.Constraints |> List.iter (fun tpc ->
- match tpc with
- | TyparConstraint.DefaultsTo(priority2, ty2, m) when priority2 = priority ->
- let ty1 = mkTyparTy tp
- if not tp.IsSolved && not (typeEquiv cenv.g ty1 ty2) then
- let csenv = MakeConstraintSolverEnv ContextInfo.NoContext cenv.css m denvAtEnd
- TryD (fun () -> ConstraintSolver.SolveTyparEqualsType csenv 0 m NoTrace ty1 ty2)
- (fun e -> solveTypAsError cenv denvAtEnd m ty1
- ErrorD(ErrorFromApplyingDefault(g, denvAtEnd, tp, ty2, e, m)))
- |> RaiseOperationResult
- | _ -> ()))
-
- for priority = 10 downto 0 do
- applyDefaults priority
+ ConstraintSolver.ApplyTyparDefaultAtPriority denvAtEnd cenv.css priority tp)
// OK, now apply defaults for any unsolved HeadTypeStaticReq
unsolved |> List.iter (fun tp ->
diff --git a/src/fsharp/TypeRelations.fs b/src/fsharp/TypeRelations.fs
index dd32a6ee00..9878880972 100755
--- a/src/fsharp/TypeRelations.fs
+++ b/src/fsharp/TypeRelations.fs
@@ -133,7 +133,7 @@ let ChooseTyparSolutionAndRange (g: TcGlobals) amap (tp:Typar) =
match tpc with
| TyparConstraint.CoercesTo(x, m) ->
join m x, m
- | TyparConstraint.MayResolveMember(TTrait(_, _, _, _, _, _), m) ->
+ | TyparConstraint.MayResolveMember(_traitInfo, m) ->
maxSoFar, m
| TyparConstraint.SimpleChoice(_, m) ->
errorR(Error(FSComp.SR.typrelCannotResolveAmbiguityInPrintf(), m))
diff --git a/src/fsharp/UnicodeLexing.fs b/src/fsharp/UnicodeLexing.fs
index c776a1f1f7..70a253da1b 100755
--- a/src/fsharp/UnicodeLexing.fs
+++ b/src/fsharp/UnicodeLexing.fs
@@ -22,50 +22,15 @@ let FunctionAsLexbuf (supportsFeature: Features.LanguageFeature -> bool, bufferF
let SourceTextAsLexbuf (supportsFeature: Features.LanguageFeature -> bool, sourceText) =
LexBuffer.FromSourceText(supportsFeature, sourceText)
-// The choice of 60 retries times 50 ms is not arbitrary. The NTFS FILETIME structure
-// uses 2 second resolution for LastWriteTime. We retry long enough to surpass this threshold
-// plus 1 second. Once past the threshold the incremental builder will be able to retry asynchronously based
-// on plain old timestamp checking.
-//
-// The sleep time of 50ms is chosen so that we can respond to the user more quickly for Intellisense operations.
-//
-// This is not run on the UI thread for VS but it is on a thread that must be stopped before Intellisense
-// can return any result except for pending.
-let retryDelayMilliseconds = 50
-let numRetries = 60
-
-/// Standard utility to create a Unicode LexBuffer
-///
-/// One small annoyance is that LexBuffers and not IDisposable. This means
-/// we can't just return the LexBuffer object, since the file it wraps wouldn't
-/// get closed when we're finished with the LexBuffer. Hence we return the stream,
-/// the reader and the LexBuffer. The caller should dispose the first two when done.
-let UnicodeFileAsLexbuf (supportsFeature: Features.LanguageFeature -> bool, filename, codePage: int option, retryLocked: bool): Lexbuf =
- // Retry multiple times since other processes may be writing to this file.
- let rec getSource retryNumber =
- try
- // Use the .NET functionality to auto-detect the unicode encoding
- use stream = FileSystem.FileStreamReadShim(filename)
- use reader =
- match codePage with
- | None -> new StreamReader(stream,true)
- | Some n -> new StreamReader(stream,System.Text.Encoding.GetEncoding(n))
- reader.ReadToEnd()
- with
- // We can get here if the file is locked--like when VS is saving a file--we don't have direct
- // access to the HRESULT to see that this is EONOACCESS.
- | :? System.IO.IOException as err when retryLocked && err.GetType() = typeof ->
- // This second check is to make sure the exception is exactly IOException and none of these for example:
- // DirectoryNotFoundException
- // EndOfStreamException
- // FileNotFoundException
- // FileLoadException
- // PathTooLongException
- if retryNumber < numRetries then
- System.Threading.Thread.Sleep (retryDelayMilliseconds)
- getSource (retryNumber + 1)
- else
- reraise()
- let source = getSource 0
- let lexbuf = LexBuffer<_>.FromChars(supportsFeature, source.ToCharArray())
- lexbuf
+let StreamReaderAsLexbuf (supportsFeature: Features.LanguageFeature -> bool, reader: StreamReader) =
+ let mutable isFinished = false
+ FunctionAsLexbuf (supportsFeature, fun (chars, start, length) ->
+ if isFinished then 0
+ else
+ let nBytesRead = reader.Read(chars, start, length)
+ if nBytesRead = 0 then
+ isFinished <- true
+ 0
+ else
+ nBytesRead
+ )
diff --git a/src/fsharp/UnicodeLexing.fsi b/src/fsharp/UnicodeLexing.fsi
index 2478c7f857..a3f0fb8fb3 100755
--- a/src/fsharp/UnicodeLexing.fsi
+++ b/src/fsharp/UnicodeLexing.fsi
@@ -2,6 +2,7 @@
module internal FSharp.Compiler.UnicodeLexing
+open System.IO
open FSharp.Compiler.Features
open FSharp.Compiler.Text
open Microsoft.FSharp.Text
@@ -10,5 +11,7 @@ open Internal.Utilities.Text.Lexing
type Lexbuf = LexBuffer
val internal StringAsLexbuf: (Features.LanguageFeature -> bool) * string -> Lexbuf
val public FunctionAsLexbuf: (Features.LanguageFeature -> bool) * (char [] * int * int -> int) -> Lexbuf
-val public UnicodeFileAsLexbuf: (Features.LanguageFeature -> bool) * string * int option * (*retryLocked*) bool -> Lexbuf
val public SourceTextAsLexbuf: (Features.LanguageFeature -> bool) * ISourceText -> Lexbuf
+
+/// Will not dispose of the stream reader.
+val public StreamReaderAsLexbuf: (Features.LanguageFeature -> bool) * StreamReader -> Lexbuf
diff --git a/src/fsharp/ast.fs b/src/fsharp/ast.fs
index f5a8382505..524f73965e 100644
--- a/src/fsharp/ast.fs
+++ b/src/fsharp/ast.fs
@@ -898,13 +898,13 @@ and
[]
SynIndexerArg =
- | Two of SynExpr * SynExpr
+ | Two of SynExpr * fromEnd1: bool * SynExpr * fromEnd2: bool * range1: range * range2: range
- | One of SynExpr
+ | One of SynExpr * fromEnd: bool * range
- member x.Range = match x with Two (e1, e2) -> unionRanges e1.Range e2.Range | One e -> e.Range
+ member x.Range = match x with Two (e1, _, e2, _, _, _) -> unionRanges e1.Range e2.Range | One (e, _, _) -> e.Range
- member x.Exprs = match x with Two (e1, e2) -> [e1;e2] | One e -> [e]
+ member x.Exprs = match x with Two (e1, _, e2, _, _, _) -> [e1;e2] | One (e, _, _) -> [e]
and
[]
@@ -1944,19 +1944,12 @@ let mkSynApp3 f x1 x2 x3 m = mkSynApp1 (mkSynApp2 f x1 x2 m) x3 m
let mkSynApp4 f x1 x2 x3 x4 m = mkSynApp1 (mkSynApp3 f x1 x2 x3 m) x4 m
let mkSynApp5 f x1 x2 x3 x4 x5 m = mkSynApp1 (mkSynApp4 f x1 x2 x3 x4 m) x5 m
let mkSynDotParenSet m a b c = mkSynTrifix m parenSet a b c
-let mkSynDotBrackGet m mDot a b = SynExpr.DotIndexedGet (a, [SynIndexerArg.One b], mDot, m)
+let mkSynDotBrackGet m mDot a b fromEnd = SynExpr.DotIndexedGet (a, [SynIndexerArg.One (b, fromEnd, m)], mDot, m)
let mkSynQMarkSet m a b c = mkSynTrifix m qmarkSet a b c
let mkSynDotBrackSliceGet m mDot arr sliceArg = SynExpr.DotIndexedGet (arr, [sliceArg], mDot, m)
let mkSynDotBrackSeqSliceGet m mDot arr (argsList: list) =
- let notSliced=[ for arg in argsList do
- match arg with
- | SynIndexerArg.One x -> yield x
- | _ -> () ]
- if notSliced.Length = argsList.Length then
- SynExpr.DotIndexedGet (arr, [SynIndexerArg.One (SynExpr.Tuple (false, notSliced, [], unionRanges (List.head notSliced).Range (List.last notSliced).Range))], mDot, m)
- else
- SynExpr.DotIndexedGet (arr, argsList, mDot, m)
+ SynExpr.DotIndexedGet (arr, argsList, mDot, m)
let mkSynDotParenGet lhsm dotm a b =
match b with
@@ -2229,7 +2222,7 @@ let noInferredTypars = SynValTyparDecls([], false, [])
type LexerIfdefStackEntry = IfDefIf | IfDefElse
type LexerIfdefStackEntries = (LexerIfdefStackEntry * range) list
-type LexerIfdefStack = LexerIfdefStackEntries ref
+type LexerIfdefStack = LexerIfdefStackEntries
/// Specifies how the 'endline' function in the lexer should continue after
/// it reaches end of line or eof. The options are to continue with 'token' function
diff --git a/src/fsharp/fsc.fs b/src/fsharp/fsc.fs
index 2d3f5fd5fc..a12fd76dd3 100755
--- a/src/fsharp/fsc.fs
+++ b/src/fsharp/fsc.fs
@@ -102,7 +102,7 @@ let ConsoleErrorLoggerUpToMaxErrors (tcConfigB: TcConfigBuilder, exiter : Exiter
member __.HandleIssue(tcConfigB, err, isError) =
DoWithErrorColor isError (fun () ->
let diag = OutputDiagnostic (tcConfigB.implicitIncludeDir, tcConfigB.showFullPaths, tcConfigB.flatErrors, tcConfigB.errorStyle, isError)
- writeViaBufferWithEnvironmentNewLines stderr diag err
+ writeViaBuffer stderr diag err
stderr.WriteLine())
} :> ErrorLogger
@@ -209,13 +209,13 @@ let AdjustForScriptCompile(ctok, tcConfigB: TcConfigBuilder, commandLineSourceFi
commandLineSourceFiles
|> List.map combineFilePath
- let allSources = ref []
+ let mutable allSources = []
let tcConfig = TcConfig.Create(tcConfigB, validate=false)
let AddIfNotPresent(filename: string) =
- if not(!allSources |> List.contains filename) then
- allSources := filename :: !allSources
+ if not(allSources |> List.contains filename) then
+ allSources <- filename :: allSources
let AppendClosureInformation filename =
if IsScript filename then
@@ -240,16 +240,16 @@ let AdjustForScriptCompile(ctok, tcConfigB: TcConfigBuilder, commandLineSourceFi
// Find closure of .fsx files.
commandLineSourceFiles |> List.iter AppendClosureInformation
- List.rev !allSources
+ List.rev allSources
let ProcessCommandLineFlags (tcConfigB: TcConfigBuilder, setProcessThreadLocals, lcidFromCodePage, argv) =
- let inputFilesRef = ref ([] : string list)
+ let mutable inputFilesRef = []
let collect name =
let lower = String.lowercase name
if List.exists (Filename.checkSuffix lower) [".resx"] then
error(Error(FSComp.SR.fscResxSourceFileDeprecated name, rangeStartup))
else
- inputFilesRef := name :: !inputFilesRef
+ inputFilesRef <- name :: inputFilesRef
let abbrevArgs = GetAbbrevFlagSet tcConfigB true
// This is where flags are interpreted by the command line fsc.exe.
@@ -268,7 +268,7 @@ let ProcessCommandLineFlags (tcConfigB: TcConfigBuilder, setProcessThreadLocals,
if tcConfigB.pathMap <> PathMap.empty then
error(Error(FSComp.SR.fscPathMapDebugRequiresPortablePdb(), rangeCmdArgs))
- let inputFiles = List.rev !inputFilesRef
+ let inputFiles = List.rev inputFilesRef
// Check if we have a codepage from the console
match tcConfigB.lcid with
@@ -316,7 +316,7 @@ module InterfaceFileWriter =
for (TImplFile (_, _, mexpr, _, _, _)) in declaredImpls do
let denv = BuildInitialDisplayEnvForSigFileGeneration tcGlobals
- writeViaBufferWithEnvironmentNewLines os (fun os s -> Printf.bprintf os "%s\n\n" s)
+ writeViaBuffer os (fun os s -> Printf.bprintf os "%s\n\n" s)
(NicePrint.layoutInferredSigOfModuleExpr true denv infoReader AccessibleFromSomewhere range0 mexpr |> Layout.squashTo 80 |> Layout.showL)
if tcConfig.printSignatureFile <> "" then os.Dispose()
@@ -381,11 +381,11 @@ module XmlDocWriter =
if not (Filename.hasSuffixCaseInsensitive "xml" xmlfile ) then
error(Error(FSComp.SR.docfileNoXmlSuffix(), Range.rangeStartup))
(* the xmlDocSigOf* functions encode type into string to be used in "id" *)
- let members = ref []
+ let mutable members = []
let addMember id xmlDoc =
if hasDoc xmlDoc then
let doc = getDoc xmlDoc
- members := (id, doc) :: !members
+ members <- (id, doc) :: members
let doVal (v: Val) = addMember v.XmlDocSig v.XmlDoc
let doUnionCase (uc: UnionCase) = addMember uc.XmlDocSig uc.XmlDoc
let doField (rf: RecdField) = addMember rf.XmlDocSig rf.XmlDoc
@@ -422,7 +422,7 @@ module XmlDocWriter =
fprintfn os ("")
fprintfn os ("%s") assemblyName
fprintfn os ("")
- !members |> List.iter (fun (id, doc) ->
+ members |> List.iter (fun (id, doc) ->
fprintfn os "" id
fprintfn os "%s" doc
fprintfn os "")
@@ -442,7 +442,9 @@ let EncodeInterfaceData(tcConfig: TcConfig, tcGlobals, exportRemapping, generate
let useDataFiles = (tcConfig.useOptimizationDataFile || tcGlobals.compilingFslib) && not isIncrementalBuild
if useDataFiles then
let sigDataFileName = (Filename.chopExtension outfile)+".sigdata"
- File.WriteAllBytes(sigDataFileName, resource.GetBytes())
+ let bytes = resource.GetBytes()
+ use fileStream = File.Create(sigDataFileName, bytes.Length)
+ bytes.CopyTo fileStream
let resources =
[ resource ]
let sigAttr = mkSignatureDataVersionAttr tcGlobals (IL.parseILVersion Internal.Utilities.FSharpEnvironment.FSharpBinaryMetadataFormatRevision)
@@ -892,7 +894,7 @@ module MainModuleBuilder =
[ ]
let reflectedDefinitionResource =
{ Name=reflectedDefinitionResourceName
- Location = ILResourceLocation.LocalOut reflectedDefinitionBytes
+ Location = ILResourceLocation.Local(ByteMemory.FromArray(reflectedDefinitionBytes).AsReadOnly())
Access= ILResourceAccess.Public
CustomAttrsStored = storeILCustomAttrs emptyILCustomAttrs
MetadataIndex = NoMetadataIdx }
@@ -936,7 +938,7 @@ module MainModuleBuilder =
let bytes = FileSystem.ReadAllBytesShim file
name, bytes, pub
yield { Name=name
- Location=ILResourceLocation.LocalOut bytes
+ Location=ILResourceLocation.Local(ByteMemory.FromArray(bytes).AsReadOnly())
Access=pub
CustomAttrsStored=storeILCustomAttrs emptyILCustomAttrs
MetadataIndex = NoMetadataIdx }
@@ -1281,7 +1283,7 @@ module StaticLinker =
mutable visited: bool }
// Find all IL modules that are to be statically linked given the static linking roots.
- let FindDependentILModulesForStaticLinking (ctok, tcConfig: TcConfig, tcImports: TcImports, ilGlobals, ilxMainModule) =
+ let FindDependentILModulesForStaticLinking (ctok, tcConfig: TcConfig, tcImports: TcImports, ilGlobals: ILGlobals, ilxMainModule) =
if not tcConfig.standalone && tcConfig.extraStaticLinkRoots.IsEmpty then
[]
else
@@ -1297,10 +1299,10 @@ module StaticLinker =
let assumedIndependentSet = set [ "mscorlib"; "System"; "System.Core"; "System.Xml"; "Microsoft.Build.Framework"; "Microsoft.Build.Utilities" ]
begin
- let remaining = ref (computeILRefs ilxMainModule).AssemblyReferences
- while not (isNil !remaining) do
- let ilAssemRef = List.head !remaining
- remaining := List.tail !remaining
+ let mutable remaining = (computeILRefs ilGlobals ilxMainModule).AssemblyReferences
+ while not (isNil remaining) do
+ let ilAssemRef = List.head remaining
+ remaining <- List.tail remaining
if assumedIndependentSet.Contains ilAssemRef.Name || (ilAssemRef.PublicKey = Some ecmaPublicKey) then
depModuleTable.[ilAssemRef.Name] <- dummyEntry ilAssemRef.Name
else
@@ -1329,8 +1331,7 @@ module StaticLinker =
None
let opts : ILReaderOptions =
- { ilGlobals = ilGlobals
- metadataOnly = MetadataOnlyFlag.No // turn this off here as we need the actual IL code
+ { metadataOnly = MetadataOnlyFlag.No // turn this off here as we need the actual IL code
reduceMemoryUsage = tcConfig.reduceMemoryUsage
pdbDirPath = pdbDirPathOption
tryGetMetadataSnapshot = (fun _ -> None) }
@@ -1357,7 +1358,7 @@ module StaticLinker =
visited = false }
// Push the new work items
- remaining := refs.AssemblyReferences @ !remaining
+ remaining <- refs.AssemblyReferences @ remaining
| None ->
warning(Error(FSComp.SR.fscAssumeStaticLinkContainsNoDependencies(ilAssemRef.Name), rangeStartup))
@@ -1383,20 +1384,23 @@ module StaticLinker =
| None -> error(Error(FSComp.SR.fscAssemblyNotFoundInDependencySet n, rangeStartup))
]
- let remaining = ref roots
- [ while not (isNil !remaining) do
- let n = List.head !remaining
- remaining := List.tail !remaining
+ let mutable remaining = roots
+ [ while not (isNil remaining) do
+ let n = List.head remaining
+ remaining <- List.tail remaining
if not n.visited then
if verbose then dprintn ("Module "+n.name+" depends on "+GetFSharpCoreLibraryName())
n.visited <- true
- remaining := n.edges @ !remaining
+ remaining <- n.edges @ remaining
yield (n.ccu, n.data) ]
// Add all provider-generated assemblies into the static linking set
let FindProviderGeneratedILModules (ctok, tcImports: TcImports, providerGeneratedAssemblies: (ImportedBinary * _) list) =
[ for (importedBinary, provAssemStaticLinkInfo) in providerGeneratedAssemblies do
- let ilAssemRef = importedBinary.ILScopeRef.AssemblyRef
+ let ilAssemRef =
+ match importedBinary.ILScopeRef with
+ | ILScopeRef.Assembly aref -> aref
+ | _ -> failwith "Invalid ILScopeRef, expected ILScopeRef.Assembly"
if debugStaticLinking then printfn "adding provider-generated assembly '%s' into static linking set" ilAssemRef.Name
match tcImports.TryFindDllInfo(ctok, Range.rangeStartup, ilAssemRef.Name, lookupOnly=false) with
| Some dllInfo ->
@@ -1587,7 +1591,7 @@ module StaticLinker =
if (not isMscorlib && name = PrimaryAssembly.Mscorlib.Name) then
error (Error(FSComp.SR.fscStaticLinkingNoProfileMismatches(), rangeCmdArgs))
scopeRef
- let rewriteAssemblyRefsToMatchLibraries = NormalizeAssemblyRefs (ctok, tcImports)
+ let rewriteAssemblyRefsToMatchLibraries = NormalizeAssemblyRefs (ctok, ilGlobals, tcImports)
Morphs.morphILTypeRefsInILModuleMemoized ilGlobals (Morphs.morphILScopeRefsInILTypeRef (validateTargetPlatform >> rewriteExternalRefsToLocalRefs >> rewriteAssemblyRefsToMatchLibraries)) ilxMainModule
ilxMainModule)
@@ -1975,7 +1979,7 @@ let main1OfAst (ctok, legacyReferenceResolver, reduceMemoryUsage, assemblyName,
use unwindParsePhase = PushThreadBuildPhaseUntilUnwind (BuildPhase.TypeCheck)
let tcEnv0 = GetInitialTcEnv (assemblyName, rangeStartup, tcConfig, tcImports, tcGlobals)
- let tcState,topAttrs,typedAssembly,_tcEnvAtEnd =
+ let tcState, topAttrs, typedAssembly, _tcEnvAtEnd =
TypeCheck(ctok, tcConfig, tcImports, tcGlobals, errorLogger, assemblyName, NiceNameGenerator(), tcEnv0, inputs,exiter)
let generatedCcu = tcState.Ccu
@@ -2021,7 +2025,7 @@ let main2a(Args (ctok, tcConfig, tcImports, frameworkTcImports: TcImports, tcGlo
use unwindBuildPhase = PushThreadBuildPhaseUntilUnwind BuildPhase.Optimize
let optEnv0 = GetInitialOptimizationEnv (tcImports, tcGlobals)
-
+
let importMap = tcImports.GetImportMap()
let metadataVersion =
match tcConfig.metadataVersion with
diff --git a/src/fsharp/fsi/fsi.fs b/src/fsharp/fsi/fsi.fs
index c5e71384f1..9f6df3f16a 100644
--- a/src/fsharp/fsi/fsi.fs
+++ b/src/fsharp/fsi/fsi.fs
@@ -17,6 +17,12 @@ open System.IO
open System.Text
open System.Threading
open System.Reflection
+open System.Runtime.CompilerServices
+open System.Runtime.InteropServices
+#if NETSTANDARD
+open System.Runtime.Loader
+#endif
+
open FSharp.Compiler
open FSharp.Compiler.AbstractIL
open FSharp.Compiler.AbstractIL.Diagnostics
@@ -30,6 +36,7 @@ open FSharp.Compiler.Ast
open FSharp.Compiler.CompileOptions
open FSharp.Compiler.CompileOps
open FSharp.Compiler.ErrorLogger
+open FSharp.Compiler.Features
open FSharp.Compiler.InfoReader
open FSharp.Compiler.NameResolution
open FSharp.Compiler.IlxGen
@@ -495,8 +502,8 @@ type internal FsiStdinSyphon(errorWriter: TextWriter) =
let isError = true
DoWithErrorColor isError (fun () ->
errorWriter.WriteLine();
- writeViaBufferWithEnvironmentNewLines errorWriter (OutputDiagnosticContext " " syphon.GetLine) err;
- writeViaBufferWithEnvironmentNewLines errorWriter (OutputDiagnostic (tcConfig.implicitIncludeDir,tcConfig.showFullPaths,tcConfig.flatErrors,tcConfig.errorStyle,isError)) err;
+ writeViaBuffer errorWriter (OutputDiagnosticContext " " syphon.GetLine) err;
+ writeViaBuffer errorWriter (OutputDiagnostic (tcConfig.implicitIncludeDir,tcConfig.showFullPaths,tcConfig.flatErrors,tcConfig.errorStyle,isError)) err;
errorWriter.WriteLine()
errorWriter.WriteLine()
errorWriter.Flush()))
@@ -541,8 +548,8 @@ type internal ErrorLoggerThatStopsOnFirstError(tcConfigB:TcConfigBuilder, fsiStd
DoWithErrorColor isError (fun () ->
if ReportWarning tcConfigB.errorSeverityOptions err then
fsiConsoleOutput.Error.WriteLine()
- writeViaBufferWithEnvironmentNewLines fsiConsoleOutput.Error (OutputDiagnosticContext " " fsiStdinSyphon.GetLine) err
- writeViaBufferWithEnvironmentNewLines fsiConsoleOutput.Error (OutputDiagnostic (tcConfigB.implicitIncludeDir,tcConfigB.showFullPaths,tcConfigB.flatErrors,tcConfigB.errorStyle,isError)) err
+ writeViaBuffer fsiConsoleOutput.Error (OutputDiagnosticContext " " fsiStdinSyphon.GetLine) err
+ writeViaBuffer fsiConsoleOutput.Error (OutputDiagnostic (tcConfigB.implicitIncludeDir,tcConfigB.showFullPaths,tcConfigB.flatErrors,tcConfigB.errorStyle,isError)) err
fsiConsoleOutput.Error.WriteLine()
fsiConsoleOutput.Error.WriteLine()
fsiConsoleOutput.Error.Flush())
@@ -788,7 +795,7 @@ let internal SetCurrentUICultureForThread (lcid : int option) =
//----------------------------------------------------------------------------
let internal InstallErrorLoggingOnThisThread errorLogger =
- if !progress then dprintfn "Installing logger on id=%d name=%s" Thread.CurrentThread.ManagedThreadId Thread.CurrentThread.Name
+ if progress then dprintfn "Installing logger on id=%d name=%s" Thread.CurrentThread.ManagedThreadId Thread.CurrentThread.Name
SetThreadErrorLoggerNoUnwind(errorLogger)
SetThreadBuildPhaseNoUnwind(BuildPhase.Interactive)
@@ -798,7 +805,7 @@ let internal SetServerCodePages(fsiOptions: FsiCommandLineOptions) =
match fsiOptions.FsiServerInputCodePage, fsiOptions.FsiServerOutputCodePage with
| None,None -> ()
| inputCodePageOpt,outputCodePageOpt ->
- let successful = ref false
+ let mutable successful = false
Async.Start (async { do match inputCodePageOpt with
| None -> ()
| Some(n:int) ->
@@ -813,9 +820,9 @@ let internal SetServerCodePages(fsiOptions: FsiCommandLineOptions) =
// Note this modifies the real honest-to-goodness settings for the current shell.
// and the modifications hang around even after the process has exited.
Console.OutputEncoding <- encoding
- do successful := true });
+ do successful <- true });
for pause in [10;50;100;1000;2000;10000] do
- if not !successful then
+ if not successful then
Thread.Sleep(pause);
#if LOGGING_GUI
if not !successful then
@@ -871,17 +878,17 @@ type internal FsiConsoleInput(fsi: FsiEvaluationSessionHostConfig, fsiOptions: F
match consoleOpt with
| Some console when fsiOptions.EnableConsoleKeyProcessing && not fsiOptions.IsInteractiveServer ->
if List.isEmpty fsiOptions.SourceFiles then
- if !progress then fprintfn outWriter "first-line-reader-thread reading first line...";
+ if progress then fprintfn outWriter "first-line-reader-thread reading first line...";
firstLine <- Some(console());
- if !progress then fprintfn outWriter "first-line-reader-thread got first line = %A..." firstLine;
+ if progress then fprintfn outWriter "first-line-reader-thread got first line = %A..." firstLine;
consoleReaderStartupDone.Set() |> ignore
- if !progress then fprintfn outWriter "first-line-reader-thread has set signal and exited." ;
+ if progress then fprintfn outWriter "first-line-reader-thread has set signal and exited." ;
| _ ->
ignore(inReader.Peek());
consoleReaderStartupDone.Set() |> ignore
)).Start()
else
- if !progress then fprintfn outWriter "first-line-reader-thread not in use."
+ if progress then fprintfn outWriter "first-line-reader-thread not in use."
consoleReaderStartupDone.Set() |> ignore
/// Try to get the first line, if we snarfed it while probing.
@@ -951,10 +958,17 @@ type internal FsiDynamicCompiler
let assemblyReferenceAddedEvent = Control.Event()
let valueBoundEvent = Control.Event<_>()
+ let dependencyAddingEvent = Control.Event()
+ let dependencyAddedEvent = Control.Event()
+ let dependencyFailedEvent = Control.Event()
let mutable fragmentId = 0
let mutable prevIt : ValRef option = None
+ let mutable needsPackageResolution = false
+
+ let mutable subscribedDependencyManagers = HashSet()
+
let generateDebugInfo = tcConfigB.debuginfo
let valuePrinter = FsiValuePrinter(fsi, tcGlobals, generateDebugInfo, resolveAssemblyRef, outWriter)
@@ -969,7 +983,7 @@ type internal FsiDynamicCompiler
/// Add attributes
let CreateModuleFragment (tcConfigB: TcConfigBuilder, assemblyName, codegenResults) =
- if !progress then fprintfn fsiConsoleOutput.Out "Creating main module...";
+ if progress then fprintfn fsiConsoleOutput.Out "Creating main module...";
let mainModule = mkILSimpleModule assemblyName (GetGeneratedILModuleName tcConfigB.target assemblyName) (tcConfigB.target = CompilerTarget.Dll) tcConfigB.subsystemVersion tcConfigB.useHighEntropyVA (mkILTypeDefs codegenResults.ilTypeDefs) None None 0x0 (mkILExportedTypes []) ""
{ mainModule
with Manifest =
@@ -1023,7 +1037,7 @@ type internal FsiDynamicCompiler
errorLogger.AbortOnError(fsiConsoleOutput);
ReportTime tcConfig "Assembly refs Normalised";
- let mainmod3 = Morphs.morphILScopeRefsInILModuleMemoized ilGlobals (NormalizeAssemblyRefs (ctok, tcImports)) ilxMainModule
+ let mainmod3 = Morphs.morphILScopeRefsInILModuleMemoized ilGlobals (NormalizeAssemblyRefs (ctok, ilGlobals, tcImports)) ilxMainModule
errorLogger.AbortOnError(fsiConsoleOutput);
#if DEBUG
@@ -1107,6 +1121,7 @@ type internal FsiDynamicCompiler
[mkSynId rangeStdin (FsiDynamicModulePrefix + sprintf "%04d" i)]
member __.DynamicAssemblyName = assemblyName
+
member __.DynamicAssembly = (assemblyBuilder :> Assembly)
member __.EvalParsedSourceFiles (ctok, errorLogger, istate, inputs) =
@@ -1254,6 +1269,58 @@ type internal FsiDynamicCompiler
resolutions,
{ istate with tcState = tcState.NextStateAfterIncrementalFragment(tcEnv); optEnv = optEnv }
+
+ member __.EvalDependencyManagerTextFragment (packageManager:DependencyManagerIntegration.IDependencyManagerProvider,m,path: string) =
+ let path = DependencyManagerIntegration.removeDependencyManagerKey packageManager.Key path
+
+ match tcConfigB.packageManagerLines |> Map.tryFind packageManager.Key with
+ | Some lines -> tcConfigB.packageManagerLines <- Map.add packageManager.Key (lines @ [false, path, m]) tcConfigB.packageManagerLines
+ | _ -> tcConfigB.packageManagerLines <- Map.add packageManager.Key [false, path, m] tcConfigB.packageManagerLines
+
+ needsPackageResolution <- true
+
+ member fsiDynamicCompiler.CommitDependencyManagerText (ctok, istate: FsiDynamicCompilerState, lexResourceManager, errorLogger) =
+ if not needsPackageResolution then istate else
+ needsPackageResolution <- false
+
+ tcConfigB.packageManagerLines |> Seq.fold(fun istate kv ->
+ let inline snd3 (_, b, _) = b
+ let packageManagerKey, packageManagerLines = kv.Key, kv.Value
+ match packageManagerLines with
+ | [] -> istate
+ | (_, _, m)::_ ->
+ match DependencyManagerIntegration.tryFindDependencyManagerByKey tcConfigB.compilerToolPaths tcConfigB.outputDir m packageManagerKey with
+ | None ->
+ errorR(DependencyManagerIntegration.createPackageManagerUnknownError tcConfigB.compilerToolPaths tcConfigB.outputDir packageManagerKey m)
+ istate
+ | Some packageManager ->
+ let packageManagerTextLines = packageManagerLines |> List.map snd3
+ let removeErrorLinesFromScript () =
+ tcConfigB.packageManagerLines <- tcConfigB.packageManagerLines |> Map.map(fun _ l -> l |> List.filter(fun (tried, _, _) -> tried))
+ try
+ let newDependencyManager = subscribedDependencyManagers.Add(packageManagerKey)
+ if newDependencyManager then
+ Event.add dependencyAddingEvent.Trigger packageManager.DependencyAdding
+ Event.add dependencyAddedEvent.Trigger packageManager.DependencyAdded
+ Event.add dependencyFailedEvent.Trigger packageManager.DependencyFailed
+ match DependencyManagerIntegration.resolve packageManager tcConfigB.implicitIncludeDir "stdin.fsx" "stdin.fsx" m packageManagerTextLines with
+ | None -> istate // error already reported
+ | Some (succeeded, generatedScripts, additionalIncludeFolders) -> //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+ if succeeded then
+ tcConfigB.packageManagerLines <- tcConfigB.packageManagerLines |> Map.map(fun _ l -> l |> List.map(fun (_, p, m) -> true, p, m))
+ else
+ removeErrorLinesFromScript ()
+ for folder in additionalIncludeFolders do
+ tcConfigB.AddIncludePath(m, folder, "")
+ if generatedScripts.Length > 0 then
+ fsiDynamicCompiler.EvalSourceFiles(ctok, istate, m, generatedScripts, lexResourceManager, errorLogger)
+ else istate
+ with _ ->
+ // An exception occured during processing, so remove the lines causing the error from the package manager list.
+ removeErrorLinesFromScript ()
+ reraise ()
+ ) istate
+
member fsiDynamicCompiler.ProcessMetaCommandsFromInputAsInteractiveCommands(ctok, istate, sourceFile, inp) =
WithImplicitHome
(tcConfigB, directoryName sourceFile)
@@ -1261,6 +1328,7 @@ type internal FsiDynamicCompiler
ProcessMetaCommandsFromInput
((fun st (m,nm) -> tcConfigB.TurnWarningOff(m,nm); st),
(fun st (m,nm) -> snd (fsiDynamicCompiler.EvalRequireReference (ctok, st, m, nm))),
+ (fun st (packageManagerPrefix,m,nm) -> fsiDynamicCompiler.EvalDependencyManagerTextFragment (packageManagerPrefix,m,nm); st),
(fun _ _ -> ()))
(tcConfigB, inp, Path.GetDirectoryName sourceFile, istate))
@@ -1338,13 +1406,18 @@ type internal FsiDynamicCompiler
member __.ValueBound = valueBoundEvent.Publish
+ member __.DependencyAdding = dependencyAddingEvent.Publish
+
+ member __.DependencyAdded = dependencyAddedEvent.Publish
+
+ member __.DependencyFailed = dependencyFailedEvent.Publish
+
//----------------------------------------------------------------------------
// ctrl-c handling
//----------------------------------------------------------------------------
type ControlEventHandler = delegate of int -> bool
-
// One strange case: when a TAE happens a strange thing
// occurs the next read from stdin always returns
// 0 bytes, i.e. the channel will look as if it has been closed. So we check
@@ -1413,7 +1486,7 @@ type internal FsiInterruptController(fsiOptions: FsiCommandLineOptions, fsiConso
// Also sleep to give computations a bit of time to terminate
Thread.Sleep(pauseMilliseconds)
if (killThreadRequest = ThreadAbortRequest) then
- if !progress then fsiConsoleOutput.uprintnfn "%s" (FSIstrings.SR.fsiAbortingMainThread())
+ if progress then fsiConsoleOutput.uprintnfn "%s" (FSIstrings.SR.fsiAbortingMainThread())
killThreadRequest <- NoRequest
threadToKill.Abort()
()),Name="ControlCAbortThread")
@@ -1484,10 +1557,27 @@ type internal FsiInterruptController(fsiOptions: FsiCommandLineOptions, fsiConso
// - The requesting assembly (that is, the assembly that is returned by the ResolveEventArgs.RequestingAssembly property)
// was loaded without context.
//
+// On the coreclr we add an UnmanagedDll Resoution handler to ensure that native dll's can be searched for,
+// the desktop version of the Clr does not support this mechanism.
+//
// For information about contexts, see the Assembly.LoadFrom(String) method overload.
module internal MagicAssemblyResolution =
- // FxCop identifies Assembly.LoadFrom.
+
+#if NETSTANDARD
+ // Cut down AssemblyLoadContext, for loading native libraries
+ type FsiNativeAssemblyLoadContext () =
+ inherit AssemblyLoadContext()
+
+ member this.LoadNativeLibrary(path: string): IntPtr =
+ base.LoadUnmanagedDllFromPath(path)
+
+ override _.Load(_path: AssemblyName): Assembly =
+ raise (NotImplementedException())
+
+ static member NativeLoadContext = new FsiNativeAssemblyLoadContext()
+#endif
+
// See bug 5501 for details on decision to use UnsafeLoadFrom here.
// Summary:
// It is an explicit user trust decision to load an assembly with #r. Scripts are not run automatically (for example, by double-clicking in explorer).
@@ -1498,13 +1588,13 @@ module internal MagicAssemblyResolution =
let Install(tcConfigB, tcImports: TcImports, fsiDynamicCompiler: FsiDynamicCompiler, fsiConsoleOutput: FsiConsoleOutput) =
- let ResolveAssembly (ctok, m, tcConfigB, tcImports: TcImports, fsiDynamicCompiler: FsiDynamicCompiler, fsiConsoleOutput: FsiConsoleOutput, fullAssemName:string) =
+ let ResolveAssembly (ctok, m, tcConfigB, tcImports: TcImports, fsiDynamicCompiler: FsiDynamicCompiler, fsiConsoleOutput: FsiConsoleOutput, fullAssemName: string) =
try
// Grab the name of the assembly
let tcConfig = TcConfig.Create(tcConfigB,validate=false)
let simpleAssemName = fullAssemName.Split([| ',' |]).[0]
- if !progress then fsiConsoleOutput.uprintfn "ATTEMPT MAGIC LOAD ON ASSEMBLY, simpleAssemName = %s" simpleAssemName // "Attempting to load a dynamically required assembly in response to an AssemblyResolve event by using known static assembly references..."
+ if progress then fsiConsoleOutput.uprintfn "ATTEMPT MAGIC LOAD ON ASSEMBLY, simpleAssemName = %s" simpleAssemName // "Attempting to load a dynamically required assembly in response to an AssemblyResolve event by using known static assembly references..."
// Special case: Mono Windows Forms attempts to load an assembly called something like "Windows.Forms.resources"
// We can't resolve this, so don't try.
@@ -1545,12 +1635,12 @@ module internal MagicAssemblyResolution =
| OkResult (warns, [r]) -> OkResult (warns, Choice1Of2 r.resolvedPath)
| _ ->
- if !progress then fsiConsoleOutput.uprintfn "ATTEMPT LOAD, assemblyReferenceTextDll = %s" assemblyReferenceTextDll
+ if progress then fsiConsoleOutput.uprintfn "ATTEMPT LOAD, assemblyReferenceTextDll = %s" assemblyReferenceTextDll
/// Take a look through the files quoted, perhaps with explicit paths
let searchResult =
(tcConfig.referencedDLLs
|> List.tryPick (fun assemblyReference ->
- if !progress then fsiConsoleOutput.uprintfn "ATTEMPT MAGIC LOAD ON FILE, referencedDLL = %s" assemblyReference.Text
+ if progress then fsiConsoleOutput.uprintfn "ATTEMPT MAGIC LOAD ON FILE, referencedDLL = %s" assemblyReference.Text
if System.String.Compare(Filename.fileNameOfPath assemblyReference.Text, assemblyReferenceTextDll,StringComparison.OrdinalIgnoreCase) = 0 ||
System.String.Compare(Filename.fileNameOfPath assemblyReference.Text, assemblyReferenceTextExe,StringComparison.OrdinalIgnoreCase) = 0 then
Some(tcImports.TryResolveAssemblyReference (ctok, assemblyReference, ResolveAssemblyReferenceMode.Speculative))
@@ -1589,18 +1679,127 @@ module internal MagicAssemblyResolution =
stopProcessingRecovery e range0
null
+#if NETSTANDARD
+ let probingFileNames (name: string) =
+ // coreclr native library probing algorithm: https://github.com/dotnet/coreclr/blob/9773db1e7b1acb3ec75c9cc0e36bd62dcbacd6d5/src/System.Private.CoreLib/shared/System/Runtime/Loader/LibraryNameVariation.Unix.cs
+ let isRooted = Path.IsPathRooted name
+ let useSuffix s = not (name.Contains(s + ".") || name.EndsWith(s)) // linux devs often append version # to libraries I.e mydll.so.5.3.2
+ let usePrefix = name.IndexOf(Path.DirectorySeparatorChar) = -1 // If name has directory information no add no prefix
+ && name.IndexOf(Path.AltDirectorySeparatorChar) = -1
+ && name.IndexOf(Path.PathSeparator) = -1
+ && name.IndexOf(Path.VolumeSeparatorChar) = -1
+ let prefix = [| "lib" |]
+ let suffix = [|
+ if RuntimeInformation.IsOSPlatform(OSPlatform.Windows) then
+ ".dll"
+ ".exe"
+ elif RuntimeInformation.IsOSPlatform(OSPlatform.OSX) then
+ ".dylib"
+ else
+ ".so"
+ |]
+
+ [|
+ yield name // Bare name
+ if not (isRooted) then
+ for s in suffix do
+ if useSuffix s then // Suffix without prefix
+ yield (sprintf "%s%s" name s)
+ if usePrefix then
+ for p in prefix do // Suffix with prefix
+ yield (sprintf "%s%s%s" p name s)
+ elif usePrefix then
+ for p in prefix do // Prefix
+ yield (sprintf "%s%s" p name)
+ |]
+
+ // Directories to start probing in
+ // Algorithm:
+ // Search for native libraries using:
+ // 1. Include directories
+ // 2. compilerToolPath directories
+ // 3. reference dll's
+ // 4. The implicit include directory
+ let probingRoots =
+ seq {
+ yield! tcConfigB.includes
+ yield! tcConfigB.compilerToolPaths
+ yield! (tcConfigB.referencedDLLs |> Seq.map(fun ref -> Path.GetDirectoryName(ref.Text)))
+ yield tcConfigB.implicitIncludeDir
+ } |>Seq.distinct
+
+ // Computer valid dotnet-rids for this environment:
+ // https://docs.microsoft.com/en-us/dotnet/core/rid-catalog
+ //
+ // Where rid is: win, win-x64, win-x86, osx-x64, linux-x64 etc ...
+ let probingRids =
+ let processArchitecture = RuntimeInformation.ProcessArchitecture
+ let baseRid =
+ if RuntimeInformation.IsOSPlatform(OSPlatform.Windows) then "win"
+ elif RuntimeInformation.IsOSPlatform(OSPlatform.OSX) then "osx"
+ else "linux"
+ let platformRid =
+ match processArchitecture with
+ | Architecture.X64 -> baseRid + "-x64"
+ | Architecture.X86 -> baseRid + "-x86"
+ | Architecture.Arm64 -> baseRid + "-arm64"
+ | _ -> baseRid + "arm"
+ [| "any"; baseRid; platformRid |]
+
+ let resolveUnmanagedDll (assembly : Assembly) (name : string) : IntPtr =
+ ignore assembly
+
+ // Enumerate probing roots looking for a dll that matches the probing name in the probed locations
+ let probeForNativeLibrary root rid name =
+ // Look for name in root
+ probingFileNames name |> Array.tryPick(fun name ->
+ let path = Path.Combine(root, "runtimes", rid, "native", name)
+ if File.Exists(path) then
+ Some path
+ else
+ None)
+
+ let probe =
+ probingRoots |> Seq.tryPick(fun root ->
+ probingFileNames name |> Seq.tryPick(fun name ->
+ let path = Path.Combine(root, name)
+ if File.Exists(path) then
+ Some path
+ else
+ probingRids |> Seq.tryPick(fun rid -> probeForNativeLibrary root rid name)))
+
+ match probe with
+ | Some path -> FsiNativeAssemblyLoadContext.NativeLoadContext.LoadNativeLibrary(path)
+ | None -> IntPtr.Zero
+#endif
+
let rangeStdin = rangeN Lexhelp.stdinMockFilename 0
- let handler = new ResolveEventHandler(fun _ args ->
+ let resolveAssembly = new ResolveEventHandler(fun _ args ->
// Explanation: our understanding is that magic assembly resolution happens
// during compilation. So we recover the CompilationThreadToken here.
let ctok = AssumeCompilationThreadWithoutEvidence ()
ResolveAssembly (ctok, rangeStdin, tcConfigB, tcImports, fsiDynamicCompiler, fsiConsoleOutput, args.Name))
- AppDomain.CurrentDomain.add_AssemblyResolve(handler)
+ AppDomain.CurrentDomain.add_AssemblyResolve(resolveAssembly)
+
+#if NETSTANDARD
+ // netstandard 2.1 has this property, unfortunately we don't build with that yet
+ //public event Func ResolvingUnmanagedDll
+ let resolveUnmanagedHandler = Func (resolveUnmanagedDll)
+ let eventInfo = typeof.GetEvent("ResolvingUnmanagedDll")
+ if not (isNull eventInfo) then
+ eventInfo.AddEventHandler(AssemblyLoadContext.Default, resolveUnmanagedHandler)
+#endif
- { new System.IDisposable with
- member x.Dispose() = AppDomain.CurrentDomain.remove_AssemblyResolve(handler) }
+ { new System.IDisposable with
+ member x.Dispose() =
+ AppDomain.CurrentDomain.remove_AssemblyResolve(resolveAssembly)
+#if NETSTANDARD
+ if not (isNull eventInfo) then
+ eventInfo.RemoveEventHandler(AssemblyLoadContext.Default, resolveUnmanagedHandler)
+#endif
+ }
//----------------------------------------------------------------------------
// Reading stdin
@@ -1628,7 +1827,7 @@ type internal FsiStdinLexerProvider
inputOption |> Option.iter (fun t -> fsiStdinSyphon.Add (t + "\n"))
match inputOption with
| Some(null) | None ->
- if !progress then fprintfn fsiConsoleOutput.Out "End of file from TextReader.ReadLine"
+ if progress then fprintfn fsiConsoleOutput.Out "End of file from TextReader.ReadLine"
0
| Some (input:string) ->
let input = input + "\n"
@@ -1655,7 +1854,7 @@ type internal FsiStdinLexerProvider
Lexhelp.resetLexbufPos sourceFileName lexbuf
let skip = true // don't report whitespace from lexer
let defines = "INTERACTIVE"::tcConfigB.conditionalCompilationDefines
- let lexargs = mkLexargs (sourceFileName,defines, interactiveInputLightSyntaxStatus, lexResourceManager, ref [], errorLogger, PathMap.empty)
+ let lexargs = mkLexargs (sourceFileName,defines, interactiveInputLightSyntaxStatus, lexResourceManager, [], errorLogger, PathMap.empty)
let tokenizer = LexFilter.LexFilter(interactiveInputLightSyntaxStatus, tcConfigB.compilingFslib, Lexer.token lexargs skip, lexbuf)
tokenizer
@@ -1677,8 +1876,8 @@ type internal FsiStdinLexerProvider
CreateLexerForLexBuffer (Lexhelp.stdinMockFilename, lexbuf, errorLogger)
// Create a new lexer to read an "included" script file
- member __.CreateIncludedScriptLexer (sourceFileName, errorLogger) =
- let lexbuf = UnicodeLexing.UnicodeFileAsLexbuf(isFeatureSupported, sourceFileName, tcConfigB.inputCodePage, (*retryLocked*)false)
+ member __.CreateIncludedScriptLexer (sourceFileName, reader, errorLogger) =
+ let lexbuf = UnicodeLexing.StreamReaderAsLexbuf(isFeatureSupported, reader)
CreateLexerForLexBuffer (sourceFileName, lexbuf, errorLogger)
// Create a new lexer to read a string
@@ -1710,6 +1909,8 @@ type internal FsiInteractionProcessor
let referencedAssemblies = Dictionary()
+ let assemblyReferencedEvent = Control.Event